[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: [XUS] An XML URN Scheme
I finally found time to read this. Overall, this seems like a sensible thing to do, as it provides a way to avoid having to register URN schemes. My only comment is that the xus namespace is not needed and the xus prefix -- really a scheme name -- should be registered. This is because (AFAIK) URNs require you to register scheme names. If xus is not registered and used as a scheme name then you run into the following problem. Suppose a processor understands both the XUS and ISBN schemes. Now suppose I bind the prefix ISBN to the XUS namespace. There is no way for the processor to determine if a URN starting with URN:ISBN: is an XUS URN or an ISBN URN. While I admit this is a bad idea, it shouldn't be possible. -- Ron Philippe Poulard wrote: > I don't know if anybody already designed an URN scheme for XML; here is > a proposal: I call it the "XML URN Scheme", or XUS. > > ========= > > URNs are logical names used to identify resources. XUS defines an URN > Scheme for XML documents that works on a delegation model. > As XUS (XML URN Scheme) is used exclusively for XML documents, it uses > namespace URIs to identify this scheme and the delegate scheme. > > 1 Using XUS > An URI that intends to follow the XML URN Scheme is called a XUS URN or > a XUS URI. XUS URNs are working on a delegation model : when an URN is > recognized to belong to the XML URN Scheme defined here, the last part > of the URN is interpreted with a delegate scheme. > The XUS scheme and the delegate scheme are both identified with a > namespace URI, and expressed in a XUS URN with a related prefix, as > explained below. > > * XUS syntax: > The syntax of an URI is the following : > scheme:scheme-specific-part#fragment > where the characters : and # stands for themselves. > The syntax of a XUS URI is the following : > urn:xus-prefix:scheme-prefix:scheme-part#fragment > where the characters : and # stands for themselves and: > * urn is a string that stands for itslef and denotes that the URI is > an URN > * xus-prefix is a prefix bound to the XUS namespace URI : > http://www.inria.fr/xml/xus/xml-urn-scheme. The usual prefix is xus, but > any other prefix bound to the XUS namespace URI suits. > * scheme-prefix is a prefix bound to the namespace URI of the > delegate scheme. > * scheme-part is the part scheme that depends on the delegate scheme > identified by its namespace URI. > > 2 Namespace binding > XML URN Schemes are found generally within XML documents inside which > the appropriate namespace declarations can be found. In this case, > theses declarations must be used if the XUS URN is in the scope of the > declarations, as explained in the relevant specification. > However, when used outside the scope of an XML document, a XUS > interpreter may use a given map of prefixes linked to namespace URIs, or > with a component that resolves prefixes, usually known as "namespace > resolver". > > * Precautions > A XUS URI may be used anywhere within an XML document with no particular > precaution, except when used in the DOCTYPE declaration, in an external > entity, or in the DTD internal subset. In fact, each time a reference is > made with a XUS URI before reading the XML content may cause troubles. > In this cases, the namespace binding must be provided in addition to the > document. > For this reasons, it is recommended to use XUS URIs within the XML content. > > * Namespace expansion > A XUS URI may be resolved to a raw expanded URI for comparison purpose. > The expansion consist on replacing the prefixes by their corresponding > namespaces ; the expansion is completed by escaping the characters of > the namespaces as specified in RFC 2396. > > 3 XUS interpretation > A XUS interpreter is a program that decodes XUS URNs. > A XUS interpreter used to decode a XUS URN fails to resolve such an URN > when : > * The xus-prefix prefix is not bound to the XUS namespace URI ; the > XUS interpreter must report that the URN to resolve is not a XUS URN. > * The scheme-prefix prefix is not bound to a namespace URI ; the XUS > interpreter must report that the delegate scheme is missing. > * The scheme-prefix prefix is bound to the XUS namespace URI ; the > XUS interpreter must report that the delegate scheme is invalid. > * The delegate scheme is not known by the interpreter ; the XUS > interpreter must report that the delegate scheme is unknown. > * The delegate scheme fails ; the XUS interpreter must report that > the delegate scheme fails. > A delegate scheme is known by the XUS interpreter if this scheme has > itself an interpreter that can be invoked by the XUS interpreter. > If the XUS interpreter succeed in decoding the URI, it returns the > following components : > scheme the string urn > scheme-specific-part the string that follows urn: > xus-prefix the prefix used for the XML URN Scheme > xus-uri the XUS namespace URI > http://www.inria.fr/xml/xus/xml-urn-scheme > scheme-prefix the prefix used for the delegate scheme > scheme-uri the namespace URI of the delegate scheme > scheme-part the part scheme that follows scheme-prefix: > scheme-components the components returned by the delegate scheme > > 4 Example > <?xml version="1.0" encoding="iso-8859-1"?> > <document > xmlns:xus="http://www.inria.fr/xml/xus/xml-urn-scheme"> > xmlns:msps="http://www.acme.org/my-special-purpose-scheme"> > <content> > <p><a href='urn:xus:msps:acme-fields-here'>My document</a></p> > </content> > </document> > > ========= > > is it usefull ? tomorrow, i'll post a delegate XUS scheme for a Document > Management System >
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|