[Standards] XEP-0372 references pointing to different elements in same stanza

JC Brand lists at opkode.com
Wed Sep 1 08:30:58 UTC 2021



On 01.09.21 10:23, Sergey Ilinykh wrote:
> I mean to use both *anchor* and *xml:lang* attributes to not write a 
> complicated element query parser if one is not provided by the used libs.

What would you then put in the "anchor" attribute?

If you say just the name of the referenced element (e.g. "body" or 
"subject"), well then there is still a problem with for example XEP-0316 
MUC PEP messages where you can have multiple <text/> elements that you'd 
like to have mentions for. In such a case, the element name and 
"xml:lang" attribute aren't sufficient to know which <text/> element is 
being referred to.

If you say an id selector (e.g. #abc123), then we're back to my original 
proposal, which works for all the use-cases brought up so far, but which 
requires an "id" attribute on the referenced element.

- JC

> ср, 1 сент. 2021 г. в 11:10, JC Brand <lists at opkode.com 
> <mailto:lists at opkode.com>>:
>
>
>
>     On 01.09.21 10:06, Sergey Ilinykh wrote:
>>     why not just
>>
>>     ```
>>     <reference xml:lang="en" .../>
>>     ```
>>     ?
>
>     Because that doesn't distinguish between elements with different
>     names.
>     Is that reference based on the <body/> or <subject/> tag? Or
>     perhaps a <text/> tag?
>
>     - JC
>
>>     ср, 1 сент. 2021 г. в 10:59, JC Brand <lists at opkode.com
>>     <mailto:lists at opkode.com>>:
>>
>>         Hi Jonas
>>
>>         On 31.08.21 17:23, Jonas Schäfer wrote:
>>>         Hi JC,
>>>
>>>         This has somehow slipped past me.
>>
>>         Thanks for taking the time to respond.
>>
>>>         On Freitag, 13. August 2021 14:00:06 CEST JC Brand wrote:
>>>>         So, if you have a stanza with for example, both "subject" and "body"
>>>>         tags, we can have references for both, and use the "anchor" attribute as
>>>>         follows (I hope this comes out formatted properly once sent):
>>>>
>>>>         <message type="headline" from="school at springfield.city"  <mailto:school at springfield.city>>
>>>>               <subject id="subject">Attention Bart Simpson</subject>
>>>>               <body id="body">Please hand in your homework before the end of the
>>>>         day</body>
>>>>               <reference anchor="#subject" begin="9" end="21" type="mention"/>
>>>>         </message>
>>>         What about messages with multiple <body/> elements disambiguated by xml:lang?
>>>         Could some conceivably contain a mention while others don't? Does this require
>>>         replicating the mention element all over? Same question for <subject/>.
>>         This is another currently ambiguous and undefined use-case
>>         that I think can be solved with my proposal.
>>         As the XEP currently stands, there's no documented way to
>>         distinguish between multiple <body/> (or <subject/>) elements.
>>
>>         Going with my proposal, the solution would be to have a
>>         separate <reference/> element for each <body/>.
>>         The mention parameters ("begin", "end") will be different for
>>         each <body/> since the mentioned text usually won't be in the
>>         exact same place for the different translations.
>>
>>         The "id" attribute can have any value, it doesn't have to be
>>         "body" or "subject", those were just examples.
>>
>>>         Besides that, I don't think that adding an attribute to an element in this way
>>>         is really acceptable.
>>>
>>>         I would prefer an approach which identifies the XML element without having to
>>>         modify the XML being referenced.
>>         The only mechanism that doesn't require modifying the
>>         referenced elements that I can think of is XPath.
>>
>>         My example then becomes:
>>
>>         <message type="headline" from="school at springfield.city"  <mailto:school at springfield.city>>
>>               <subject xml:lang="en">Attention Bart Simpson</subject>
>>               <subject xml:lang="af">Aandag Bart Simpson</subject>
>>               <body xml:lang="en">Please hand in your homework before the end of the day</body>
>>               <body xml:lang="af">Handig asseblief jou huiswerk in voor die einde van die dag</body>
>>               <reference anchor="/message/subject[@xml:lang='en']" begin="9" end="21" type="mention"/>
>>               <reference anchor="/message/subject[@xml:lang='af']" begin="6" end="18" type="mention"/>
>>           </message>
>>
>>         Regards
>>         JC
>>
>>
>>>         Libraries which currently represent body as a
>>>         (mappnig of language tags to) string(s) would now need extra magic in order to
>>>         be able to set ID attributes on those. This feels like a quite major change,
>>>         and not just to References, but to literally everything else.
>>>
>>>         kind regards,
>>>         Jonas
>>>
>>>             [1]:https://www.w3.org/TR/REC-xml/#id  <https://www.w3.org/TR/REC-xml/#id>
>>
>>         _______________________________________________
>>         Standards mailing list
>>         Info: https://mail.jabber.org/mailman/listinfo/standards
>>         <https://mail.jabber.org/mailman/listinfo/standards>
>>         Unsubscribe: Standards-unsubscribe at xmpp.org
>>         <mailto:Standards-unsubscribe at xmpp.org>
>>         _______________________________________________
>>
>>
>>     _______________________________________________
>>     Standards mailing list
>>     Info:https://mail.jabber.org/mailman/listinfo/standards  <https://mail.jabber.org/mailman/listinfo/standards>
>>     Unsubscribe:Standards-unsubscribe at xmpp.org  <mailto:Standards-unsubscribe at xmpp.org>
>>     _______________________________________________
>
>     _______________________________________________
>     Standards mailing list
>     Info: https://mail.jabber.org/mailman/listinfo/standards
>     <https://mail.jabber.org/mailman/listinfo/standards>
>     Unsubscribe: Standards-unsubscribe at xmpp.org
>     <mailto:Standards-unsubscribe at xmpp.org>
>     _______________________________________________
>
>
> _______________________________________________
> Standards mailing list
> Info: https://mail.jabber.org/mailman/listinfo/standards
> Unsubscribe: Standards-unsubscribe at xmpp.org
> _______________________________________________

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/standards/attachments/20210901/5ae6c4df/attachment.html>


More information about the Standards mailing list