Stewart Johnson
Usenet Archive
- Joined
- Nov 22, 2004
- Messages
- 1
- Reaction score
- 0
Hey All -
I'm stuck while trying to write a schema, hoping someone can provide me with a flash of inspiration.
One of the elements I'm writing has two attributes, both of which are optional. I want to express in the schema that there's a relationship between the two -- that the second attribute is optional only if the first one is not specified. ie:
<myElement /> <!-- valid -->
<myElement name="A" /> <!-- valid -->
<myElement myattr="true" /> <!-- invalid because name wasn't specified
-->
<myElement myattr="true" name="A" /> <!-- valid -->
So far my schema looks like this:
<element name="myElement">
<complexType>
<attribute name="name" type="string" use="optional" />
<attribute name="myattr" type="boolean" use="optional"
default="false" />
</complexType>
</element>
That captures the default values and the optional nature of the two elements, but it doesn't capture the relationship between the two. Is there any xsd construct I can use to express the relationship? I know how to do it with elements (xsd:group, xsd:choice) but not with attributes.
Thanks for any thoughts.
Stewart
I'm stuck while trying to write a schema, hoping someone can provide me with a flash of inspiration.
One of the elements I'm writing has two attributes, both of which are optional. I want to express in the schema that there's a relationship between the two -- that the second attribute is optional only if the first one is not specified. ie:
<myElement /> <!-- valid -->
<myElement name="A" /> <!-- valid -->
<myElement myattr="true" /> <!-- invalid because name wasn't specified
-->
<myElement myattr="true" name="A" /> <!-- valid -->
So far my schema looks like this:
<element name="myElement">
<complexType>
<attribute name="name" type="string" use="optional" />
<attribute name="myattr" type="boolean" use="optional"
default="false" />
</complexType>
</element>
That captures the default values and the optional nature of the two elements, but it doesn't capture the relationship between the two. Is there any xsd construct I can use to express the relationship? I know how to do it with elements (xsd:group, xsd:choice) but not with attributes.
Thanks for any thoughts.
Stewart