-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathPraatTextGrid.dfdl.xsd
148 lines (145 loc) · 6.42 KB
/
PraatTextGrid.dfdl.xsd
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
xmlns:ex="http://example.com"
targetNamespace="http://example.com"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:include schemaLocation="lib/built-in-formats.xsd" />
<xs:annotation>
<xs:appinfo source="http://www.ogf.org/dfdl/">
<dfdl:format ref="ex:daffodilTest1" separator="" initiator=""
terminator="" leadingSkip='0' textTrimKind="none" initiatedContent="no"
alignment="implicit" alignmentUnits="bits" trailingSkip="0" ignoreCase="no"
separatorPosition="infix" occursCountKind="implicit"
emptyValueDelimiterPolicy="both" representation="text" textNumberRep="standard"
lengthKind="delimited" encoding="UTF-8" />
</xs:appinfo>
</xs:annotation>
<!-- The root document element: 'praat' -->
<xs:element name="praat" dfdl:terminator="%NL;">
<xs:complexType>
<!-- Header elements: 'fileType', 'objectClass',
'xMin', 'xMax', 'tiersExists', 'numberOfTiers' -->
<xs:sequence>
<!-- the type of the Praat file -->
<xs:element name="fileType" type="xs:string"
dfdl:initiator="File%WSP+;type%WSP+;=%WSP+;""
dfdl:terminator=""%NL;"
/>
<!-- the object class of the Praat file -->
<xs:element name="objectClass" type="xs:string"
dfdl:initiator="Object%WSP+;class%WSP+;=%WSP+;""
dfdl:terminator=""%NL;%NL;"
/>
<!-- the global start time -->
<xs:element name="xMin" type="xs:double"
dfdl:initiator="xmin%WSP+;=%WSP+;"
dfdl:terminator="%NL;"
/>
<!-- the global end time -->
<xs:element name="xMax" type="xs:double"
dfdl:initiator="xmax%WSP+;=%WSP+;"
dfdl:terminator="%NL;"
/>
<!-- does tiers exist? -->
<xs:element name="tiersExists" type="xs:string"
dfdl:initiator="tiers?%WSP+;<"
dfdl:terminator=">%NL;"
/>
<!-- the number of tiers -->
<xs:element name="numberOfTiers" type="xs:integer"
dfdl:initiator="size%WSP+;=%WSP+;"
dfdl:terminator="%NL;"
/>
<!-- 'items' is a list of 'item' element -->
<xs:element name="items"
dfdl:initiator="item%WSP;[]:%NL;">
<xs:complexType>
<xs:sequence>
<!-- 'item' element consists of a header and
a list of 'intervals' elemnt -->
<xs:element name="item"
dfdl:initiator="%HT;item%WSP+;"
minOccurs="0" maxOccurs="unbounded"
dfdl:occursCountKind="parsed">
<xs:complexType>
<xs:sequence>
<!-- the sequence number of the item -->
<xs:element name="itemNum" type="xs:integer"
dfdl:initiator="["
dfdl:terminator="]:%NL;"
/>
<!-- the class of the item -->
<xs:element name="class" type="xs:string"
dfdl:initiator="%HT;%HT;class%WSP+;=%WSP+;""
dfdl:terminator=""%NL;"
/>
<!-- the name of the item -->
<xs:element name="name" type="xs:string"
dfdl:initiator="%HT;%HT;name%WSP+;=%WSP+;""
dfdl:terminator=""%NL;"
/>
<!-- the items global start time -->
<xs:element name="xMin" type="xs:double"
dfdl:initiator="%HT;%HT;xmin%WSP+;=%WSP+;"
dfdl:terminator="%NL;"
/>
<!-- the items global end time -->
<xs:element name="xMax" type="xs:double"
dfdl:initiator="%HT;%HT;xmax%WSP+;=%WSP+;"
dfdl:terminator="%NL;"
/>
<!-- the number of intervals contained in the item -->
<xs:element name="intervalsSize" type="xs:integer"
dfdl:initiator="%HT;%HT;intervals:%WSP+;size%WSP+;=%WSP+;"
dfdl:terminator="%NL;"
/>
<!-- list of interval elements -->
<xs:element name="intervals">
<xs:complexType>
<xs:sequence>
<!-- interval elements consists of a number,
start time, end time and annotation text -->
<xs:element name="interval"
minOccurs="0" maxOccurs="unbounded"
dfdl:occursCountKind="parsed">
<xs:complexType>
<xs:sequence>
<!-- the sequence number of the interval -->
<xs:element name="intervalNum" type="xs:integer"
dfdl:initiator="%HT;%HT;intervals%WSP+;["
dfdl:terminator="]:%NL;">
</xs:element>
<!-- the start time of the interval -->
<xs:element name="xMin" type="xs:double"
dfdl:initiator="%HT;%HT;%HT;xmin%WSP+;=%WSP+;"
dfdl:terminator="%NL;"
/>
<!-- the end time of the interval -->
<xs:element name="xMax" type="xs:double"
dfdl:initiator="%HT;%HT;%HT;xmax%WSP+;=%WSP+;"
dfdl:terminator="%NL;"
/>
<!-- the annotation text of the interval -->
<xs:element name="text" type="xs:string"
dfdl:initiator="%HT;%HT;%HT;text%WSP+;=%WSP+;""
dfdl:terminator=""%NL;" nillable="true"
/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>