<xs:simpleType name="myInteger"> <xs:restriction base="xs:integer"> <xs:minInclusive value="-2"/> <xs:maxExclusive value="5"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="myInteger"> <xs:restriction> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:maxExclusive value="5"/> </xs:restriction> </xs:simpleType> <xs:minInclusive value="-2"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="schemaRecommendations"> <xs:restriction base="xs:anyURI"> <xs:enumeration value="http://www.w3.org/TR/xmlschema-0/"/> <xs:enumeration value="http://www.w3.org/TR/xmlschema-1/"/> <xs:enumeration value="http://www.w3.org/TR/xmlschema-2/"/> </xs:restriction> </xs:simpleType>
<a xml:base="http://www.w3.org/TR/" href="xmlschema-1/">
XML Schema Part 2: Datatypes
</a>
[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/creating-simple-types/notations.xml,v 1.12001/10/31 22:57:07 vdv Exp $ --> <picture type="png"> iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAABmJLR0QA/wD/AP+gvaeTAAAA CXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH0QofESYx2JhwGwAAAFZJREFUeNqlj8ENwDAI A6HqGDCWp2QQ2AP2oI9IbaQm/dRPn9EJ7m7a56DPPDgiIoKIzGyBM9Pdx+4ueXabWVUBEJHR nLNJVbfuqspMAEOxwO9r/vX3BTEnKRXtqqslAAAAAElFTkSuQmCC </picture>
[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/creating-simple-types/notations.xsd,v 1.12001/10/31 22:57:07 vdv Exp $ --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:notation name="jpeg" public="image/jpeg" system="file:///usr/bin/xv"/> <xs:notation name="gif" public="image/gif" system="file:///usr/bin/xv"/> <xs:notation name="png" public="image/png" system="file:///usr/bin/xv"/> <xs:notation name="svg" public="image/svg" system="file:///usr/bin/xsmiles"/> <xs:notation name="pdf" public="application/pdf" system="file:///usr/bin/acroread"/> <xs:simpleType name="graphicalFormat"> <xs:restriction base="xs:NOTATION"> <xs:enumeration value="jpeg"/> <xs:enumeration value="gif"/> <xs:enumeration value="png"/> <xs:enumeration value="svg"/> <xs:enumeration value="pdf"/> </xs:restriction> </xs:simpleType> <xs:element name="picture"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:base64Binary"> <xs:attribute name="type" type="graphicalFormat"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:schema>
<xs:simpleType name="standardNotations"> <xs:restriction base="xs:NOTATION"> <xs:length value="8"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="binaryImage"> <xs:restriction base="xs:hexBinary"> <xs:maxLength value="1024"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="longName"> <xs:restriction base="xs:NCName"> <xs:minLength value="6"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="httpURI"> <xs:restriction base="xs:anyURI"> <xs:pattern value="http://.*"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="CapitalizedNameWS"> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:pattern value="([A-Z]([a-z]*) ?)+"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="CapitalizedNameWS"> <xs:restriction base="xs:token"> <xs:pattern value="([A-Z]([a-z]*) ?)+"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="enumeration"> <xs:restriction base="xs:float"> <xs:enumeration value="-INF"/> <xs:enumeration value="1.618033989"/> <xs:enumeration value="3e3"/> </xs:restriction> </xs:simpleType>
<enumeration> 1.618033989 </enumeration> <enumeration> 3e3 </enumeration> <enumeration> 003000.0000 </enumeration>
<xs:simpleType name="maxExclusive"> <xs:restriction base="xs:float"> <xs:maxExclusive value="10"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="thousands"> <xs:restriction base="xs:double"> <xs:maxInclusive value="1e3"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="strictlyPositive"> <xs:restriction base="xs:double"> <xs:minExclusive value="0"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="positive"> <xs:restriction base="xs:double"> <xs:minInclusive value="0"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="nonScientific"> <xs:restriction base="xs:float"> <xs:pattern value="[^eE]*"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="noLeading0"> <xs:restriction base="xs:float"> <xs:pattern value="[^0].*"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="ModernSwissHistoricalDates">
<xs:restriction base="xs:gYear">
<xs:enumeration value="1864"/>
<xs:enumeration value="1872"/>
<xs:enumeration value="1914"/>
<xs:enumeration value="1939"/>
<xs:enumeration value="1971"/>
<xs:enumeration value="1979"/>
<xs:enumeration value="1992"/>
</xs:restriction>
</xs:simpleType>
1939
1939Z
1939+10:00
<xs:simpleType name="wakeUpTime">
<xs:restriction base="xs:time">
<xs:enumeration value="07:00:00-07:00"/>
<xs:enumeration value="07:15:00-07:00"/>
<xs:enumeration value="07:30:00-07:00"/>
<xs:enumeration value="07:45:00-07:00"/>
<xs:enumeration value="08:00:00-07:00"/>
</xs:restriction>
</xs:simpleType>
07:00:00-07:00
11:00:00-04:00
07:15:00-07:15
<xs:simpleType name="sevenOClockPST">
<xs:restriction base="xs:time">
<xs:enumeration value="07:00:00-07:00"/>
<xs:enumeration value="07:00:00"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="beforeY2K">
<xs:restriction base="xs:dateTime">
<xs:maxExclusive value="2000-01-01T00:00:00Z"/>
</xs:restriction>
</xs:simpleType>
1999-12-31T23:59:59Z
1999-12-31T23:59:59.999999999999Z
2000-01-01T11:59:59+12:00
2000-01-01T00:00:00Z
1999-12-31T09:59:59
<xs:simpleType name="AQuarterOrLess">
<xs:restriction base="xs:duration">
<xs:maxInclusive value="P3M"/>
</xs:restriction>
</xs:simpleType>
P2M
P3M
P2M30D
P2M31D
P2M30DT1S
<xs:simpleType name="afterTeaTimeInParisInSummer"> <xs:restriction base="xs:time"> <xs:minExclusive value="17:00:00+02:00"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="afterOrOnThe20th"> <xs:restriction base="xs:gDay"> <xs:minInclusive value="---20"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="AQuarterOrMore">
<xs:restriction base="xs:duration">
<xs:minInclusive value="P3M"/>
</xs:restriction>
</xs:simpleType>
P4M
P3M
P2M31D
P2M30D
P2M30DT23H59M59S
<xs:simpleType name="noTimeZone">
<xs:restriction base="xs:dateTime">
<xs:pattern value=".*T[^Z+-]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="totalDigits"> <xs:restriction base="xs:integer"> <xs:totalDigits value="5"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="fractionDigits"> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="2"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="trueOrFalse"> <xs:restriction base="xs:boolean"> <xs:pattern value="true"/> <xs:pattern value="false"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="minInclusive"> <xs:restriction base="xs:float"> <xs:minInclusive value="10"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="minInclusive2"> <xs:restriction base="minInclusive"> <xs:minInclusive value="0"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="enumeration"> <xs:restriction base="xs:float"> <xs:enumeration value="-INF"/> <xs:enumeration value="1.618033989"/> <xs:enumeration value="3e3"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="enumeration2"> <xs:restriction base="enumeration"> <xs:enumeration value="0"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="nonScientific"> <xs:restriction base="xs:float"> <xs:pattern value="[^eE]*"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="noScientificNoLeading0"> <xs:restriction base="nonScientific"> <xs:pattern value="[^0].*"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="greetings"> <xs:restriction base="xs:string"> <xs:whiteSpace value="replace"/> <xs:enumeration value="hi"/> <xs:enumeration value="hello"/> <xs:enumeration value="how do you do?"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="restricted-greetings"> <xs:restriction base="greetings"> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType>
how do you do?
how do you do?
<xs:simpleType name="minInclusive"> <xs:restriction base="xs:float"> <xs:minInclusive value="10" fixed="true"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="integer" id="integer"> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="0" fixed="true"/> </xs:restriction> </xs:simpleType>
<commaSeparated> 1, 2, 25 </commaSeparated> <valueWithUnit> 10 em </valueWithUnit>
<commaSeparated> 1 2 25 </commaSeparated> <valueWithUnit unit="em"> 10 </valueWithUnit> <valueWithUnit> 10em </valueWithUnit>
<xs:simpleType name="integerList"> <xs:list itemType="xs:integer"/> </xs:simpleType>
<xs:simpleType name="myIntegerList"> <xs:list> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:maxInclusive value="100"/> </xs:restriction> </xs:simpleType> </xs:list> </xs:simpleType>
<xs:simpleType name="myStringList"> <xs:list itemType="xs:string"/> </xs:simpleType> <xs:simpleType name="myRestrictedStringList"> <xs:restriction base="myStringList"> <xs:maxLength value="10"/> </xs:restriction> </xs:simpleType>
<myRestrictedStringList> This value has less than ten words. </myRestrictedStringList>
<myRestrictedStringList> This value has more than ten words... even if they could be spreadin less than ten "strings". </myRestrictedStringList>
<xs:simpleType name="integerOrData"> <xs:union memberTypes="xs:integer xs:date"/> </xs:simpleType>
<xs:simpleType name="myIntegerUnion"> <xs:union> <xs:simpleType> <xs:restriction base="xs:integer"/> </xs:simpleType> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="undefined"/> </xs:restriction> </xs:simpleType> </xs:union> </xs:simpleType>
<xs:simpleType name="myIntegerUnion"> <xs:union memberTypes="xs:integer"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="undefined"/> </xs:restriction> </xs:simpleType> </xs:union> </xs:simpleType>
<xs:simpleType name="listOfUnions"> <xs:list> <xs:simpleType> <xs:union memberTypes="xs:date xs:integer"/> </xs:simpleType> </xs:list> </xs:simpleType> <xs:simpleType name="UnionOfLists"> <xs:union> <xs:simpleType> <xs:list itemType="xs:date"/> </xs:simpleType> <xs:simpleType> <xs:list itemType="xs:integer"/> </xs:simpleType> </xs:union> </xs:simpleType>
<UnionOfLists> 2001-01-01 2001-01-02 </UnionOfLists> <UnionOfLists> 1 2 3 </UnionOfLists> <ListOfUnions> 2001-01-01 2001-01-02 </ListOfUnions> <ListOfUnions> 1 2 3 </ListOfUnions> <ListOfUnions> 2001-01-01 1 2 </ListOfUnions>
<UnionOfLists> 2001-01-01 1 2 </UnionOfLists>
<xs:simpleType name="word"> <xs:list> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="15"/> <xs:pattern value="\p{IsBasicLatin}*"/> </xs:restriction> </xs:simpleType> </xs:list> </xs:simpleType> <xs:simpleType name="story"> <xs:restriction base="word"> <xs:minLength value="100"/> <xs:maxLength value="200"/> </xs:restriction> </xs:simpleType>
<xs:element name="name" type="xs:token"/> <xs:element name="qualification" type="xs:token"/> <xs:element name="born" type="xs:date"/> <xs:element name="dead" type="xs:date"/> <xs:element name="isbn" type="xs:unsignedLong"/> <xs:attribute name="id" type="xs:ID"/> <xs:attribute name="available" type="xs:boolean"/> <xs:attribute name="lang" type="xs:language"/>
<xs:simpleType name="string255"> <xs:restriction base="xs:token"> <xs:maxLength value="255"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="string32"> <xs:restriction base="xs:token"> <xs:maxLength value="32"/> </xs:restriction> </xs:simpleType>
00001234567890
1
<xs:simpleType name="isbn"> <xs:restriction base="xs:unsignedLong"> <xs:totalDigits value="10"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="supportedLanguages"> <xs:restriction base="xs:language"> <xs:enumeration value="en"/> <xs:enumeration value="es"/> </xs:restriction> </xs:simpleType>
[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/first-user-dt.xsd,v 1.1 2001/11/0112:27:47 vdv Exp $ --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:simpleType name="string255"> <xs:restriction base="xs:token"> <xs:maxLength value="255"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="string32"> <xs:restriction base="xs:token"> <xs:maxLength value="32"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="isbn"> <xs:restriction base="xs:unsignedLong"> <xs:totalDigits value="10"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="supportedLanguages"> <xs:restriction base="xs:language"> <xs:enumeration value="en"/> <xs:enumeration value="es"/> </xs:restriction> </xs:simpleType> <xs:element name="name" type="string32"/> <xs:element name="qualification" type="string255"/> <xs:element name="born" type="xs:date"/> <xs:element name="dead" type="xs:date"/> <xs:element name="isbn" type="isbn"/> <xs:attribute name="id" type="xs:ID"/> <xs:attribute name="available" type="xs:boolean"/> <xs:attribute name="lang" type="supportedLanguages"/> <xs:element name="title"> <xs:complexType> <xs:simpleContent> <xs:extension base="string255"> <xs:attribute ref="lang"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="library"> <xs:complexType> <xs:sequence> <xs:element ref="book" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="author"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:element ref="born"/> <xs:element ref="dead" minOccurs="0"/> </xs:sequence> <xs:attribute ref="id"/> </xs:complexType> </xs:element> <xs:element name="book"> <xs:complexType> <xs:sequence> <xs:element ref="isbn"/> <xs:element ref="title"/> <xs:element ref="author" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="character" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute ref="id"/> <xs:attribute ref="available"/> </xs:complexType> </xs:element> <xs:element name="character"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:element ref="born"/> <xs:element ref="qualification"/> </xs:sequence> <xs:attribute ref="id"/> </xs:complexType> </xs:element> </xs:schema>