OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] [XUS] An XML URN Scheme

[ Lists Home | Date Index | Thread Index ]
  • To: Philippe Poulard <Philippe.Poulard@sophia.inria.fr>
  • Subject: Re: [xml-dev] [XUS] An XML URN Scheme
  • From: Ronald Bourret <rpbourret@rpbourret.com>
  • Date: Tue, 01 Mar 2005 22:03:31 -0800
  • Cc: xml-dev@lists.xml.org
  • In-reply-to: <421CA83B.7050508@sophia.inria.fr>
  • References: <421CA83B.7050508@sophia.inria.fr>
  • User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)

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


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS