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 ]

Ronald Bourret wrote:
> I finally found time to read this.

thanks, as nobody react, i was thinking it was perfect !

> 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.

sure; it's much better

i will find a while to forward this proposal to ietf, one day

> 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.

We both know a similar problem:
the xml specification has been published before the namespace 
specification; in a certain way, the namespace specification is a patch 
to the xml specification
Tools that implement core specifications (xml+namespace) always (often) 
provide a mean to be "namespace aware" or not, and react differently 
when a name contains ":" or not

It is the same with an URN decoder, that could be "XUS aware" or not :
if the feature "XUS aware" is set, the URN:ISBN will be a XUS URN if 
ISBN is bound to the XUS namespace, an ISBN URN otherwise
if the feature "XUS aware" is not set, the URN:ISBN will be an ISBN URN

anyway, I retain that registring the XUS scheme is the best way, and 
would avoid many confusion that we already know about xml+namespace

> -- 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
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> The list archives are at http://lists.xml.org/archives/xml-dev/
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>


           (. .)
|   Philippe Poulard    |


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

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