Just require URLs

Ron Daniel RDaniel at DATAFUSION.net
Wed Jun 2 00:30:39 BST 1999

A pedantic point to clarify some of the confusion over '/' in URNs
and URLs.

RFC 2141 (the URN syntax spec) says that forward
slashes SHOULD NOT be used in their unescaped form. The
pedantic point is that to really really really forbid this,
the spec would have said MUST NOT. (And I know for a fact
that the choice of SHOULD NOT vs. MUST NOT was deliberate
in this case).

The use of '/' gets bound up with the question of 'relative
URNs' and whether they are meaningful. The working group
did not reach consensus on that point, so the compromise
was to discourage the use of '/' but not totally forbid it.

RFC 2396 is correct here. You MUST use '/' to denote hierarchy.
If you want to use them for something else you MUST %encode them.
If you want to do URNs with hierarchical levels in them, you
MAY use '/' but you SHOULD NOT. (The reason for that, as I
recall, is that it is very easy to break relative URNs.)

Speaking personally, if I were sure that I would not be doing
relative identifiers, I wouldn't let the "SHOULD NOT" stop
me from using '/'.

Ron Daniel Jr.

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)

More information about the Xml-dev mailing list