[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Query regarding attribute grouping in XML Schema
Hi, > > <ADDRESS doorno="" streetname=""/> > > > > I have this requirement. I need to specify in the > > schema that doorno and street name must occur together > > or both should not occur at all. I can't have doorno > > without streetname and streetname without doorno. I'm > > unable to do this in the XML schema. I tried doing > > this using XML Spy v3.5. Could someone please help > > out? > > You would have to use an annotation with W3C XML Schemas. It's trivially > easy in RELAX NG: As Eric pointed out this yesterday there is also another approach using substituitionGroups. However, this solution requires you to use the xsi:type in the instance document to specify which type you will use (the one with no attributes or the type with two attributes). > <element name="ADDRESS"> > <optional> > <attribute name="doorno"/> > <attribute name="streetname"/> > </optional> > </element> I have no experience in RELAX-NG but this look like a good and simple way of specifying the above constaint. But if this is how you specify that an element should either have no attributes or both then how would you specify that element ADDRESS can optionally have attributes doorno and streetname but without the connection between the attributes? Would that be something like: <element name="ADDRESS"> <optional> <attribute name="doorno"/> </optional> <optional> <attribute name="streetname"/> </optional> </element> or? Cheers, /Eddie
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|