forked from 0ad/0ad
historic_bruno
2c9939ac74
Adds converted Relax NG XML grammars for each (Note: don't edit these directly, modify the compact syntax .rnc files instead, then use a conversion tool http://relaxng.org/#conversion to generate the .rng files). Adds Perl script to validate the XML files using the new grammars This was SVN commit r15377.
184 lines
6.7 KiB
XML
184 lines
6.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<element name="actor" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
|
<a:documentation/>
|
|
<!--
|
|
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
|
|
and use a converter tool like trang to generate the Relax NG XML (.rng) file
|
|
-->
|
|
<a:documentation/>
|
|
<attribute name="version">
|
|
<data type="positiveInteger"/>
|
|
</attribute>
|
|
<interleave>
|
|
<zeroOrMore>
|
|
<element name="group">
|
|
<zeroOrMore>
|
|
<element name="variant">
|
|
<interleave>
|
|
<optional>
|
|
<attribute name="name"/>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="frequency">
|
|
<data type="nonNegativeInteger"/>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<element name="mesh">
|
|
<text/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="textures">
|
|
<zeroOrMore>
|
|
<element name="texture">
|
|
<interleave>
|
|
<optional>
|
|
<attribute name="file"/>
|
|
</optional>
|
|
<attribute name="name"/>
|
|
</interleave>
|
|
</element>
|
|
</zeroOrMore>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="decal">
|
|
<interleave>
|
|
<attribute name="width">
|
|
<data type="float"/>
|
|
</attribute>
|
|
<!-- X -->
|
|
<attribute name="depth">
|
|
<data type="float"/>
|
|
</attribute>
|
|
<!-- Z -->
|
|
<attribute name="angle">
|
|
<data type="float"/>
|
|
</attribute>
|
|
<attribute name="offsetx">
|
|
<data type="float"/>
|
|
</attribute>
|
|
<attribute name="offsetz">
|
|
<data type="float"/>
|
|
</attribute>
|
|
</interleave>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="particles">
|
|
<attribute name="file"/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="colour">
|
|
<list>
|
|
<group>
|
|
<data type="nonNegativeInteger"/>
|
|
<!-- R -->
|
|
<data type="nonNegativeInteger"/>
|
|
<!-- G -->
|
|
<data type="nonNegativeInteger"/>
|
|
</group>
|
|
<!-- B -->
|
|
</list>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="animations">
|
|
<zeroOrMore>
|
|
<element name="animation">
|
|
<interleave>
|
|
<attribute name="name"/>
|
|
<optional>
|
|
<attribute name="file"/>
|
|
</optional>
|
|
<attribute name="speed">
|
|
<data type="nonNegativeInteger"/>
|
|
</attribute>
|
|
<optional>
|
|
<attribute name="event">
|
|
<data type="decimal">
|
|
<param name="minInclusive">0</param>
|
|
<param name="maxInclusive">1</param>
|
|
</data>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="load">
|
|
<data type="decimal">
|
|
<param name="minInclusive">0</param>
|
|
<param name="maxInclusive">1</param>
|
|
</data>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="sound">
|
|
<data type="decimal">
|
|
<param name="minInclusive">0</param>
|
|
<param name="maxInclusive">1</param>
|
|
</data>
|
|
</attribute>
|
|
</optional>
|
|
</interleave>
|
|
</element>
|
|
</zeroOrMore>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="props">
|
|
<zeroOrMore>
|
|
<element name="prop">
|
|
<interleave>
|
|
<optional>
|
|
<attribute name="actor"/>
|
|
</optional>
|
|
<attribute name="attachpoint"/>
|
|
<optional>
|
|
<attribute name="minheight">
|
|
<data type="float"/>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="maxheight">
|
|
<data type="float"/>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="selectable">
|
|
<choice>
|
|
<value>true</value>
|
|
<value>false</value>
|
|
</choice>
|
|
</attribute>
|
|
</optional>
|
|
</interleave>
|
|
</element>
|
|
</zeroOrMore>
|
|
</element>
|
|
</optional>
|
|
</interleave>
|
|
</element>
|
|
</zeroOrMore>
|
|
</element>
|
|
</zeroOrMore>
|
|
<optional>
|
|
<element name="castshadow">
|
|
<!-- flag; true if present -->
|
|
<empty/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="float">
|
|
<!-- flag; true if present -->
|
|
<empty/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="material">
|
|
<text/>
|
|
</element>
|
|
</optional>
|
|
</interleave>
|
|
</element>
|