[
Lists Home |
Date Index |
Thread Index
]
Le lundi 26 juin 2006 à 17:09 -0700, Howard Bartel a écrit :
> How do I specify that an element MUST have ONLY ONE of a set of possible
> attributes?
Use either RELAX NG instead of W3C ML Schema:
element foo {
attribute bar {text}|
attribute bat {text}|
attribute baz {text}
}
Or Schematron in addition to W3C XML Schema:
<xs:element name="foo">
<xs:complexType>
...
<xs:complexType>
<xs:annotation
<xs:appinfo>
<sch:rule context="foo">
<assert test="count(@bar|@bat|@baz)=1">
there should be only one of @bar, @bat and @baz.
</assert>
</xs:appinfo>
</xs:annotation>
</xs:element>
> I understand that there is a "choice" option but it seems that this only
> applies to elements, not attributes within an element.
Exactly.
Eric
--
GPG-PGP: 2A528005
Weblog:
http://eric.van-der-vlist.com/blog?t=category&a=English
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
(ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
Ceci est une partie de message=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=
|