XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] A proposal for application level XML 'namespaces'

Oops, I missed a case in my examples at the end.  Microsoft could naturally 
choose not to register any short prefixes and do:

<osp.osp>
        <os>com.microsoft.osp.win8</os>
</osp.osp>


Pete Cordell
Codalogic Ltd
Interface XML to C++ the easy way using C++ XML
data binding to convert XSD schemas to C++ classes.
Visit http://codalogic.com/lmx/ or http://www.xml2cpp.com
for more info
----- Original Message ----- 
From: "Pete Cordell" <petexmldev@codalogic.com>
To: <xml-dev@lists.xml.org>
Cc: "John Cowan" <cowan@ccil.org>
Sent: Monday, October 03, 2011 10:42 AM
Subject: Re: [xml-dev] A proposal for application level XML 'namespaces'


>
> Original Message From: "John Cowan" <cowan@ccil.org>
>> Pete Cordell scripsit:
>>
>>> To allow for shorter names the XML namespace would have added to it an
>>> attribute called xml.prefixes.
>>
>> I'm with you up to here, but from here on down you are just
>> reinventing XML namespace declarations incompatibly.
>
> After some thought I've decided to align with John's comment above. 
> Consequently my 'namespace' proposal becomes:
>
> =================
> I propose making the document level element be defined as a reverse
> domain name, (e.g.: com.example.myschema), but then have child elements 
> just
> have a local name.
>
> Therefore you would have something like:
>
> <com.example.myschema>
>   <child>12</child>
> </com.example.myschema>
>
> If you use XML Schema to define your XML you'd do something like:
>
> <xs:schema xmlns:xs="...">
>   <xs:element name="com.example.myschema">
>    ...
> </xs:schema>
>
> To allow for shorter names the W3C would run an IANA like registry of 
> short
> name prefixes, such as xml, html, svg, thus allowing document elements 
> with
> <html.html>, <svg.svg> etc.  All non-registry names would have to have 
> three
> or more parts.
>
> References across namespaces would require the full reverse domain.  For
> example, if your XML uses HTML you'd do:
>
> <com.example.myschema>
>   <html.html>...</html.html>
> </com.example.myschema>
>
> Similarly for attributes.  For example, if it was felt appropriate to 
> bring
> the XML namespace under this convention (I'm not sure it is), you'd do:
>
> <com.example.myschema>
>   <child xml.id="foo">12</child>
> </com.example.myschema>
>
> That's about it for element and attribute names.  That leaves QNames.  As 
> a
> general principle I'd make QNames be reverse domain name also, for 
> example:
>
> <myQName>com.example.value1</myQName>
>
> To allow for shorter QNames, XML vocabulary designers may declare that 
> QNames in the vocabulary without any dots (e.g. "value1") are implicitly 
> associated with a particular domain (e.g. declare that "value1" is treated 
> as "com.example.value1").
>
> At the choice of the vocabulary designer, the vocabulary my allow shorter 
> prefixes by referencing some public short domain name registry similar to 
> that described for element names above.
>
> And, at the choice of the vocabulary designer, a vocabulary specific short 
> domain name registry can be used by preceding the name with a dot.  (The 
> use of the leading dot allows both the public and vocabulary specific 
> registries to be used together.)
>
>
>
> As an example of QName usage, imagine that a vocabulary exists for 
> provisioning operating systems remotely.  This is called the "Operating 
> System Provisioning" protocol.  This vocabulary has registered a short 
> domain prefix with the W3C/IANA registry of "osp", and the document 
> element looks like:
>
>    <osp.osp>...</osp.osp>
>
> The specification could declare that support of Microsoft Windows XP is 
> built in and uses the QName "xp".  Therefore to reference XP the XML 
> becomes:
>
>    <osp.osp>
>        <os>xp</os>
>    </osp.osp>
>
> This is not particularly extensible and later Microsoft may wish to 
> register Windows 8.  Microsoft could register the short prefix "ms" with 
> the public registry, and then use "ms.osp.win8" to refer to Win 8, 
> yielding:
>
>    <osp.osp>
>        <os>ms.osp.win8</os>
>    </osp.osp>
>
> (Microsoft may want to use its publicly registered short prefix in many 
> vocabularies without worrying about name clashes, which is the reason they 
> include "osp" in the QName.)
>
> Or the vocabulary could have its own custom registry in which Microsoft 
> registers "ms".  In that case it would use:
>
>    <osp.osp>
>        <os>.ms.win8</os>
>    </osp.osp>
>
> Pete Cordell
> Codalogic Ltd
> Interface XML to C++ the easy way using C++ XML
> data binding to convert XSD schemas to C++ classes.
> Visit http://codalogic.com/lmx/ or http://www.xml2cpp.com
> for more info
>
>
>
> _______________________________________________________________________
>
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>
> 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


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

Copyright 1993-2007 XML.org. This site is hosted by OASIS