Revision created by MOE tool push_codebase.
[gae.git] / java / src / main / com / google / appengine / tools / development / datastore-indexes.xsd
blob65fc27c4831c0f2d072d899080875f394ca88ca2
1 <?xml version="1.0" encoding="UTF-8"?>
3 <!-- CAUTION: the following files implement the parsing and validation of -->
4 <!-- the index definition schema, and so they all must be kept in sync: -->
6 <!-- apphosting/datastore/datastore_index.py -->
7 <!-- apphosting/datastore/datastore_index_xml.py -->
8 <!-- java/com/google/apphosting/utils/config/IndexesXmlReader.java -->
9 <!-- java/com/google/apphosting/utils/config/IndexYamlReader.java -->
10 <!-- java/com/google/appengine/tools/development/datastore-indexes.xsd -->
11 <!-- java/com/google/appengine/tools/development/datastore-indexes.dtd -->
12 <!-- java/com/google/appengine/api/datastore/dev/LocalCompositeIndexManager.java -->
13 <!-- java/com/google/appengine/api/datastore/CompositeIndexManager.java -->
15 <!-- TODO(flyboy): add to this list when we discover even more places -->
16 <!-- that are sensitive to schema changes -->
18 <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
19 <xs:element name="datastore-indexes" type="datastore-indexesType" />
20 <xs:complexType name="propertyType">
21 <xs:simpleContent>
22 <xs:extension base="xs:string">
23 <xs:attribute type="xs:string" name="name" use="required"/>
24 <xs:attribute type="directionType" name="direction" use="optional"/>
25 <xs:attribute type="modeType" name="mode" use="optional"/>
26 </xs:extension>
27 </xs:simpleContent>
28 </xs:complexType>
30 <xs:complexType name="datastore-indexesType">
31 <xs:sequence>
32 <xs:element type="datastore-indexType" name="datastore-index" maxOccurs="unbounded" minOccurs="0">
33 <xs:annotation>
34 <xs:documentation>Number of uses in query history</xs:documentation>
35 </xs:annotation>
36 </xs:element>
37 </xs:sequence>
38 <xs:attribute type="xs:boolean" name="autoGenerate" use="required"/>
39 </xs:complexType>
41 <xs:complexType name="datastore-indexType">
42 <xs:sequence>
43 <xs:element type="propertyType" name="property" maxOccurs="unbounded" minOccurs="0"/>
44 </xs:sequence>
45 <xs:attribute type="xs:string" name="kind" use="required"/>
46 <xs:attribute type="xs:boolean" name="ancestor" use="optional"/>
47 <xs:attribute type="xs:string" name="source" use="optional"/>
48 </xs:complexType>
50 <xs:simpleType name="directionType">
51 <xs:restriction base="xs:string">
52 <xs:enumeration value="asc"/>
53 <xs:enumeration value="desc"/>
54 </xs:restriction>
55 </xs:simpleType>
57 <xs:simpleType name="modeType">
58 <xs:restriction base="xs:string">
59 <xs:enumeration value="geospatial"/>
60 </xs:restriction>
61 </xs:simpleType>
63 </xs:schema>