1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <xs:schema attributeFormDefault=
"unqualified" elementFormDefault=
"qualified" targetNamespace=
"http://appengine.google.com/ns/1.0" xmlns:
xs=
"http://www.w3.org/2001/XMLSchema">
3 <xs:element name=
"appengine-web-app" type=
"ns:appengine-web-appType" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
4 <xs:complexType name=
"env-varType">
6 <xs:extension base=
"xs:string">
7 <xs:attribute type=
"xs:string" name=
"name" use=
"required"/>
8 <xs:attribute type=
"xs:string" name=
"value" use=
"required"/>
12 <xs:complexType name=
"system-propertiesType">
14 <xs:element type=
"ns:propertyType" name=
"property" maxOccurs=
"unbounded" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
17 <xs:complexType name=
"propertyType">
19 <xs:extension base=
"xs:string">
20 <xs:attribute type=
"xs:string" name=
"name" use=
"required"/>
21 <xs:attribute type=
"xs:string" name=
"value" use=
"required"/>
25 <xs:complexType name=
"asyncSessionPersistenceType">
27 <xs:extension base=
"xs:string">
28 <xs:attribute type=
"xs:boolean" name=
"enabled" use=
"required"/>
29 <xs:attribute type=
"xs:string" name=
"queue-name" use=
"optional"/>
33 <xs:complexType name=
"appengine-web-appType">
35 <xs:element type=
"xs:string" name=
"application"/>
36 <xs:element type=
"xs:string" name=
"version" minOccurs=
"0"/>
37 <xs:element type=
"xs:string" name=
"source-language" minOccurs=
"0"/>
38 <xs:element type=
"xs:string" name=
"server" minOccurs=
"0"/>
39 <xs:element type=
"xs:string" name=
"instance-class" minOccurs=
"0"/>
40 <xs:element type=
"ns:automatic-scaling-type" name=
"automatic-scaling" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
41 <xs:element type=
"ns:manual-scaling-type" name=
"manual-scaling" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
42 <xs:element type=
"ns:basic-scaling-type" name=
"basic-scaling" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
43 <xs:element type=
"ns:static-filesType" name=
"static-files" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
44 <xs:element type=
"ns:resource-filesType" name=
"resource-files" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
45 <xs:element type=
"ns:system-propertiesType" name=
"system-properties" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
46 <xs:element type=
"ns:env-variablesType" name=
"env-variables" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
47 <xs:element type=
"xs:boolean" name=
"ssl-enabled" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
48 <xs:element type=
"xs:boolean" name=
"sessions-enabled" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
49 <xs:element type=
"ns:asyncSessionPersistenceType" name=
"async-session-persistence" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
50 <xs:element type=
"ns:userPermissionsType" name=
"user-permissions" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
51 <xs:element type=
"xs:string" name=
"public-root" minOccurs=
"0"/>
52 <xs:element type=
"ns:inboundServicesType" name=
"inbound-services" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
53 <xs:element type=
"xs:boolean" name=
"precompilation-enabled" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
54 <xs:element type=
"ns:admin-console" name=
"admin-console" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
55 <xs:element type=
"ns:static-error-handlers" name=
"static-error-handlers" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
56 <xs:element type=
"xs:boolean" name=
"warmup-requests-enabled" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
57 <xs:element type=
"xs:boolean" name=
"threadsafe" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
58 <xs:element type=
"xs:boolean" name=
"code-lock" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
59 <xs:element type=
"ns:pagespeedType" name=
"pagespeed" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
60 <xs:element type=
"ns:classLoaderConfigType" name=
"class-loader-config" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
63 <xs:complexType name=
"env-variablesType">
65 <xs:element type=
"ns:env-varType" name=
"env-var" maxOccurs=
"unbounded" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
68 <xs:complexType name=
"includeType">
69 <xs:attribute type=
"xs:string" name=
"path" use=
"required"/>
71 <!-- Adds two things to includeType: expiration attribute, and http-header children -->
72 <xs:complexType name=
"staticIncludeType">
74 <xs:extension base=
"ns:includeType" xmlns:
ns=
"http://appengine.google.com/ns/1.0">
76 <xs:element type=
"ns:http-headerType" name=
"http-header" minOccurs=
"0" maxOccurs=
"unbounded" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
78 <xs:attribute type=
"ns:expirationType" name=
"expiration" use=
"optional" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
82 <!-- See RFC 2616 for what constitutes valid HTTP header names and values. -->
83 <xs:complexType name=
"http-headerType">
84 <xs:attribute type=
"xs:string" name=
"name" use=
"required"/>
85 <xs:attribute type=
"xs:string" name=
"value" use=
"required"/>
87 <xs:complexType name=
"resource-filesType">
89 <xs:element type=
"ns:includeType" name=
"include" maxOccurs=
"unbounded" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
90 <xs:element type=
"ns:excludeType" name=
"exclude" maxOccurs=
"unbounded" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
93 <xs:complexType name=
"automatic-scaling-type">
95 <xs:element type=
"xs:string" name=
"min-pending-latency" minOccurs=
"0"/>
96 <xs:element type=
"xs:string" name=
"max-pending-latency" minOccurs=
"0"/>
97 <xs:element type=
"xs:string" name=
"min-idle-instances" minOccurs=
"0"/>
98 <xs:element type=
"xs:string" name=
"max-idle-instances" minOccurs=
"0"/>
101 <xs:complexType name=
"manual-scaling-type">
103 <xs:element type=
"xs:string" name=
"instances"/>
106 <xs:complexType name=
"basic-scaling-type">
108 <xs:element type=
"xs:string" name=
"max-instances"/>
109 <xs:element type=
"xs:string" name=
"idle-timeout" minOccurs=
"0"/>
112 <xs:complexType name=
"static-filesType">
114 <xs:element type=
"ns:staticIncludeType" name=
"include" maxOccurs=
"unbounded" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
115 <xs:element type=
"ns:excludeType" name=
"exclude" maxOccurs=
"unbounded" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
118 <xs:complexType name=
"excludeType">
119 <xs:attribute type=
"xs:string" name=
"path" use=
"required"/>
121 <xs:complexType name=
"userPermissionsType">
123 <xs:element type=
"ns:permissionType" name=
"permission" maxOccurs=
"unbounded" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
126 <xs:complexType name=
"permissionType">
128 <xs:extension base=
"xs:string">
129 <xs:attribute type=
"xs:string" name=
"class" use=
"required"/>
130 <xs:attribute type=
"xs:string" name=
"name" use=
"required"/>
131 <xs:attribute type=
"xs:string" name=
"actions" use=
"optional"/>
135 <xs:complexType name=
"inboundServicesType">
137 <xs:element type=
"xs:string" name=
"service" maxOccurs=
"unbounded" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
140 <xs:simpleType name=
"expirationType">
141 <xs:restriction base=
"xs:string">
142 <xs:pattern value=
"\s*(([0-9]+)([DdHhMm]|[sS]?))(\s+([0-9]+)([DdHhMm]|[sS]?))*\s*"/>
145 <xs:complexType name=
"admin-console">
147 <xs:element type=
"ns:admin-console-pageType" name=
"page" maxOccurs=
"unbounded" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
150 <xs:complexType name=
"admin-console-pageType">
152 <xs:extension base=
"xs:string">
153 <xs:attribute type=
"xs:string" name=
"name" use=
"required"/>
154 <xs:attribute type=
"xs:string" name=
"url" use=
"required"/>
158 <xs:complexType name=
"static-error-handlers">
160 <xs:element type=
"ns:static-error-handlers-handler" name=
"handler" maxOccurs=
"unbounded" minOccurs=
"0" xmlns:
ns=
"http://appengine.google.com/ns/1.0"/>
163 <xs:complexType name=
"static-error-handlers-handler">
165 <xs:extension base=
"xs:string">
166 <xs:attribute type=
"xs:string" name=
"file" use=
"required"/>
167 <xs:attribute type=
"xs:string" name=
"error-code" use=
"optional"/>
171 <xs:complexType name=
"pagespeedType">
172 <xs:choice maxOccurs=
"unbounded" minOccurs=
"0">
173 <xs:element type=
"xs:string" name=
"url-blacklist"/>
174 <xs:element type=
"xs:string" name=
"domain-to-rewrite"/>
175 <xs:element type=
"xs:string" name=
"enabled-rewriter"/>
176 <xs:element type=
"xs:string" name=
"disabled-rewriter"/>
179 <xs:complexType name=
"classLoaderConfigType">
181 <xs:element type=
"ns:prioritySpecifierType" name=
"priority-specifier" maxOccurs=
"unbounded" minOccurs=
"1"/>
184 <xs:complexType name=
"prioritySpecifierType">
186 <xs:extension base=
"xs:string">
187 <xs:attribute type=
"xs:string" name=
"filename" use=
"required"/>
188 <xs:attribute type=
"xs:double" name=
"priority" use=
"optional"/>