Tag URIs
"BlueGM" <[email protected]>
| Newsgroups | gmane.text.yaml.general |
|---|---|
| Message-ID | <E72495B96A3F4C31A1858681853127A7@HWSBRegula> |
One other recommendation: While looking at how to match tag names, I reviewed RFC 2396 "Uniform Resource Identifiers (URI): Generic Syntax" and RFC 4151 "The 'tag' URI Scheme", both of which are linked to in section 3.2.1.2 Tags of the 1.2 specification. From reading RFC 4151 and other notes on tag matching in the 1.2 specification, it is clear to me that the tag matching process was meant to be kept as simple as possible. There is, however, a possible gotcha in RFC 2396 to keeping this process simple. The biggest problem to keeping this process simple is that RFC 2396 leaves case-sensitivity of the URI after the scheme up to the specific scheme being used. This, of course, could lead to a multitude of cases for handling case sensitivity based upon the scheme used. Practically speaking, I don't think this will be an issue for most implementations (since most will use either local tags or tags with 'tag' urls), but a simple solution to this dilemma would be to state in the 1.2 specification that tags are always case sensitive or always case insensitive, regardless of the scheme used. In my humble opinion, case sensitivity is better for this purpose as it allows for ordinal comparisons and is therefore much easier to implement when dealing with large character sets such as the Unicode character set. That is also the way that the 'tag' URI Scheme handles URIs of different case. Even then, though, there is a potential gotcha with the scheme name itself because RFC 2396 also states that while the scheme name (everything up to the first colon) should only be lower case, it also states that "For resiliency, programs interpreting URI should treat upper case letters as equivalent to lower case in scheme names." It might, therefore, be worthwhile to also explicitly state how case-sensitivity should be handled in the scheme portion of the URI tag (keeping in mind again that not all URIs use the 'tag' URI Scheme) to override the recommendation of the RFC. This, then, leads to my recommendation: Add a statement to section 3.2.1.2 Tags of the 1.2 specification that states that URIs are always to be treated as case-sensitive, regardless of the scheme used, and that this includes the scheme name (the part before the first colon). If this can not be made a "MUST" statement because of existing implementations, then perhaps use a "SHOULD" statement instead. Thanks again, Blue G ------------------------------------------------------------------------------ Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p _______________________________________________ Yaml-core mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/yaml-core