- From: Peter Saint-Andre <stpeter@jabber.org>
- Date: Thu, 2 Sep 2004 19:20:10 -0500
- To: Martin Duerst <duerst@w3.org>
- Cc: xmppwg@jabber.org, uri@w3.org
Hi Martin, My apologies for the delayed reply. I have attempted to incorporate all of your feedback and have prepared an interim version of the document, which is available here: http://www.jabber.org/~stpeter/ietf/draft-saintandre-xmpp-uri-05-pre1.txt I would appreciate it if you or others would take a look at this document and let me know if I have misinterpreted any of the feedback received. Several further questions and observations below... On Tue, Aug 24, 2004 at 09:55:12AM +0900, Martin Duerst wrote: > > >> > While the "?" character is allowed in the resource identifier portion > >> > of an XMPP address (according to [XMPP-CORE]), that character can be > >> > used as a delimiter between the jid and the query parts of an xmpp: > >> > URI; therefore, any instances of the "?" character in the resource > >> > identifier portion of an XMPP address that is generated or processed > >> > as an xmpp: URI MUST be escaped as "%3F" (as described in Section > >> > 2.2.5 of [URL-GUIDE]). > >> > >> That's a good example of a case that should be expressed in the syntax > >> rules. The syntax has to express the exact form of the URI as it is > >> allowed to appear, not some intention about the parts that go into the > >> URI. So as an example, if the syntax for the resource identifier in > >> xmpp were something simple like > >> resource = *( 'a' / 'b' / 'c' / '?' ) > >> then the syntax for the resource component in the xmpp scheme syntax > >> would have to read: > >> resource = *( 'a' / 'b' / 'c' / '%3F' / '%3f' ) > >> or so. On re-reading rfc2396bis, it seems to me that this is handled by the rule contained in Section 2.2: If data for a URI component would conflict with a reserved character's purpose as a delimiter, then the conflicting data must be percent-encoded before forming the URI. So rather than describing specifically how to handle the "?" character, it seems best to include this general rule (since it might also apply to any other character that might conflict with a reserved character). Does this seem right? > >> >2.3 Generation of XMPP URIs > >> > > >> > > >> > When generating an XMPP URI, the generating application SHOULD follow > >> > these steps: > >> > >> I'm probably repeating myself, but having these steps is in clear > >> conflict with the > >> "xmpp:" jid [ "?" query ] > >> syntax rule above. Either there is an actual jid in there, or it's > >> something else that is the result of some processing. No shortcuts > >> allowed :-(. > > > >That text was discussed on the XMPP WG list in order to assist > >implementers. But I don't understand your comment; the intent is that, > >yes, there is an "actual JID" in there. Are you saying that Step 1 > >("Obtain XMPP address (JID).") is not right because a real JID would > >already have passed Steps 2 and 3? > > No. What I'm saying is that section 2.3 is basically right, but that > the syntax of the xmpp URI has to be changed to include percent-encoding, > in order to correctly reflect the result of the process described in 2.3. I've attempted to do so in the preview release referred to at the beginning of this message, but in trying to do justice to rfc2396bis I may have strayed further from the text of the previous version, so corrections are welcome. > >> > 2. Perform [IDNA] translation against the JID (in the form of a > >> > UTF-8 string). > >> > >> What IDNA translation? > > > >I think that people on the XMPP WG list meant "conversion" rather than > >"translation". > > Way not clear enough. IDNA describes various 'conversions' or > 'translations', > or whatever you call it, in different directions, and these also have > some flags that affect what actually happens. In fact it seems to me that IDNA conversion would refer only to the internationalized domain labels that make up an internationalized domain name. Certainly it would not apply to the JID as a whole, and the flags defined for IDNA are not appropriate for an XMPP node identifier or an XMPP resource identifier. So I am not sure that any reference to the ToASCII conversion operation is appropriate here, or that it is truly necessary to define how the UTF-8-to-ASCII conversion occurs. However, if it *is* necessary, then we *could* define the conversion by means of the ToASCII operation (though we would need to describe how the various parts of a JID can be understood as labels in the IDNA sense), or we could define the conversion by other means. How have other URI scheme specifications dealt with this matter? Thanks again. Peter -- Peter Saint-Andre Jabber Software Foundation http://www.jabber.org/people/stpeter.php
Received on Friday, 3 September 2004 00:20:37 UTC