Penguin at kooper.fanstvo.com

Validation schemas for Application Packaging Standard 1.0 in RelaxNG format

Download validation schemas in RelaxNG format: aps10-rng-schemas.zip

apache-htaccess.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="apache:htaccess" xmlns:apache="http://apstandard.com/ns/1/apache" xmlns="http://relaxng.org/ns/structure/1.0">
  <empty/>
</element>

apache-module.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="apache:required-module" xmlns:apache="http://apstandard.com/ns/1/apache" xmlns="http://relaxng.org/ns/structure/1.0">
  <text/>
</element>

aspnet-permissions.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="aspnet:permissions" xmlns:aspnet="http://apstandard.com/ns/1/aspnet" xmlns="http://relaxng.org/ns/structure/1.0">
  <optional>
    <attribute name="writable">
      <value>true</value>
    </attribute>
  </optional>
</element>

aspnet-urlhandler.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="aspnet:handler" xmlns:aspnet="http://apstandard.com/ns/1/aspnet" xmlns="http://relaxng.org/ns/structure/1.0">
  <choice>
    <element name="aspnet:disabled">
      <empty/>
    </element>
    <zeroOrMore>
      <element name="aspnet:extension">
        <text/>
      </element>
    </zeroOrMore>
  </choice>
</element>

aspnet-version.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="aspnet:version" xmlns:aspnet="http://apstandard.com/ns/1/aspnet" xmlns="http://relaxng.org/ns/structure/1.0">
  <choice>
    <value>1.0</value>
    <value>2.0</value>
  </choice>
</element>

