<!ELEMENT appengine-web-app (application, version?, static-files?, resource-files?,
                             system-properties?, env-variables?, ssl-enabled?,
                             sessions-enabled?, async-session-persistence?,
                             user-permissions?, public-root?,
                             inbound-services?, precompilation-enabled?,
                             admin-console?, static-error-handlers?,
                             warmup-requests-enabled?, threadsafe?, servers?,
                             code-lock?)>
<!ATTLIST appengine-web-app
          xmlns CDATA #REQUIRED>
<!ELEMENT application (#PCDATA)>
<!ELEMENT version (#PCDATA)>
<!ELEMENT static-files (include|exclude)*>
<!ELEMENT include (#PCDATA)>
<!ATTLIST include
          path CDATA #REQUIRED
          expiration CDATA #OPTIONAL>
<!ELEMENT exclude (#PCDATA)>
<!ATTLIST exclude
          path CDATA #REQUIRED>
<!ELEMENT resource-files (include|exclude)*>
<!ELEMENT system-properties (property)*>
<!ELEMENT property (#PCDATA)>
<!ATTLIST property
          name CDATA #REQUIRED
          value CDATA #REQUIRED>
<!ELEMENT env-variables (env-var)*>
<!ELEMENT env-var (#PCDATA)>
<!ATTLIST env-var
          name CDATA #REQUIRED
          value CDATA #REQUIRED>
<!ELEMENT ssl-enabled (#PCDATA)>
<!ELEMENT sessions-enabled (#PCDATA)>
<!ELEMENT async-session-persistence (#PCDATA)>
<!ATTLIST async-session-persistence
          enabled CDATA #REQUIRED
          queue-name CDATA #OPTIONAL>
<!ELEMENT precompilation-enabled (#PCDATA)>
<!ELEMENT user-permissions (permission)*>
<!ELEMENT permission (#PCDATA)>
<!ATTLIST permission
          class CDATA #REQUIRED
          name CDATA #REQUIRED
          actions CDATA #OPTIONAL>
<!ELEMENT public-root (#PCDATA)>
<!ELEMENT inbound-services (service)*>
<!ELEMENT service (#PCDATA)>
<!ELEMENT admin-console (page)*>
<!ELEMENT page (#PCDATA)>
<!ATTLIST page
          name CDATA #REQUIRED
          url CDATA #REQUIRED>
<!ELEMENT static-error-handlers (handler)*>
<!ELEMENT handler (#PCDATA)>
<!ATTLIST handler
          file CDATA #REQUIRED
          error-code CDATA #OPTIONAL>
<!ELEMENT warmup-requests-enabled (#PCDATA)>
<!ELEMENT threadsafe (#PCDATA)>
<!ELEMENT code-lock (#PCDATA)>
<!ELEMENT servers (server|backend|frontend|job|worker)*>
<!ELEMENT server (instances|memory|resident|access|threads)*>
<!ATTLIST server
          name CDATA #REQUIRED>
<!ELEMENT backend (instances|memory|resident|access|threads)*>
<!ATTLIST backend
          name CDATA #REQUIRED>
<!ELEMENT frontend (instances|memory|resident|access|threads)*>
<!ATTLIST frontend
          name CDATA #REQUIRED>
<!ELEMENT job (instances|memory|resident|access|threads)*>
<!ATTLIST job
          name CDATA #REQUIRED>
<!ELEMENT worker (instances|memory|resident|access|threads)*>
<!ATTLIST worker
          name CDATA #REQUIRED>
<!ELEMENT instances (#PCDATA)>
<!ELEMENT memory (#PCDATA)>
<!ELEMENT resident (#PCDATA)>
<!ELEMENT access (#PCDATA)>
<!ELEMENT threads (#PCDATA)>
