- From: Pete Cordell <petexmldev@tech-know-ware.com>
- Date: Thu, 7 Jun 2007 20:47:36 +0100
- To: <xmlschema-dev@w3.org>
I've been chatting to someone on a separate list, and they want to include
whole XHTML documents with their instances (e.g. start with <xhtml>...).
The choices seem to be:
<xs:any namespace="http://www.w3.org/1999/xhtml"/>
but this allows any global element from the XHTML namespace.
Or you can do:
<xs:element xmlns:xhtml="http://www.w3.org/1999/xhtml" ref="xhtml:xthml"/>
This only allows the <xhtml> node.
The downside of the latter is that it implies to me that the XHTML is very
much a part of the containing schema, whereas the xs:any method implies to
me that the containing schema is more of an envelope (e.g. there is some
layering going on).
Am I alone in inferring this, or do others read this sort of thing into
their schemas?
Is this why XSD 1.1 currently does not allow:
<xs:any xmlns:xhtml="http://www.w3.org/1999/xhtml" QName="xhtml:xhtml
xthml:strong"/>
(i.e. a list of desired QNames)
because you would achieve the result by using the following schema snippet:
<xs:choice xmlns:xhtml="http://www.w3.org/1999/xhtml">
<xs:element ref="xhtml:xthml"/>
<xs:element ref="xhtml:strong"/>
</xs:choice>
(although it doesn't capture whether the intent is an envelope for something
as opposed a component part.)
Any opinions?
Thanks,
Pete.
--
=============================================
Pete Cordell
Codalogic Ltd (formerly Tech-Know-Ware Ltd)
for XML Schema to C++ data binding visit
http://www.codalogic.com/lmx/
=============================================
Received on Thursday, 7 June 2007 19:48:01 UTC