Can you do a one-line substitution group like that, or is that assuming I have all the typing below…
‘Cause if I can, that’s pretty cool.
tc
"A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away."
-Antoine de Saint-Exupery
Toby Considine TC9, Inc TC Chair: oBIX & WS-Calendar TC Editor: EMIX, EnergyInterop U.S. National Inst. of Standards and Tech. Smart Grid Architecture Committee
| | Email: Toby.Considine@g... Phone: (919)619-2104 http://www.tcnine.com/ blog: www.NewDaedalus.com |
From: Chris Simmons [mailto:cps@c...]
Sent: Tuesday, October 11, 2011 11:23 AM
To: xml-dev@l...
Subject: Re: Style, Substance and Typing in Schemas
On 11/10/11 15:29, Toby Considine wrote:
I have a question of Style and Substance in XSD
I have a number of top-level elements that are variants of one another. Each of these appears in multiple Types (worthy of top-lelvelness).
Let’s say we have uid as a simple base type.
<xs:element name="uid" type="UidType"/>
<xs:simpleType name="UidType">
<xs:annotation>
<xs:documentation>Unique Identifier</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
To dirty the waters further, you forgot option C:-
<xs:element name="fooID" substitutionGroup="uid"/>
Perhaps which you choose is a pragmatic one based on how the schema type system is mapped onto your other type system in whatever code base you're using.
Its not clear that there is one such mapping though which is perhaps the point you're trying to make. Do substitution groups map onto the type system? Or do you ignore that and use the element's schema-type?
Chris Simmons.