- From: Eddie Robertsson <eddie@allette.com.au>
- Date: Thu, 21 Jun 2001 17:50:00 +1000
- To: David Valera <David.Valera@tridion.com>
- CC: xmlschema-dev@w3.org
Hi David, David Valera wrote: > Hello, > > I am trying to restrict the value space of an element like this: > > <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" > elementFormDefault="qualified"> > <xsd:element name="Test"> > <xsd:complexType> > <xsd:simpleContent> > <xsd:restriction base="xsd:string"> > <xsd:enumeration value="hello world"></xsd:enumeration> > <xsd:enumeration value="this is me"></xsd:enumeration> > </xsd:restriction> > </xsd:simpleContent> > <xsd:attribute name="myAtt" type="xsd:string"></xsd:attribute> > </xsd:complexType> > </xsd:element> > </xsd:schema> > > The important part here is that I want to restrict an element which also has > attributes. Is this example correct? Not really. To achieve what you try to do you first need to create a global simpleType for your base type like this: <xs:simpleType name="enumType"> <xs:restriction base="xsd:string"> <xs:enumeration value="hello world"/> <xs:enumeration value="this is me"/> </xs:restriction> </xs:simpleType> When you have done this you can extend your complexType based on this enumType by adding an attribute: <xsd:element name="Test"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="enumType"> <xsd:attribute name="myAtt" type="xsd:string"></xsd:attribute> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> Cheers, /Eddie
Received on Thursday, 21 June 2001 03:48:56 UTC