[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XML Schema Question: specifying restrictions for a list of
You need to do restriction and extension in two separate steps, via an intermediate named type. I don't think it's possible to declare that only one element can have default="true" and at the same time allow multiple elements to specify default="false". The XPath expression allowed in unique/key constraints aren't rich enough. However, if default="false" is never specified (or is only specified once), then I think it can probably be done. Michael Kay > -----Original Message----- > From: Peter Loh Yoon Chao [mailto:yoonchao@s...] > Sent: 07 April 2004 12:23 > To: xml-dev@l... > Subject: XML Schema Question: specifying > restrictions for a list of elements > > Hi, > > I have the following construct in my XML document: > > <computer_list> > <computer default="true">Dell</do_type> > <computer>HP</do_type> > </computer_list> > > Only 1 of <computer> can have the "default" attribute set to > true. I am > trying to specify the corresponding XML schema to enforce > this. I tried the > following among other variations: > > <xs:element name="computer_list"> > <xs:complexType> > <xs:sequence> > <xs:element maxOccurs="unbounded" > name="computer"> > <xs:complexType> > <xs:simpleContent> > <xs:restriction base="xs:string"> > <xs:enumeration value="Dell"/> > <xs:enumeration value="HP"/> > </xs:restriction> > <xs:extension base="xs:string"> > <xs:attribute name="default" > type="xs:boolean" use="optional" /> > </xs:extension> > </xs:simpleContent> > </xs:complexType> > </xs:element> > </xs:sequence> > </xs:complexType> > </xs:element> > > The above suffers from the following problems: > 1.) It allows the "default" attribute to be set to true for > any number of > <computer>. > 2.) With the <xs:restriction> element, the parser complained > that "Element > 'extension' is invalid, misplaced, or occurs too often." > > Would really appreciate any input as to the modifications required to > achieve my objectives. Thanks. > > Peter > > > ----------------------------------------------------------------- > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an > initiative of OASIS <http://www.oasis-open.org> > > The list archives are at http://lists.xml.org/archives/xml-dev/ > > To subscribe or unsubscribe from this list use the subscription > manager: <http://www.oasis-open.org/mlmanage/index.php> > >
|
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
|