[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] 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] |
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
|