Restrictions(facets) are used to define acceptable values for XML elements or attributes. Restrictions on XML elements are called facets. | ||||||||||||||||||||||||||
By using these restrictions, we can control the kind of value that can be supplied. For instance suppose eBIZ.com want to place an restriction on the age and the condition is “only those who are above 15 and below 76 can join eBIZ.com”. We can place this restriction using schema restriction. | ||||||||||||||||||||||||||
Simple facets | ||||||||||||||||||||||||||
<xsd:element name=”age” type=”xsd:integer”> <xsd:simpleType> <xsd:restriction base=”xsd:integer”> <xsd:minInclusive value=”16″ /> <xsd:maxInclusive value=”75″ /> </xsd:restriction> </xsd:simpleType> </xsd:element> |
||||||||||||||||||||||||||
Restrictions for Data types | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
Exmple : | ||||||||||||||||||||||||||
<?xml version=”1.0″ encoding=”UTF-8″?> <xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema” targetNamespace=”http://www.ebizel.com” xmlns=”http://www.ebizel.com” elementFormDefault=”qualified”> <xsd:element name=”ebiz”> <xsd:complexType> <xsd:sequence> <xsd:element ref=”address” minOccurs=”1″ maxOccurs=”unbounded”/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name=”address”> <xsd:complexType> <xsd:sequence> <xsd:element ref=”name” minOccurs=”1″ maxOccurs=”1″/> <xsd:element ref=”age” minOccurs=”1″ maxOccurs=”1″ /> <xsd:element ref=”address_str” minOccurs=”1″ maxOccurs=”1″/> <xsd:element ref=”city” minOccurs=”1″ maxOccurs=”1″/> <xsd:element ref=”state” minOccurs=”1″ maxOccurs=”1″/> <xsd:element ref=”pin” minOccurs=”1″ maxOccurs=”1″ /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name=”name” type=”xsd:string”/> <xsd:element name=”age” type=”xsd:integer”> <xsd:simpleType> <xsd:restriction base=”xsd:integer”> <xsd:minInclusive value=”16″ /> <xsd:maxInclusive value=”75″ /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name=”address_str” type=”xsd:string”/> <xsd:element name=”city” type=”xsd:string”/> <xsd:element name=”state” type=”xsd:string”> <xsd:simpleType> <xsd:restriction base=”xsd:string”> <xsd:minLength value=”2″ /> <xsd:maxLength value=”4″ /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name=”pin” type=”xsd:integer”> <xsd:simpleType> <xsd:restriction base=”xsd:integer”> <xsd:length value=”6″ /> </xsd:restriction> </xsd:simpleType> </xsd:element> </xsd:schema> |