Skip to content

Commit fab571c

Browse files
committed
[doc] Schema to document the eXist-db REST API document formats
1 parent aaeab2b commit fab571c

File tree

3 files changed

+560
-13
lines changed

3 files changed

+560
-13
lines changed

exist-core/src/main/xsd/rest-api.xsd

Lines changed: 44 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -91,21 +91,52 @@
9191

9292
<xs:element name="result">
9393
<xs:complexType>
94-
<xs:choice>
95-
<xs:element ref="exist:collection"/>
96-
<xs:element name="value" minOccurs="0" maxOccurs="unbounded">
97-
<xs:complexType mixed="true">
98-
<xs:sequence>
99-
<xs:any processContents="skip"/>
100-
</xs:sequence>
101-
<xs:attribute name="type" type="xs:string" form="qualified"/>
102-
</xs:complexType>
103-
</xs:element>
104-
</xs:choice>
94+
<xs:sequence>
95+
<xs:choice minOccurs="0" maxOccurs="unbounded">
96+
<xs:element ref="exist:collection"/>
97+
<xs:element ref="exist:value"/>
98+
<xs:element ref="exist:attribute"/>
99+
<xs:element ref="exist:document"/>
100+
<xs:element ref="exist:text"/>
101+
</xs:choice>
102+
</xs:sequence>
105103
<xs:attributeGroup ref="exist:queryAttrs"></xs:attributeGroup>
106104
</xs:complexType>
107105
</xs:element>
108-
106+
107+
<xs:element name="value">
108+
<xs:complexType mixed="true">
109+
<xs:sequence>
110+
<xs:any processContents="skip"/>
111+
</xs:sequence>
112+
<xs:attribute name="type" type="xs:string" form="qualified"/>
113+
</xs:complexType>
114+
</xs:element>
115+
116+
<xs:element name="attribute">
117+
<xs:complexType>
118+
<xs:simpleContent>
119+
<xs:extension base="xs:string">
120+
<xs:attribute name="local" form="qualified" type="xs:NCName" use="required"/>
121+
<xs:attribute name="prefix" form="qualified" type="xs:NCName" use="optional"/>
122+
<xs:attribute name="target-namespace" form="qualified" type="xs:NCName" use="optional"/>
123+
</xs:extension>
124+
</xs:simpleContent>
125+
</xs:complexType>
126+
</xs:element>
127+
128+
<xs:element name="document">
129+
<xs:complexType>
130+
<xs:sequence>
131+
<xs:any maxOccurs="unbounded" processContents="lax"/>
132+
</xs:sequence>
133+
<xs:attribute name="uri" type="xs:string" use="optional"/>
134+
<xs:attribute name="has-element" type="xs:boolean" default="true"/>
135+
</xs:complexType>
136+
</xs:element>
137+
138+
<xs:element name="text" type="xs:string"/>
139+
109140
<xs:element name="collection">
110141
<xs:complexType>
111142
<xs:sequence>
@@ -132,4 +163,4 @@
132163
<xs:attribute name="execution-time" type="xs:int" form="qualified"/>
133164
</xs:attributeGroup>
134165

135-
</xs:schema>
166+
</xs:schema>

0 commit comments

Comments
 (0)