[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: HTML5 and almost no namespaces

  • From: "Pete Cordell" <petexmldev@codalogic.com>
  • To: "Michael Kay" <mike@saxonica.com>,<xml-dev@l...>
  • Date: Tue, 7 Jun 2011 13:14:04 +0100

Re:  HTML5 and almost no namespaces
Original Message From: "Michael Kay"
>> That covers off a lot of simple XML cases, but doesn't handle well things 
>> like QName's as found in XSD's type element where you want to 
>> differentiate between a type specified in the XSD namespace (such as 
>> xs:string), a type specified in the local namespace or a type specified 
>> in a sister namespace. For example, I wouldn't want to have to keep 
>> doing:
>> <element name='MyElement' type='com.w3.schema.string'/>
> The problem with QNames-in-content is a failure to respect protocol 
> layering. I like to think of XML as being at layer 6 of the OSI stack, and 
> the application vocabulary at layer 7. It's fine for the layer 6 protocol 
> to use shortcuts such as namespace prefixes that it understands and knows 
> about, and its fine for the layer 7 protocol to use its own shortcuts and 
> abbreviations. The problem with QNames-in-content is that the prefixes are 
> defined in layer 6 and then used in layer 7, which means that information 
> leaks between layers in a way that it shouldn't. If you want abbreviations 
> in your application vocabulary, define them using your application 
> vocabulary.

So what might be nice to have is a standard that defines two datatypes that 
can be used in schema documents.

The first is a Reversed Domain QName that could hold values such as 
"com.w3.schema.string", and also abbreviated forms, say, like "xs..string", 
(where the double dot indicates an abbreviated form - the exact syntax isn't 
important).  For the sake of argument, let's call this an RDQName.

The second is a type that can include mappings between prefixes and expanded 
names.  It would be a set of pairs like:

    mappings="xs org.w3.schema
            xsl org.w3.xslt"

It's type name would be something like RDQNameMap.  You'd use it in a schema 
something like:

    <xs:attribute name="mappings" type="RDQNameMap"/>

It's then up to the application to know that if it reads an RDQName value of 
xs..string it should convert it to org.w3.schema.string.

How does that sound?

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
Twitter: http://twitter.com/petecordell

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


Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
First Name
Last Name
Subscribe in XML format
RSS 2.0
Atom 0.3

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.

Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.