2012-01-31 01:32:22 +00:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0" ns="">
|
|
|
|
<start>
|
|
|
|
<element name="interface">
|
|
|
|
<optional>
|
|
|
|
<attribute name="domain">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
|
|
|
<ref name="requires"/>
|
|
|
|
<ref name="object"/>
|
2013-03-20 07:33:52 +00:00
|
|
|
<ref name="template"/>
|
2012-01-31 01:32:22 +00:00
|
|
|
<ref name="menu"/>
|
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</start>
|
|
|
|
<define name="requires">
|
|
|
|
<element name="requires">
|
|
|
|
<attribute name="lib">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="version">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<define name="object">
|
|
|
|
<element name="object">
|
|
|
|
<attribute name="id">
|
|
|
|
<data type="ID" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="class">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="type-func">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="constructor">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
|
|
|
<ref name="property"/>
|
|
|
|
<ref name="signal"/>
|
|
|
|
<ref name="child"/>
|
|
|
|
<ref name="ANY"/>
|
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</define>
|
2013-03-20 07:33:52 +00:00
|
|
|
<define name="template">
|
|
|
|
<element name="template">
|
|
|
|
<attribute name="class">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="parent">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
|
|
|
<ref name="property"/>
|
|
|
|
<ref name="signal"/>
|
|
|
|
<ref name="child"/>
|
|
|
|
<ref name="ANY"/>
|
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</define>
|
2012-01-31 01:32:22 +00:00
|
|
|
<define name="property">
|
|
|
|
<element name="property">
|
|
|
|
<attribute name="name">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="translatable">
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
<value>no</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="comments">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="context">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<text/>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<define name="signal">
|
|
|
|
<element name="signal">
|
|
|
|
<attribute name="name">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
<attribute name="handler">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="after">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="swapped">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="object">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="last_modification_time">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<empty/>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<define name="child">
|
|
|
|
<element name="child">
|
|
|
|
<optional>
|
|
|
|
<attribute name="type">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="internal-child">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
|
|
|
<ref name="object"/>
|
|
|
|
<ref name="ANY"/>
|
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<define name="menu">
|
|
|
|
<element name="menu">
|
|
|
|
<attribute name="id">
|
|
|
|
<data type="ID" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="domain">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
|
|
|
<ref name="item"/>
|
|
|
|
<ref name="submenu"/>
|
|
|
|
<ref name="section"/>
|
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<define name="item">
|
|
|
|
<element name="item">
|
|
|
|
<optional>
|
|
|
|
<attribute name="id">
|
|
|
|
<data type="ID" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
|
|
|
<ref name="attribute_"/>
|
|
|
|
<ref name="link"/>
|
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<define name="attribute_">
|
|
|
|
<element name="attribute">
|
|
|
|
<attribute name="name">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="type">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="translatable">
|
|
|
|
<choice>
|
|
|
|
<value>yes</value>
|
|
|
|
<value>no</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="context">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<attribute name="comments">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<optional>
|
|
|
|
<text/>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<define name="link">
|
|
|
|
<element name="link">
|
|
|
|
<optional>
|
|
|
|
<attribute name="id">
|
|
|
|
<data type="ID" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<attribute name="name">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
<zeroOrMore>
|
|
|
|
<ref name="item"/>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<define name="submenu">
|
|
|
|
<element name="submenu">
|
|
|
|
<optional>
|
|
|
|
<attribute name="id">
|
|
|
|
<data type="ID" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
|
|
|
<ref name="attribute_"/>
|
|
|
|
<ref name="item"/>
|
|
|
|
<ref name="submenu"/>
|
|
|
|
<ref name="section"/>
|
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<define name="section">
|
|
|
|
<element name="section">
|
|
|
|
<optional>
|
|
|
|
<attribute name="id">
|
|
|
|
<data type="ID" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
|
|
|
<zeroOrMore>
|
|
|
|
<choice>
|
|
|
|
<ref name="attribute_"/>
|
|
|
|
<ref name="item"/>
|
|
|
|
<ref name="submenu"/>
|
|
|
|
<ref name="section"/>
|
|
|
|
</choice>
|
|
|
|
</zeroOrMore>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<define name="ANY">
|
|
|
|
<element>
|
|
|
|
<anyName>
|
|
|
|
<except>
|
|
|
|
<name>interface</name>
|
|
|
|
<name>requires</name>
|
|
|
|
<name>object</name>
|
|
|
|
<name>property</name>
|
|
|
|
<name>signal</name>
|
|
|
|
<name>child</name>
|
|
|
|
<name>menu</name>
|
|
|
|
<name>item</name>
|
|
|
|
<name>attribute</name>
|
|
|
|
<name>link</name>
|
|
|
|
<name>submenu</name>
|
|
|
|
<name>section</name>
|
|
|
|
</except>
|
|
|
|
</anyName>
|
|
|
|
<zeroOrMore>
|
|
|
|
<attribute>
|
|
|
|
<anyName/>
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</zeroOrMore>
|
|
|
|
<interleave>
|
|
|
|
<zeroOrMore>
|
|
|
|
<ref name="ALL"/>
|
|
|
|
</zeroOrMore>
|
|
|
|
<optional>
|
|
|
|
<text/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
<define name="ALL">
|
|
|
|
<element>
|
|
|
|
<anyName/>
|
|
|
|
<zeroOrMore>
|
|
|
|
<attribute>
|
|
|
|
<anyName/>
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</zeroOrMore>
|
|
|
|
<interleave>
|
|
|
|
<zeroOrMore>
|
|
|
|
<ref name="ALL"/>
|
|
|
|
</zeroOrMore>
|
|
|
|
<optional>
|
|
|
|
<text/>
|
|
|
|
</optional>
|
|
|
|
</interleave>
|
|
|
|
</element>
|
|
|
|
</define>
|
|
|
|
</grammar>
|