-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathalps.xsd
150 lines (150 loc) · 6.24 KB
/
alps.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
149
150
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
vc:minVersion="1.1">
<xs:annotation>
<xs:documentation source="https://alps.io/spec/index.html">
A data format for defining simple descriptions of application-level semantics
</xs:documentation>
<xs:appinfo source="https://alps.io/spec/index.html"/>
</xs:annotation>
<xs:element name="alps" type="alpsType"/>
<xs:complexType name="alpsType">
<xs:annotation>
<xs:documentation>
A data format for defining simple descriptions of application-level semantics
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="doc" minOccurs="0"/>
<xs:element ref="link" minOccurs="0"/>
<xs:element ref="title" minOccurs="0"/>
<xs:element ref="ext" minOccurs="0"/>
<xs:element ref="descriptor"/>
<xs:any />
</xs:choice>
</xs:sequence>
<xs:attribute name="version" type="xs:string">
<xs:annotation>
<xs:documentation>
Indicates the version of the ALPS specification used in the document.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:element name="doc" type="docType">
<xs:annotation>
<xs:documentation>
A text field that contains free-form, usually human-readable, text.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="title" type="xs:string">
<xs:annotation>
<xs:documentation>
Defines the semantics of specific data elements or state transitions that MAY exist in an associated
representation.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="descriptor" type="descriptorType">
<xs:annotation>
<xs:documentation>
Defines the semantics of specific data elements or state transitions that MAY exist in an associated
representation.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="link" type="linkType">
<xs:annotation>
<xs:documentation>
An element that identifies a link between the current ALPS element
and some other (possibly external) resource.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ext" type="extType">
<xs:annotation>
<xs:documentation>
The 'ext' element can be used to extend the ALPS document with author-specific information.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="contentType" type="xs:string">
<xs:annotation>
<xs:documentation>
A media-type values registered with the IANA.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="descriptorType" mixed="true">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="descriptor" type="descriptorType" minOccurs="0"/>
<xs:element name="doc" type="docType" minOccurs="0"/>
<xs:element name="link" type="linkType" minOccurs="0"/>
</xs:choice>
</xs:sequence>
<!-- documented attribute -->
<xs:attribute name="href" type="xs:anyURI"/>
<xs:attribute name="id" type="xs:string"/>
<xs:attribute name="type">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="semantic"/>
<xs:enumeration value="safe"/>
<xs:enumeration value="unsafe"/>
<xs:enumeration value="idempotent"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="doc" type="xs:string"/>
<xs:attribute name="ext" type="xs:string"/>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="title" type="xs:string"/>
<xs:attribute name="rt" type="xs:string"/>
<xs:attribute name="def" type="xs:anyURI"/>
<xs:attribute name="tag" type="xs:string"/>
<xs:attribute name="rel" type="xs:string"/>
<xs:anyAttribute/>
</xs:complexType>
<xs:complexType name="extType">
<xs:attribute name="id" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
`ext` element extends the ALPS document with author-specific information.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="href" type="xs:string"/>
<xs:attribute name="value" type="xs:string"/>
<xs:attribute name="tag" type="xs:string"/>
<xs:anyAttribute/>
</xs:complexType>
<xs:complexType name="linkType">
<xs:attribute name="rel" type="xs:string"/>
<xs:attribute name="href" type="xs:anyURI"/>
<xs:attribute name="tag" type="xs:string"/>
<xs:attribute name="title" type="xs:string"/>
<xs:anyAttribute/>
</xs:complexType>
<xs:complexType name="docType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="format">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="text"/>
<xs:enumeration value="html"/>
<xs:enumeration value="asciidoc"/>
<xs:enumeration value="markdown"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="contentType" type="xs:string" />
<xs:attribute name="tag" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>