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 ]

Hi Stan,

Le mardi 27 juin 2006 à 14:26 -0700, Stan Kitsis a écrit :
> Howard,
> 
> In general Xml Schema doesn't support co-occurrence constraints and the
> generic answer is to use something like Schematron.  However, there are
> exceptions and your case is one of them.  The following schema enforces
> that one and only one of a1, a2, or a3 attributes appears in the
> instance document:
> 
> <xs:element name="e1">
>   <xs:complexType>
>     <xs:attribute name="a1" />
>     <xs:attribute name="a2" />
>     <xs:attribute name="a3" />
>   </xs:complexType>
>   <xs:key name="uniqueAtt">
>     <xs:selector xpath="."/>
>     <xs:field xpath="@a1|@a2|@a3"/>
>   </xs:key>
> </xs:element>

I used to teach that trick in my trainings for this kind of situations
too, but don't advise using it any longer because:

1) the error messages that you get when there are several attributes
would be misleading for end users
2) W3C XML Schema processors differ in their interpretation of the spec
on this point and this leads to interoperability issues.

Eric


-- 
GPG-PGP: 2A528005
Did you know it? Python has now a Relax NG (partial) implementation.
                                          http://advogato.org/proj/xvif/
------------------------------------------------------------------------
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