Code

Format the .inx RELAX NG schema, to make it more readable, and to allow diffs against...
authorsasilver <sasilver@users.sourceforge.net>
Sun, 15 Jun 2008 15:30:55 +0000 (15:30 +0000)
committersasilver <sasilver@users.sourceforge.net>
Sun, 15 Jun 2008 15:30:55 +0000 (15:30 +0000)
share/extensions/inkscape.extension.rng

index b006254d7d4b0c10b6398000aef1efe39df42896..b12f1d3eaedbe8f89d0ae63aefd2782719506fbd 100644 (file)
@@ -1,3 +1,319 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://www.inkscape.org/namespace/inkscape/extension" xmlns="http://relaxng.org/ns/structure/1.0"><start><element name="inkscape-extension"><element name="_name"><text/></element><element name="id"><text/></element><zeroOrMore><element name="dependency"><attribute name="type"><ref name="inx.dependency-type.values"/></attribute><optional><attribute name="location"><ref name="inx.location.values"/></attribute></optional><optional><attribute name="_description"><text/></attribute></optional><text/></element></zeroOrMore><zeroOrMore><choice><ref name="inx.parameters"/><element name="param"><attribute name="name"/><attribute name="type"><value>notebook\r
-</value></attribute><oneOrMore><element name="page"><attribute name="name"/><attribute name="_gui-text"/><oneOrMore><ref name="inx.parameters"/></oneOrMore></element></oneOrMore></element></choice></zeroOrMore><choice><element name="input"><ref name="inx.io.common"/><optional><element name="output_extension"><text/></element></optional></element><element name="output"><ref name="inx.io.common"/><optional><element name="dataloss"><data type="boolean"/></element></optional></element><element name="effect"><optional><attribute name="needs-document"><data type="boolean"/></attribute></optional><optional><attribute name="needs-live-preview"><data type="boolean"/></attribute></optional><element name="object-type"><choice><value type="token">all</value><value type="token">path</value><value type="token">rect</value></choice></element><element name="effects-menu"><choice><attribute name="hidden"><value type="boolean">true</value></attribute><group><element name="submenu"><attribute name="_name"><text/></attribute><empty/></element></group></choice></element></element><element name="path-effect"><empty/></element><element name="print"><empty/></element></choice><choice><element name="script"><group><element name="command"><ref name="inx.reldir.attr"/><optional><attribute name="interpreter"><choice><value>python</value><value>perl</value></choice></attribute></optional><text/></element><optional><element name="helper_extension"><data type="NMTOKEN"/></element></optional><zeroOrMore><element name="check"><ref name="inx.reldir.attr"/><text/></element></zeroOrMore></group></element><element name="xslt"><element name="file"><ref name="inx.reldir.attr"/><text/></element></element><element name="plugin"><element name="name"><text/></element></element></choice></element></start><define name="inx.reldir.attr"><attribute name="reldir"><ref name="inx.location.values"/></attribute></define><define name="inx.location.values"><choice><value>extensions</value><value>path</value><value>plugins</value></choice></define><define name="inx.dependency-type.values"><choice><value>extension</value><value>executable</value><value>plugin</value></choice></define><define name="inx.io.common"><element name="extension"><text/></element><element name="mimetype"><text/></element><optional><element name="_filetypename"><text/></element></optional><optional><element name="_filetypetooltip"><text/></element></optional></define><define name="inx.parameter"><attribute name="name"><data type="token"/></attribute><optional><attribute name="gui-hidden"><data type="boolean"/></attribute></optional><optional><attribute name="_gui-text"/></optional><choice><group><attribute name="type"><value>int</value></attribute><optional><attribute name="min"><data type="integer"/></attribute></optional><optional><attribute name="max"><data type="integer"/></attribute></optional><choice><empty/><data type="integer"/></choice></group><group><attribute name="type"><value>float</value></attribute><optional><attribute name="precision"><data type="integer"/></attribute></optional><optional><attribute name="min"><data type="float"/></attribute></optional><optional><attribute name="max"><data type="float"/></attribute></optional><data type="float"/></group><group><attribute name="type"><value>boolean</value></attribute><data type="boolean"/></group><group><attribute name="type"><value>string</value></attribute><optional><attribute name="max_length"><data type="integer"/></attribute></optional><choice><empty/><text/></choice></group><group><attribute name="type"><value>description</value></attribute><text/></group><group><attribute name="type"><value>enum</value></attribute><oneOrMore><choice><element name="_item"><ref name="inx.parameter.enum.item"/></element><element name="item"><ref name="inx.parameter.enum.item"/></element></choice></oneOrMore></group><group><attribute name="type"><value>optiongroup</value></attribute><oneOrMore><choice><element name="option"><ref name="inx.parameter.optiongroup.option"/></element><element name="_option"><ref name="inx.parameter.optiongroup.option"/></element></choice></oneOrMore></group></choice></define><define name="inx.parameters"><choice><element name="param"><ref name="inx.parameter"/></element><element name="_param"><ref name="inx.parameter"/></element></choice></define><define name="inx.parameter.enum.item"><attribute name="value"/><data type="token"/></define><define name="inx.parameter.optiongroup.option"><optional><attribute name="value"><text/></attribute></optional><text/></define></grammar>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://www.inkscape.org/namespace/inkscape/extension">
+  <start>
+    <element name="inkscape-extension">
+      <element name="_name">
+        <text/>
+      </element>
+      <element name="id">
+        <text/>
+      </element>
+      <zeroOrMore>
+        <element name="dependency">
+          <attribute name="type">
+            <ref name="inx.dependency-type.values"/>
+          </attribute>
+          <optional>
+            <attribute name="location">
+              <ref name="inx.location.values"/>
+            </attribute>
+          </optional>
+          <optional>
+            <attribute name="_description">
+              <text/>
+            </attribute>
+          </optional>
+          <text/>
+        </element>
+      </zeroOrMore>
+      <zeroOrMore>
+        <choice>
+          <ref name="inx.parameters"/>
+          <element name="param">
+            <attribute name="name"/>
+            <attribute name="type">
+              <value>notebook</value>
+            </attribute>
+            <oneOrMore>
+              <element name="page">
+                <attribute name="name"/>
+                <attribute name="_gui-text"/>
+                <oneOrMore>
+                  <ref name="inx.parameters"/>
+                </oneOrMore>
+              </element>
+            </oneOrMore>
+          </element>
+        </choice>
+      </zeroOrMore>
+      <choice>
+        <element name="input">
+          <ref name="inx.io.common"/>
+          <optional>
+            <element name="output_extension">
+              <text/>
+            </element>
+          </optional>
+        </element>
+        <element name="output">
+          <ref name="inx.io.common"/>
+          <optional>
+            <element name="dataloss">
+              <data type="boolean"/>
+            </element>
+          </optional>
+        </element>
+        <element name="effect">
+          <optional>
+            <attribute name="needs-document">
+              <data type="boolean"/>
+            </attribute>
+          </optional>
+          <optional>
+            <attribute name="needs-live-preview">
+              <data type="boolean"/>
+            </attribute>
+          </optional>
+          <element name="object-type">
+            <choice>
+              <value type="token">all</value>
+              <value type="token">path</value>
+              <value type="token">rect</value>
+            </choice>
+          </element>
+          <element name="effects-menu">
+            <choice>
+              <attribute name="hidden">
+                <value type="boolean">true</value>
+              </attribute>
+              <group>
+                <element name="submenu">
+                  <attribute name="_name">
+                    <text/>
+                  </attribute>
+                  <empty/>
+                </element>
+              </group>
+            </choice>
+          </element>
+        </element>
+        <element name="path-effect">
+          <empty/>
+        </element>
+        <element name="print">
+          <empty/>
+        </element>
+      </choice>
+      <choice>
+        <element name="script">
+          <group>
+            <element name="command">
+              <ref name="inx.reldir.attr"/>
+              <optional>
+                <attribute name="interpreter">
+                  <choice>
+                    <value>python</value>
+                    <value>perl</value>
+                  </choice>
+                </attribute>
+              </optional>
+              <text/>
+            </element>
+            <optional>
+              <element name="helper_extension">
+                <data type="NMTOKEN"/>
+              </element>
+            </optional>
+            <zeroOrMore>
+              <element name="check">
+                <ref name="inx.reldir.attr"/>
+                <text/>
+              </element>
+            </zeroOrMore>
+          </group>
+        </element>
+        <element name="xslt">
+          <element name="file">
+            <ref name="inx.reldir.attr"/>
+            <text/>
+          </element>
+        </element>
+        <element name="plugin">
+          <element name="name">
+            <text/>
+          </element>
+        </element>
+      </choice>
+    </element>
+  </start>
+  <define name="inx.reldir.attr">
+    <attribute name="reldir">
+      <ref name="inx.location.values"/>
+    </attribute>
+  </define>
+  <define name="inx.location.values">
+    <choice>
+      <value>extensions</value>
+      <value>path</value>
+      <value>plugins</value>
+    </choice>
+  </define>
+  <define name="inx.dependency-type.values">
+    <choice>
+      <value>extension</value>
+      <value>executable</value>
+      <value>plugin</value>
+    </choice>
+  </define>
+  <define name="inx.io.common">
+    <element name="extension">
+      <text/>
+    </element>
+    <element name="mimetype">
+      <text/>
+    </element>
+    <optional>
+      <element name="_filetypename">
+        <text/>
+      </element>
+    </optional>
+    <optional>
+      <element name="_filetypetooltip">
+        <text/>
+      </element>
+    </optional>
+  </define>
+  <define name="inx.parameter">
+    <attribute name="name">
+      <data type="token"/>
+    </attribute>
+    <optional>
+      <attribute name="gui-hidden">
+        <data type="boolean"/>
+      </attribute>
+    </optional>
+    <optional>
+      <attribute name="_gui-text"/>
+    </optional>
+    <choice>
+      <group>
+        <attribute name="type">
+          <value>int</value>
+        </attribute>
+        <optional>
+          <attribute name="min">
+            <data type="integer"/>
+          </attribute>
+        </optional>
+        <optional>
+          <attribute name="max">
+            <data type="integer"/>
+          </attribute>
+        </optional>
+        <choice>
+          <empty/>
+          <data type="integer"/>
+        </choice>
+      </group>
+      <group>
+        <attribute name="type">
+          <value>float</value>
+        </attribute>
+        <optional>
+          <attribute name="precision">
+            <data type="integer"/>
+          </attribute>
+        </optional>
+        <optional>
+          <attribute name="min">
+            <data type="float"/>
+          </attribute>
+        </optional>
+        <optional>
+          <attribute name="max">
+            <data type="float"/>
+          </attribute>
+        </optional>
+        <data type="float"/>
+      </group>
+      <group>
+        <attribute name="type">
+          <value>boolean</value>
+        </attribute>
+        <data type="boolean"/>
+      </group>
+      <group>
+        <attribute name="type">
+          <value>string</value>
+        </attribute>
+        <optional>
+          <attribute name="max_length">
+            <data type="integer"/>
+          </attribute>
+        </optional>
+        <choice>
+          <empty/>
+          <text/>
+        </choice>
+      </group>
+      <group>
+        <attribute name="type">
+          <value>description</value>
+        </attribute>
+        <text/>
+      </group>
+      <group>
+        <attribute name="type">
+          <value>enum</value>
+        </attribute>
+        <oneOrMore>
+          <choice>
+            <element name="_item">
+              <ref name="inx.parameter.enum.item"/>
+            </element>
+            <element name="item">
+              <ref name="inx.parameter.enum.item"/>
+            </element>
+          </choice>
+        </oneOrMore>
+      </group>
+      <group>
+        <attribute name="type">
+          <value>optiongroup</value>
+        </attribute>
+        <oneOrMore>
+          <choice>
+            <element name="option">
+              <ref name="inx.parameter.optiongroup.option"/>
+            </element>
+            <element name="_option">
+              <ref name="inx.parameter.optiongroup.option"/>
+            </element>
+          </choice>
+        </oneOrMore>
+      </group>
+    </choice>
+  </define>
+  <define name="inx.parameters">
+    <choice>
+      <element name="param">
+        <ref name="inx.parameter"/>
+      </element>
+      <element name="_param">
+        <ref name="inx.parameter"/>
+      </element>
+    </choice>
+  </define>
+  <define name="inx.parameter.enum.item">
+    <attribute name="value"/>
+    <data type="token"/>
+  </define>
+  <define name="inx.parameter.optiongroup.option">
+    <optional>
+      <attribute name="value">
+        <text/>
+      </attribute>
+    </optional>
+    <text/>
+  </define>
+</grammar>