openstack-doc-tools/os_doc_tools/resources/wadl.rng
Andreas Jaeger 670d9e063c Do not download RNG Schema, instead use local copies
Using local copies instead of remote ones speeds up the process
significantly since we do not need to download everytime more than
600 kb of data. The additional benefit is that testing now works
also while you're offline, no need to do any internet connection
for it.

The files change seldom, so it is fine to add them.

Tested with:
 time openstack-doc-test --api-site --check-syntax

Before this change:
real	0m4.020s
user	0m0.212s
sys	0m0.047s

After this change:
real	0m0.164s
user	0m0.142s
sys	0m0.022s

Change-Id: I541e75580ae734ccd5d48d699eb48225203646e8
2014-01-07 09:05:26 +01:00

415 lines
10 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<grammar ns="" xmlns:wadl="http://wadl.dev.java.net/2009/02" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<choice>
<element name="wadl:application">
<zeroOrMore>
<ref name="doc"/>
</zeroOrMore>
<optional>
<ref name="grammars"/>
</optional>
<zeroOrMore>
<ref name="resources"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="resource_type"/>
<ref name="method"/>
<ref name="representation"/>
<ref name="param"/>
</choice>
</zeroOrMore>
<ref name="foreign-attribute"/>
<!-- <ref name="foreign-element"/> -->
</element>
<ref name="resource"/>
</choice>
</start>
<define name="doc">
<element name="wadl:doc">
<optional>
<attribute name="xml:lang">
<ref name="languageTag"/>
</attribute>
</optional>
<optional>
<attribute name="title"/>
</optional>
<zeroOrMore>
<choice>
<text/>
<!-- <ref name="foreign-element"/> -->
</choice>
</zeroOrMore>
<ref name="foreign-attribute"/>
</element>
</define>
<define name="grammars">
<element name="wadl:grammars">
<zeroOrMore>
<ref name="doc"/>
</zeroOrMore>
<zeroOrMore>
<ref name="incl"/>
</zeroOrMore>
<!-- <ref name="foreign-element"/> -->
</element>
</define>
<define name="incl">
<element name="wadl:include">
<zeroOrMore>
<ref name="doc"/>
</zeroOrMore>
<attribute name="href">
<data type="anyURI"/>
</attribute>
<ref name="foreign-attribute"/>
</element>
</define>
<define name="resources">
<element name="wadl:resources">
<zeroOrMore>
<ref name="doc"/>
</zeroOrMore>
<oneOrMore>
<ref name="resource"/>
</oneOrMore>
<attribute name="base">
<data type="anyURI"/>
</attribute>
<ref name="foreign-attribute"/>
<!-- <ref name="foreign-element"/> -->
</element>
</define>
<define name="resource_type">
<element name="wadl:resource_type">
<zeroOrMore>
<ref name="doc"/>
</zeroOrMore>
<zeroOrMore>
<ref name="param"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="method"/>
<ref name="resource"/>
</choice>
</zeroOrMore>
<optional>
<attribute name="id">
<data type="token"/>
</attribute>
</optional>
<!-- <ref name="foreign-element"/> -->
<ref name="foreign-attribute"/>
</element>
</define>
<define name="resource">
<element name="wadl:resource">
<zeroOrMore>
<ref name="doc"/>
</zeroOrMore>
<zeroOrMore>
<ref name="param"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="method"/>
<ref name="resource"/>
</choice>
</zeroOrMore>
<optional>
<attribute name="type">
<list>
<data type="anyURI"/>
</list>
</attribute>
</optional>
<optional>
<attribute name="path"/>
</optional>
<optional>
<attribute name="id">
<data type="token"/>
</attribute>
</optional>
<optional>
<attribute name="queryType"/>
</optional>
<!-- <ref name="foreign-element"/> -->
<ref name="foreign-attribute"/>
</element>
</define>
<define name="method">
<element name="wadl:method">
<choice>
<attribute name="href">
<data type="anyURI"/>
</attribute>
<group>
<zeroOrMore>
<ref name="doc"/>
</zeroOrMore>
<optional>
<ref name="request"/>
</optional>
<zeroOrMore>
<ref name="response"/>
</zeroOrMore>
<optional>
<attribute name="id">
<data type="token"/>
</attribute>
</optional>
<attribute name="name">
<choice>
<value>DELETE</value>
<value>GET</value>
<value>HEAD</value>
<value>POST</value>
<value>PUT</value>
<data type="token"/>
</choice>
</attribute>
</group>
</choice>
<!-- <ref name="foreign-element"/> -->
<ref name="foreign-attribute"/>
</element>
</define>
<define name="request">
<element name="wadl:request">
<zeroOrMore>
<ref name="doc"/>
</zeroOrMore>
<zeroOrMore>
<ref name="param"/>
</zeroOrMore>
<zeroOrMore>
<ref name="representation"/>
</zeroOrMore>
<ref name="foreign-attribute"/>
<!-- <ref name="foreign-element"/> -->
</element>
</define>
<define name="response">
<element name="wadl:response">
<zeroOrMore>
<ref name="doc"/>
</zeroOrMore>
<zeroOrMore>
<ref name="param"/>
</zeroOrMore>
<zeroOrMore>
<ref name="representation"/>
</zeroOrMore>
<optional>
<attribute name="status">
<list>
<oneOrMore>
<data type="int"/>
</oneOrMore>
</list>
</attribute>
</optional>
<ref name="foreign-attribute"/>
<!-- <ref name="foreign-element"/> -->
</element>
</define>
<define name="representation">
<element name="wadl:representation">
<choice>
<attribute name="href">
<data type="anyURI"/>
</attribute>
<group>
<zeroOrMore>
<ref name="doc"/>
</zeroOrMore>
<zeroOrMore>
<ref name="param"/>
</zeroOrMore>
<optional>
<attribute name="id">
<data type="token"/>
</attribute>
</optional>
<optional>
<attribute name="element">
<data type="QName"/>
</attribute>
</optional>
<optional>
<attribute name="mediaType"/>
</optional>
<optional>
<attribute name="profile">
<list>
<data type="anyURI"/>
</list>
</attribute>
</optional>
</group>
</choice>
<ref name="foreign-attribute"/>
<!-- <ref name="foreign-element"/> -->
</element>
</define>
<define name="param">
<element name="wadl:param">
<choice>
<attribute name="href">
<data type="anyURI"/>
</attribute>
<group>
<zeroOrMore>
<ref name="doc"/>
</zeroOrMore>
<zeroOrMore>
<ref name="option"/>
</zeroOrMore>
<optional>
<ref name="link"/>
</optional>
<attribute name="name">
<data type="token"/>
</attribute>
<attribute name="style">
<choice>
<value>plain</value>
<value>query</value>
<value>matrix</value>
<value>header</value>
<value>template</value>
</choice>
</attribute>
<optional>
<attribute name="id">
<data type="token"/>
</attribute>
</optional>
<optional>
<attribute name="type"/>
</optional>
<optional>
<attribute name="default"/>
</optional>
<optional>
<attribute name="path"/>
</optional>
<optional>
<attribute name="required">
<data type="boolean"/>
</attribute>
</optional>
<optional>
<attribute name="repeating">
<data type="boolean"/>
</attribute>
</optional>
<optional>
<attribute name="fixed"/>
</optional>
</group>
</choice>
<!-- <ref name="foreign-element"/> -->
<ref name="foreign-attribute"/>
</element>
</define>
<define name="option">
<element name="wadl:option">
<zeroOrMore>
<ref name="doc"/>
</zeroOrMore>
<attribute name="value">
<data type="string"/>
</attribute>
<optional>
<attribute name="mediaType"/>
</optional>
<!-- <ref name="foreign-element"/> -->
<ref name="foreign-attribute"/>
</element>
</define>
<define name="link">
<element name="wadl:link">
<zeroOrMore>
<ref name="doc"/>
</zeroOrMore>
<optional>
<attribute name="resource_type">
<data type="anyURI"/>
</attribute>
</optional>
<optional>
<attribute name="rel">
<data type="token"/>
</attribute>
</optional>
<optional>
<attribute name="rev">
<data type="token"/>
</attribute>
</optional>
<!-- <ref name="foreign-element"/> -->
<ref name="foreign-attribute"/>
</element>
</define>
<define name="foreign-attribute">
<zeroOrMore>
<attribute>
<anyName>
<except>
<nsName ns="http://wadl.dev.java.net/2009/02"/>
<nsName/>
<nsName ns="http://www.w3.org/XML/1998/namespace"/>
</except>
</anyName>
</attribute>
</zeroOrMore>
</define>
<!-- <define name="foreign-element">
<zeroOrMore>
<element>
<anyName>
<except>
<nsName ns="http://wadl.dev.java.net/2009/02"/>
<nsName/>
</except>
</anyName>
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="any-element"/>
</choice>
</zeroOrMore>
</element>
</zeroOrMore>
</define>-->
<!-- <define name="any-element">
<zeroOrMore>
<element>
<anyName/>
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="any-element"/>
</choice>
</zeroOrMore>
</element>
</zeroOrMore>
</define>-->
<define name="languageTag">
<data type="string">
<param name="pattern">[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*</param>
</data>
</define>
</grammar>