W3C home > Mailing lists > Public > xmlschema-dev@w3.org > October 2007

Re: How to specify "coupled" attibutes

From: George Cristian Bina <george@oxygenxml.com>
Date: Wed, 10 Oct 2007 11:09:04 +0300
Message-ID: <470C88A0.4040001@oxygenxml.com>
To: wayne liu <waynix@gmail.com>
Cc: xmlschema-dev@w3.org

Hi Waynix,

You cannot do that in XML Schema (at least not in the current version, 
1.0). You need to define a more relaxed schema, that is make both 
attributes optional and check the constraint at application level.
One alternative is to add a Schematron embedded rule to check that if 
one is present you have also the other one and perform both XML Schema 
validation and a validation against the Schematron embedded rules.

FWIW this is a case that is very easily handled in Relax NG.

Best Regards,
George
---------------------------------------------------------------------
George Cristian Bina - http://aboutxml.blogspot.com/
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com


wayne liu wrote:
> Hello All;
> 
> I have an element that takes two attributes as a coupled group, meaning
> either none or all of them have to be present.
> For example, if a guys wares glass, it's required that the type is
> specified.
> <SomeGuy wears-glass="yes" glass-type="contact-lense">
>   Info about this guy
> </SomeGuy>
> 
> How do I enforce this in XSD ?.  I tried attributeGroup and it's not it.
> 
> My apology if this is not the right place, in which case would someone
> please give a pointer.
> 
> Thanks a lot.
> 
> Waynix.
> 
Received on Wednesday, 10 October 2007 08:11:20 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:15:00 GMT