- From: Pete Cordell <petexmldev@codalogic.com>
- Date: Sat, 16 Oct 2010 16:37:44 +0100
- To: "Costello, Roger L." <costello@mitre.org>, <xmlschema-dev@w3.org>
Original Message From: "Costello, Roger L."
Hi Roger,
Taking the following as an example...
<xs:element name="MyElement">
<xs:complexType>
<xs:sequence>
<xs:element name="Simple" type="xs:int"/>
<xs:element name="ComplexType" type="MyComplexType"/>
<xs:element ref="ComplexRef"/>
<xs:element name="ComplexLocal">
<xs:complexType>
<xs:sequence>
<xs:element name="another" type="xs:int"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Are you saying what are the implications of only allowing definitions as for
"ComplexRef"?
I would say the definitions of "Simple", "CompleType" and "ComplexRef" are
all sensible ways to go. "ComplexLocal" should be avoided.
Using definitions like "Simple" seems to be unavoidable.
In principle there's not much to choose between "CompleType" and
"ComplexRef", so it's worth deciding which mechanism you're going to use and
be consistent.
Some of the differences come into play when crossing XML namespace
boundaries. Using "CompleType" the parent would have a name in the
'importing' namespace and the children would be in the 'imported' namespace,
whereas with "ComplexRef" both parent and children would be in the
'imported' namespace which seems more natural.
But using the "ComplexRef" form would mean that every element called "Name"
would have to have the same definition irrespective of whether it was a
person's name (which may have given and family name sub-components) or a
building name etc.
So my suggestion is to use the "CompleType" form within a namespace, and the
"ComplexRef" across namespace boundaries.
(Not quite the question you asked, but I hope you can pick something out of
it!)
HTH,
Pete Cordell
Codalogic Ltd
Interface XML to C++ the easy way using XML C++
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: "Costello, Roger L." <costello@mitre.org>
To: <xmlschema-dev@w3.org>
Sent: Saturday, October 16, 2010 1:03 PM
Subject: What would be the consequence of prohibiting local element and
attribute declarations?
Hi Folks,
Suppose a team has this XML Schema design policy:
No local element or attribute declarations
are permitted. All elements and attributes
must be globally declared.
This policy strips the XML Schema language of a significant functionality.
What are the consequences? Specifically what things will not be expressible
because of this policy? Would this policy result in the creation of XML
Schemas that don't integrate with other XML technologies?
/Roger
Received on Saturday, 16 October 2010 15:38:40 UTC