OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Restrictions on existence of attributes?

[ 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?=





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS