XML Tutorial/XML Schema/enumeration — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 11:26, 26 мая 2010
Содержание
Enumerating A Simple Type
<source lang="xml">
File: Schema.xsd <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.wbex.ru" xmlns="http://www.wbex.ru" elementFormDefault="qualified"> <xs:element name = "Tshirt"> <xs:complexType> <xs:sequence> <xs:element name = "Color" type = "clothesColorType" /> <xs:element name = "Size" type = "clothesSizeType" /> </xs:sequence> </xs:complexType> </xs:element> <xs:simpleType name="clothesSizeType"> <xs:restriction base="xs:string"> <xs:enumeration value="S" /> <xs:enumeration value="M" /> <xs:enumeration value="L" /> <xs:enumeration value="XL" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="clothesColorType"> <xs:restriction base="xs:string"> <xs:enumeration value="Black" /> <xs:enumeration value="White" /> <xs:enumeration value="Green" /> <xs:enumeration value="Blue" /> </xs:restriction> </xs:simpleType>
</xs:schema> File: Data.xml <Tshirt>
<Color>Blue</Color> <Size>XL</Size>
</Tshirt> However, this would not be allowed: <Tshirt>
<Color>LightBlue</Color> <Size>10</Size>
</Tshirt></source>
enumeration Constrains the value of the data type to a defined set of values
<source lang="xml">
<xsd:simpleType name="dayType">
<xsd:restriction base="xsd:string"> <xsd:enumeration value="Monday"/> <xsd:enumeration value="Tuesday"/> <xsd:enumeration value="Wednesday"/> <xsd:enumeration value="Thursday"/> <xsd:enumeration value="Friday"/> <xsd:enumeration value="Saturday"/> <xsd:enumeration value="Sunday"/> </xsd:restriction>
</xsd:simpleType></source>
Enumeration limits a value space to a specific set of values - if a value isn"t specified in the set in the schema, it isn"t valid.
<source lang="xml">
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.wbex.ru" xmlns="http://www.wbex.ru" elementFormDefault="qualified"> <xs:simpleType name="Sizes"> <xs:restriction base="xs:string"> <xs:enumeration value="S" /> <xs:enumeration value="M" /> <xs:enumeration value="L" /> <xs:enumeration value="XL" /> </xs:restriction> </xs:simpleType>
</xs:schema></source>
Specifying a Set of Acceptable Values
<source lang="xml">
<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.wbex.ru" xmlns="http://www.wbex.ru" elementFormDefault="qualified"> <xsd:element name="continent"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Asia" /> <xsd:enumeration value="Africa" /> <xsd:enumeration value="Australia" /> <xsd:enumeration value="Europe" /> <xsd:enumeration value="North America" /> <xsd:enumeration value="South America" /> <xsd:enumeration value="Antartica" /> </xsd:restriction> </xsd:simpleType> </xsd:element>
</xsd:schema>
Data.xml: The continent element can now contain any single one of these values. <?xml version="1.0"?> <continent>Asia</continent> You can use the xsd:enumeration facet with all simple types except boolean. Each enumeration value must be unique. Enumeration values may contain white space.</source>