summaryrefslogtreecommitdiff
path: root/test/testcases/tests/level3/validation/files/book.xsd
blob: 1f395cdb1a3bef2b28cc7fec5d3e779a46343806 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <xsd:element name="book" type="bookType"/>


  <xsd:complexType name="bookType">
    <xsd:sequence>
      <xsd:element ref="title"/>
      <xsd:choice>
         <xsd:element ref="author"/>
         <xsd:element ref="editor"/>
      </xsd:choice>
      <xsd:element ref="ISBN"/>
      <xsd:element ref="edition" minOccurs ="0"/>
      <xsd:element ref="publisher"/>
      <xsd:element ref="year" minOccurs="0"/>
    </xsd:sequence>
    <xsd:attribute name="price" type="xsd:decimal"/>
    <xsd:attribute name="inStock" use="required">
       <xsd:simpleType>
          <xsd:restriction base="xsd:string">
              <xsd:enumeration value="Yes"/>
              <xsd:enumeration value="No"/>
          </xsd:restriction>
       </xsd:simpleType>
    </xsd:attribute>
  </xsd:complexType>

  <xsd:element name="title" type="xsd:string"/>
  <xsd:element name="author" type="xsd:string"/>
  <xsd:element name="ISBN" type="xsd:string"/>
  <xsd:element name="edition"  default="First">
    <xsd:simpleType>
       <xsd:restriction base="xsd:string">
          <xsd:enumeration value="First"/>
          <xsd:enumeration value="Second"/>
          <xsd:enumeration value="Third"/>
          <xsd:enumeration value="Fourth"/>
          <xsd:enumeration value="Fifth"/>
       </xsd:restriction>
    </xsd:simpleType>
  </xsd:element>
  <xsd:element name="publisher" type="xsd:string"/>
  <xsd:element name="editor" type ="xsd:string"/>
  <xsd:element name="year">
     <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:pattern value ="[0-9]{4}"/>
        </xsd:restriction>
     </xsd:simpleType>
  </xsd:element>
</xsd:schema>