basic.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns:sa="http://apstandard.com/ns/1" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <start>
    <ref name="Application"/>
  </start>
  <define name="AnyElement">
    <element>
      <anyName/>
      <zeroOrMore>
        <choice>
          <attribute>
            <anyName/>
          </attribute>
          <text/>
          <ref name="AnyElement"/>
        </choice>
      </zeroOrMore>
    </element>
  </define>
  <define name="DefinedByAspect">
    <ref name="AnyElement"/>
  </define>
  <define name="Requirement">
    <ref name="DefinedByAspect"/>
  </define>
  <define name="UrlHandler">
    <ref name="DefinedByAspect"/>
  </define>
  <define name="Permission">
    <ref name="DefinedByAspect"/>
  </define>
  <define name="Setting">
    <element name="sa:setting">
      <attribute name="id"/>
      <optional>
        <attribute name="global">
          <value>true</value>
        </attribute>
      </optional>
      <optional>
        <attribute name="installation-only">
          <value>true</value>
        </attribute>
      </optional>
      <zeroOrMore>
        <element name="sa:name">
          <optional>
            <attribute name="xml:lang"/>
          </optional>
          <data type="string"/>
        </element>
      </zeroOrMore>
      <zeroOrMore>
        <element name="sa:description">
          <optional>
            <attribute name="xml:lang"/>
          </optional>
          <data type="string"/>
        </element>
      </zeroOrMore>
      <zeroOrMore>
        <element name="sa:error-message">
          <optional>
            <attribute name="xml:lang"/>
          </optional>
          <data type="string"/>
        </element>
      </zeroOrMore>
      <choice>
        <group>
          <attribute name="type">
            <value>boolean</value>
          </attribute>
          <optional>
            <attribute name="default-value">
              <data type="boolean"/>
            </attribute>
          </optional>
        </group>
        <group>
          <attribute name="type">
            <choice>
              <value>string</value>
              <value>password</value>
            </choice>
          </attribute>
          <optional>
            <attribute name="min-length">
              <data type="nonNegativeInteger"/>
            </attribute>
          </optional>
          <optional>
            <attribute name="max-length">
              <data type="nonNegativeInteger"/>
            </attribute>
          </optional>
          <optional>
            <choice>
              <attribute name="regex">
                <data type="string"/>
              </attribute>
              <attribute name="charset">
                <data type="string"/>
              </attribute>
            </choice>
          </optional>
          <optional>
            <attribute name="default-value">
              <data type="string"/>
            </attribute>
          </optional>
        </group>
        <group>
          <attribute name="type">
            <value>integer</value>
          </attribute>
          <optional>
            <attribute name="min">
              <data type="integer"/>
            </attribute>
          </optional>
          <optional>
            <attribute name="max">
              <data type="integer"/>
            </attribute>
          </optional>
          <optional>
            <attribute name="default-value">
              <data type="integer"/>
            </attribute>
          </optional>
        </group>
        <group>
          <attribute name="type">
            <value>float</value>
          </attribute>
          <optional>
            <attribute name="min">
              <data type="float"/>
            </attribute>
          </optional>
          <optional>
            <attribute name="max">
              <data type="float"/>
            </attribute>
          </optional>
          <optional>
            <attribute name="default-value">
              <data type="float"/>
            </attribute>
          </optional>
        </group>
        <group>
          <attribute name="type">
            <value>email</value>
          </attribute>
          <optional>
            <attribute name="default-value">
              <data type="string"/>
            </attribute>
          </optional>
        </group>
        <group>
          <attribute name="type">
            <value>domain-name</value>
          </attribute>
          <optional>
            <attribute name="default-value">
              <data type="string"/>
            </attribute>
          </optional>
        </group>
        <group>
          <attribute name="type">
            <value>enum</value>
          </attribute>
          <optional>
            <attribute name="default-value"/>
          </optional>
          <oneOrMore>
            <element name="sa:choice">
              <attribute name="id"/>
              <zeroOrMore>
                <element name="sa:name">
                  <optional>
                    <attribute name="xml:lang"/>
                  </optional>
                  <text/>
                </element>
              </zeroOrMore>
            </element>
          </oneOrMore>
        </group>
      </choice>
    </element>
  </define>
  <define name="SettingGroup">
    <element name="sa:group">
      <zeroOrMore>
        <element name="sa:name">
          <optional>
            <attribute name="xml:lang"/>
          </optional>
          <data type="string"/>
        </element>
      </zeroOrMore>
      <oneOrMore>
        <ref name="Setting"/>
      </oneOrMore>
    </element>
  </define>
  <define name="Requirements">
    <element name="sa:requirements">
      <zeroOrMore>
        <element name="sa:choice">
          <oneOrMore>
            <element name="sa:requirements">
              <attribute name="id"/>
              <oneOrMore>
                <ref name="Requirement"/>
              </oneOrMore>
            </element>
          </oneOrMore>
        </element>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="Requirement"/>
      </zeroOrMore>
    </element>
  </define>
  <define name="SubMapping">
    <element name="sa:mapping">
      <attribute name="url"/>
      <optional>
        <choice>
          <attribute name="path">
            <data type="string">
              <param name="minLength">1</param>
            </data>
          </attribute>
          <attribute name="virtual">
            <value>virtual</value>
          </attribute>
        </choice>
      </optional>
      <zeroOrMore>
        <choice>
          <ref name="UrlHandler"/>
          <ref name="Permission"/>
        </choice>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="SubMapping"/>
      </zeroOrMore>
    </element>
  </define>
  <define name="Mapping">
    <element name="sa:mapping">
      <attribute name="url"/>
      <choice>
        <attribute name="path">
          <data type="string">
            <param name="minLength">1</param>
          </data>
        </attribute>
        <attribute name="virtual">
          <value>virtual</value>
        </attribute>
      </choice>
      <zeroOrMore>
        <choice>
          <ref name="UrlHandler"/>
          <ref name="Permission"/>
        </choice>
      </zeroOrMore>
      <zeroOrMore>
        <ref name="SubMapping"/>
      </zeroOrMore>
    </element>
  </define>
  <define name="Application">
    <element name="sa:application">
      <element name="sa:name">
        <text/>
      </element>
      <optional>
        <element name="sa:packager-uri">
          <data type="anyURI"/>
        </element>
      </optional>
      <element name="sa:version">
        <text/>
      </element>
      <element name="sa:release">
        <text/>
      </element>
      <optional>
        <element name="sa:homepage">
          <data type="anyURI"/>
        </element>
      </optional>
      <optional>
        <element name="sa:package-homepage">
          <data type="anyURI"/>
        </element>
      </optional>
      <optional>
        <element name="sa:default-prefix">
          <text/>
        </element>
      </optional>
      <zeroOrMore>
        <element name="sa:summary">
          <optional>
            <attribute name="xml:lang"/>
          </optional>
          <text/>
        </element>
      </zeroOrMore>
      <zeroOrMore>
        <element name="sa:description">
          <optional>
            <attribute name="xml:lang"/>
          </optional>
          <text/>
        </element>
      </zeroOrMore>
      <optional>
        <element name="sa:icon">
          <attribute name="path"/>
        </element>
      </optional>
      <zeroOrMore>
        <element name="sa:screenshot">
          <attribute name="path"/>
          <oneOrMore>
            <element name="sa:description">
              <optional>
                <attribute name="xml:lang"/>
              </optional>
              <text/>
            </element>
          </oneOrMore>
        </element>
      </zeroOrMore>
      <optional>
        <!-- Either URL or file and name of license are allowed. -->
        <element name="sa:license">
          <attribute name="must-accept">
            <data type="boolean"/>
          </attribute>
          <oneOrMore>
            <element name="sa:text">
              <optional>
                <attribute name="xml:lang"/>
              </optional>
              <optional>
                <element name="sa:name">
                  <text/>
                </element>
              </optional>
              <choice>
                <element name="sa:url">
                  <data type="anyURI"/>
                </element>
                <element name="sa:file">
                  <text/>
                </element>
              </choice>
            </element>
          </oneOrMore>
        </element>
      </optional>
      <optional>
        <element name="sa:configuration-script-language">
          <text/>
        </element>
      </optional>
      <optional>
        <!-- Upgrades and patches specification -->
        <!-- Versions which may be patched by this package -->
        <choice>
          <!-- Any version starting from the specified -->
          <element name="sa:patchable-from">
            <attribute name="version"/>
            <attribute name="release"/>
          </element>
          <oneOrMore>
            <!-- Explicit versions enumeration -->
            <element name="sa:patches">
              <attribute name="version"/>
              <attribute name="release"/>
            </element>
          </oneOrMore>
        </choice>
      </optional>
      <optional>
        <!-- Versions which may be upgraded by this package -->
        <choice>
          <!-- Any version starting from the specified -->
          <element name="sa:upgradable-from">
            <attribute name="version"/>
            <attribute name="release"/>
          </element>
          <oneOrMore>
            <!-- Explicit versions enumeration -->
            <element name="sa:upgrades">
              <attribute name="version"/>
              <attribute name="release"/>
            </element>
          </oneOrMore>
        </choice>
      </optional>
      <element name="sa:changelog">
        <zeroOrMore>
          <element name="sa:version">
            <attribute name="version"/>
            <attribute name="release"/>
            <oneOrMore>
              <element name="sa:entry">
                <optional>
                  <attribute name="xml:lang"/>
                </optional>
                <text/>
              </element>
            </oneOrMore>
          </element>
        </zeroOrMore>
      </element>
      <optional>
        <element name="sa:entry-points">
          <oneOrMore>
            <element name="sa:entry">
              <element name="sa:path">
                <data type="anyURI"/>
              </element>
              <oneOrMore>
                <element name="sa:label">
                  <optional>
                    <attribute name="xml:lang"/>
                  </optional>
                  <text/>
                </element>
              </oneOrMore>
              <zeroOrMore>
                <element name="sa:description">
                  <optional>
                    <attribute name="xml:lang"/>
                  </optional>
                  <text/>
                </element>
              </zeroOrMore>
            </element>
          </oneOrMore>
        </element>
      </optional>
      <optional>
        <element name="sa:installed-size">
          <data type="nonNegativeInteger"/>
        </element>
      </optional>
      <optional>
        <element name="sa:categories">
          <oneOrMore>
            <element name="sa:category">
              <text/>
            </element>
          </oneOrMore>
        </element>
      </optional>
      <optional>
        <element name="sa:languages">
          <oneOrMore>
            <element name="sa:language">
              <data type="string">
                <param name="pattern">[a-z]{2,3}</param>
              </data>
            </element>
          </oneOrMore>
        </element>
      </optional>
      <element name="sa:settings">
        <zeroOrMore>
          <ref name="Setting"/>
        </zeroOrMore>
        <zeroOrMore>
          <ref name="SettingGroup"/>
        </zeroOrMore>
      </element>
      <ref name="Requirements"/>
      <ref name="Mapping"/>
    </element>
  </define>
