aboutsummaryrefslogtreecommitdiffhomepage
path: root/data/doc/sisu/model/xml/input/xsd/sax.xsd
blob: 450bfce55a13e39e7ce788dc1d08073f50a88428 (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?xml version="1.0" encoding="UTF-8"?>
<!-- sax input model, part of SiSU and under the same license -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="document">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="head"/>
        <xs:element ref="body"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="head">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="header"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="header">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="creator"/>
        <xs:element ref="date"/>
        <xs:element ref="date.available"/>
        <xs:element ref="date.created"/>
        <xs:element ref="date.issued"/>
        <xs:element ref="date.modified"/>
        <xs:element ref="date.valid"/>
        <xs:element ref="italicize"/>
        <xs:element ref="language"/>
        <xs:element ref="links"/>
        <xs:element ref="markup"/>
        <xs:element ref="rights"/>
        <xs:element ref="skin"/>
        <xs:element ref="subject"/>
        <xs:element ref="title"/>
        <xs:element ref="type"/>
        <xs:element ref="vocabulary"/>
      </xs:choice>
      <xs:attribute name="class" use="required" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="creator" type="xs:string"/>
  <xs:element name="date" type="xs:NMTOKEN"/>
  <xs:element name="date.available" type="xs:NMTOKEN"/>
  <xs:element name="date.created" type="xs:NMTOKEN"/>
  <xs:element name="date.issued" type="xs:NMTOKEN"/>
  <xs:element name="date.modified" type="xs:NMTOKEN"/>
  <xs:element name="date.valid" type="xs:NMTOKEN"/>
  <xs:element name="italicize" type="xs:string"/>
  <xs:element name="language" type="xs:NCName"/>
  <xs:element name="links" type="xs:string"/>
  <xs:element name="markup" type="xs:string"/>
  <xs:element name="rights" type="xs:string"/>
  <xs:element name="skin" type="xs:NCName"/>
  <xs:element name="subject" type="xs:string"/>
  <xs:element name="title" type="xs:string"/>
  <xs:element name="type" type="xs:NCName"/>
  <xs:element name="vocabulary" type="xs:NCName"/>
  <xs:element name="body">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="object"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="object">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="text"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="text">
    <xs:complexType mixed="true">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="b"/>
        <xs:element ref="i"/>
        <xs:element ref="endnote"/>
        <xs:element ref="u"/>
        <xs:element ref="image.path"/>
      </xs:choice>
      <xs:attribute name="class" use="required" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="endnote">
    <xs:complexType mixed="true">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="i"/>
        <xs:element ref="br"/>
      </xs:choice>
      <xs:attribute name="symbol" use="required" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="br">
    <xs:complexType/>
  </xs:element>
  <xs:element name="u">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="i"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="image.path" type="xs:string"/>
  <xs:element name="i" type="xs:string"/>
  <xs:element name="b" type="xs:string"/>
</xs:schema>