[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/building-blocks/simple-types.xsd,v 1.12001/11/26 13:27:08 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:pattern value="\d{10}"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="bookID"> <xs:restriction base="xs:ID"> <xs:pattern value="b\d{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:simpleType name="date"> <xs:restriction base="xs:date"> <xs:pattern value="[^:Z]*"/> </xs:restriction> </xs:simpleType> </xs:schema>
[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/building-blocks/complex-types.xsd,v 1.12001/11/26 13:27:08 vdv Exp $ --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="elementWithID"> <xs:attribute ref="id"/> </xs:complexType> <xs:complexType name="bookTmp"> <xs:complexContent> <xs:extension base="elementWithID"> <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="available"/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="personType"> <xs:complexContent> <xs:extension base="elementWithID"> <xs:sequence> <xs:element ref="name"/> <xs:element ref="born"/> <xs:element ref="dead" minOccurs="0"/> <xs:element ref="qualification" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema>
[download]
<xs:include schemaLocation="simple-types.xsd"/> <xs:include schemaLocation="complex-types.xsd"/>
[download]
<xs:element name="book"> <xs:complexType> <xs:complexContent> <xs:restriction base="bookTmp"> <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 name="id" type="bookID"/> <xs:attribute ref="available"/> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:element>
[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/building-blocks/complex-types2.xsd,v 1.12001/11/26 13:27:08 vdv Exp $ --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="elementWithID"> <xs:attribute ref="id"/> </xs:complexType> <xs:complexType name="book"> <xs:complexContent> <xs:extension base="elementWithID"> <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="available"/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="personType"> <xs:complexContent> <xs:extension base="elementWithID"> <xs:sequence> <xs:element ref="name"/> <xs:element ref="born"/> <xs:element ref="dead" minOccurs="0"/> <xs:element ref="qualification" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema>
[download]
<xs:redefine schemaLocation="complex-types2.xsd"> <xs:complexType name="book"> <xs:complexContent> <xs:restriction base="book"> <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 name="id" type="bookID"/> <xs:attribute ref="available"/> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:redefine>[download]
<xs:element name="book" type="book"/>
[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/building-blocks/character-group.xsd,v 1.12001/11/26 13:27:08 vdv Exp $ --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:group name="character"> <xs:sequence> <xs:element ref="born"/> <xs:element ref="qualification"/> </xs:sequence> </xs:group> </xs:schema>
[download]
<xs:redefine schemaLocation="character-group.xsd"> <xs:group name="character"> <xs:sequence> <xs:element ref="name"/> <xs:group ref="character"/> </xs:sequence> </xs:group> </xs:redefine>[download]
<xs:element name="character"> <xs:complexType> <xs:group ref="character"/> <xs:attribute ref="id"/> </xs:complexType> </xs:element>
<xs:redefine schemaLocation="bar.xsd"> <xs:group name="foo"> <xs:sequence> <xs:sequence minOccurs="0"> <xs:group ref="foo"/> </xs:sequence> <xs:element ref="bar"/> </xs:sequence> </xs:group> </xs:redefine>
<xs:group name="group"> <!-- This group definition is *not* valid --> <xs:sequence> <xs:element name="foo"> <xs:complexType> <xs:group ref="group" minOccurs="0"/> </xs:complexType> </xs:element> <xs:element name="bar" type="xs:token"/> </xs:sequence> </xs:group>
[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/building-blocks/author.xsd,v 1.12001/11/26 13:27:08 vdv Exp $ --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:group name="author"> <xs:sequence> <xs:element ref="name"/> <xs:element ref="born"/> <xs:element ref="dead" minOccurs="0"/> <xs:element name="nationality" type="xs:NMTOKEN" minOccurs="0"/> </xs:sequence> </xs:group> </xs:schema>
[download]
<xs:redefine schemaLocation="author.xsd"> <xs:group name="author"> <xs:sequence> <xs:element ref="name"/> <xs:element ref="born"/> <xs:element ref="dead" minOccurs="0"/> </xs:sequence> </xs:group> </xs:redefine>[download]
<xs:element name="author"> <xs:complexType> <xs:group ref="author"/> <xs:attribute ref="id"/> </xs:complexType> </xs:element>
<xs:attributeGroup name="commonAttributes"> <xs:attribute name="id" type="xs:ID"/> <xs:attribute name="available" type="xs:boolean"/> <xs:attribute name="lang" type="xs:language"/> </xs:attributeGroup>
<xs:redefine schemaLocation="attributes.xsd"> <xs:attributeGroup name="commonAttributes"> <xs:attribute name="id" type="xs:ID"/> <xs:attribute name="lang" type="xs:language"/> </xs:attributeGroup> </xs:redefine>
<xs:pattern value=".+(Z|[+-].{5})"/>
[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/building-blocks/pattern.ent,v 1.12001/11/26 13:27:08 vdv Exp $ --> <xs:pattern value=".+(Z|[+-].{5})" xmlns:xs="http://www.w3.org/2001/XMLSchema"/>
<?xml version="1.0"?> <!DOCTYPE xs:schema[ <!ENTITY TZ-pattern SYSTEM "pattern.ent"> ]> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:simpleType name="myDate"> <xs:restriction base="xs:date"> &TZ-pattern; </xs:restriction> </xs:simpleType> <xs:element name="myDate" type="myDate"/> </xs:schema>
[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/building-blocks/pattern.xsd,v 1.12001/11/26 13:27:08 vdv Exp $ --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:simpleType name="date"> <xs:restriction base="xs:date"> <xs:pattern value=".+(Z|[+-].{5})" id="TZ-pattern"/> </xs:restriction> </xs:simpleType> <xs:element name="myDate" type="myDate"/> </xs:schema>
[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/building-blocks/xinclude.xsd,v 1.12001/11/26 13:27:08 vdv Exp $ --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xi="http://www.w3.org/2001/XInclude"> <xs:simpleType name="myDateTime"> <xs:restriction base="xs:dateTime"> <xi:include href="pattern.xsd#TZ-pattern" parse="xml"/> </xs:restriction> </xs:simpleType> <xs:element name="myDate" type="myDateTime"/> </xs:schema>
[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/simpleTypes.xsd,v 1.1 2001/11/2613:27:08 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:pattern value="\d{10}"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="bookID"> <xs:restriction base="xs:ID"> <xs:pattern value="b\d{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:simpleType name="date"> <xs:restriction base="xs:date"> <xs:pattern value="[^:Z]*"/> </xs:restriction> </xs:simpleType> </xs:schema>
[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/complexTypes.xsd,v 1.1 2001/11/2613:27:07 vdv Exp $ --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="elementWithID"> <xs:attribute ref="id"/> </xs:complexType> <xs:complexType name="bookTmp"> <xs:complexContent> <xs:extension base="elementWithID"> <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="available"/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="personType"> <xs:complexContent> <xs:extension base="elementWithID"> <xs:sequence> <xs:element ref="name"/> <xs:element ref="born"/> <xs:element ref="dead" minOccurs="0"/> <xs:element ref="qualification" minOccurs="0"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:schema>
[download]
<?xml version="1.0"?> <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/first-building-blocks.xsd,v 1.12001/11/26 13:27:07 vdv Exp $ --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:include schemaLocation="simpleTypes.xsd"/> <xs:include schemaLocation="complexTypes.xsd"/> <xs:element name="name" type="string32"/> <xs:element name="qualification" type="string255"/> <xs:element name="born" type="date"/> <xs:element name="dead" type="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="book"> <xs:complexType> <xs:complexContent> <xs:restriction base="bookTmp"> <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 name="id" type="bookID"/> <xs:attribute ref="available"/> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="author"> <xs:complexType> <xs:complexContent> <xs:restriction base="personType"> <xs:sequence> <xs:element ref="name"/> <xs:element ref="born"/> <xs:element ref="dead" minOccurs="0"/> </xs:sequence> <xs:attribute ref="id"/> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="character"> <xs:complexType> <xs:complexContent> <xs:restriction base="personType"> <xs:sequence> <xs:element ref="name"/> <xs:element ref="born"/> <xs:element ref="qualification"/> </xs:sequence> <xs:attribute ref="id"/> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:element> </xs:schema>