</grammar>

cgi-urlhandler.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns:cgi="http://apstandard.com/ns/1/cgi" xmlns:h="http://apstandard.com/ns/1/cgi/handlers" xmlns="http://relaxng.org/ns/structure/1.0">
  <define name="handlerType">
    <attribute name="h:handler-type">
      <choice>
        <value>executable</value>
        <value>perl</value>
        <value>php</value>
        <value>python</value>
        <value>ssi</value>
      </choice>
    </attribute>
  </define>
  <start>
    <element name="cgi:handler">
      <choice>
        <element name="cgi:disabled">
          <empty/>
        </element>
        <zeroOrMore>
          <element name="cgi:extension">
            <optional>
              <ref name="handlerType"/>
            </optional>
            <text/>
          </element>
        </zeroOrMore>
        <element name="cgi:all-files">
          <optional>
            <ref name="handlerType"/>
          </optional>
        </element>
      </choice>
    </element>
  </start>
</grammar>

db-db.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="d:db" xmlns:d="http://apstandard.com/ns/1/db" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <element name="d:id">
    <text/>
  </element>
  <optional>
    <element name="d:default-name">
      <text/>
    </element>
  </optional>
  <element name="d:can-use-tables-prefix">
    <data type="boolean"/>
  </element>
  <element name="d:server-type">
    <text/>
  </element>
  <element name="d:server-min-version">
    <text/>
  </element>
</element>

php-allow-url-fopen.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:allow-url-fopen" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <data type="boolean"/>
</element>

php-extension.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:extension" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0">
  <text/>
</element>

php-file-uploads.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:file-uploads" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <data type="boolean"/>
</element>

php-function.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:function" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0">
  <text/>
</element>

php-magic-quotes-gpc.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:magic-quotes-gpc" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <data type="boolean"/>
</element>

php-max-execution-time.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:max-execution-time" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <data type="integer"/>
</element>

php-memory-limit.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:memory-limit" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <data type="integer"/>
</element>

php-permissions.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:permissions" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0">
  <optional>
    <attribute name="writable">
      <value>true</value>
    </attribute>
  </optional>
  <optional>
    <attribute name="readable">
      <value>false</value>
    </attribute>
  </optional>
</element>

php-post-max-size.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:post-max-size" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <data type="integer"/>
</element>

php-register-globals.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:register-globals" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <data type="boolean"/>
</element>

php-safe-mode.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:safe-mode" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <data type="boolean"/>
</element>

php-short-open-tag.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:short-open-tag" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <data type="boolean"/>
</element>
.rng

php-urlhandler.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:handler" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0">
  <choice>
    <element name="php:disabled">
      <empty/>
    </element>
    <zeroOrMore>
      <element name="php:extension">
        <text/>
      </element>
    </zeroOrMore>
  </choice>
</element>

php-version.rng

Download
<?xml version="1.0" encoding="UTF-8"?>
<element name="php:version" xmlns:php="http://apstandard.com/ns/1/php" xmlns="http://relaxng.org/ns/structure/1.0">
  <optional>
    <attribute name="min"/>
  </optional>
  <optional>
    <attribute name="max-not-including"/>
  </optional>
</element>