summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-03-30 23:23:02 +0000
committerKarl Berry <karl@freefriends.org>2012-03-30 23:23:02 +0000
commit849996eca72af498b48b10fbea7f14c4b9d21b8f (patch)
tree2d40d42dfc9fc0b0622212cc220868f98345305f /Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng
parentd82e1c23973fd0271f93686f487bd1cee8dcd947 (diff)
restore stex (ca. 28jan12)
git-svn-id: svn://tug.org/texlive/trunk@25792 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng')
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng330
1 files changed, 330 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng
new file mode 100644
index 00000000000..b7672c89a65
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng
@@ -0,0 +1,330 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module EXT
+ $Id: omdocext.rnc 8958 2011-09-02 06:01:13Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocext.rnc $
+ See the documentation and examples at http://www.omdoc.org
+ Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL)
+-->
+<grammar ns="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="plike.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="omlet"/>
+ </zeroOrMore>
+ </define>
+ <define name="omdoc.class" combine="interleave">
+ <interleave>
+ <zeroOrMore>
+ <ref name="private"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="code"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="private.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <optional>
+ <ref name="for.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="requires">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="reformulates">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="private.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <oneOrMore>
+ <ref name="data"/>
+ </oneOrMore>
+ </interleave>
+ </define>
+ <define name="private">
+ <element name="private">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="private.attribs"/>
+ <ref name="private.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <!--
+ reformulates is a URIref to the omdoc elements that are reformulated by the
+ system-specific information in this element
+ -->
+ <define name="code.attribs">
+ <ref name="private.attribs"/>
+ </define>
+ <define name="code.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <zeroOrMore>
+ <ref name="data"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="input"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="output"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="effect"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="code">
+ <element name="code">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="code.attribs"/>
+ <ref name="code.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="input.attribs">
+ <ref name="id.attribs"/>
+ </define>
+ <define name="input.model">
+ <ref name="mcf.class"/>
+ </define>
+ <define name="input">
+ <element name="input">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="input.attribs"/>
+ <ref name="input.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="output.attribs">
+ <ref name="id.attribs"/>
+ </define>
+ <define name="output.model">
+ <ref name="mcf.class"/>
+ </define>
+ <define name="output">
+ <element name="output">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="output.attribs"/>
+ <ref name="output.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="effect.attribs">
+ <ref name="id.attribs"/>
+ </define>
+ <define name="effect.model">
+ <ref name="mcf.class"/>
+ </define>
+ <define name="effect">
+ <element name="effect">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="effect.attribs"/>
+ <ref name="effect.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="data.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="href">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="size">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="pto">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="pto-version">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="original">
+ <choice>
+ <value>external</value>
+ <value>local</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="data.textformat">
+ <value>TeX</value>
+ </define>
+ <define name="data.text">
+ <interleave>
+ <ref name="data.attribs"/>
+ <optional>
+ <attribute name="format">
+ <ref name="data.textformat"/>
+ </attribute>
+ </optional>
+ <text/>
+ </interleave>
+ </define>
+ <define name="data.any">
+ <interleave>
+ <ref name="data.attribs"/>
+ <optional>
+ <attribute name="format">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <ref name="Anything"/>
+ </interleave>
+ </define>
+ <define name="data.model">
+ <choice>
+ <ref name="data.text"/>
+ <ref name="data.any"/>
+ </choice>
+ </define>
+ <define name="data">
+ <element name="data">
+ <choice>
+ <ref name="tref"/>
+ <ref name="data.model"/>
+ </choice>
+ </element>
+ </define>
+ <define name="omlet.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="action">
+ <choice>
+ <value>display</value>
+ <value>execute</value>
+ <value>other</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="show">
+ <choice>
+ <value>new</value>
+ <value>replace</value>
+ <value>embed</value>
+ <value>other</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="actuate">
+ <choice>
+ <value>onPresent</value>
+ <value>onLoad</value>
+ <value>onRequest</value>
+ <value>other</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="omlet.param">
+ <interleave>
+ <text/>
+ <ref name="inline.class"/>
+ <zeroOrMore>
+ <ref name="param"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="omlet.data">
+ <choice>
+ <attribute name="data">
+ <data type="anyURI"/>
+ </attribute>
+ <choice>
+ <ref name="private"/>
+ <ref name="code"/>
+ </choice>
+ </choice>
+ </define>
+ <define name="omlet.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <ref name="omlet.param"/>
+ <ref name="omlet.data"/>
+ </interleave>
+ </define>
+ <define name="omlet">
+ <element name="omlet">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="omlet.attribs"/>
+ <ref name="omlet.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="param.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <attribute name="name">
+ <data type="string"/>
+ </attribute>
+ <optional>
+ <attribute name="value">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="valuetype">
+ <choice>
+ <value>data</value>
+ <value>ref</value>
+ <value>object</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="param.model">
+ <optional>
+ <ref name="mobj"/>
+ </optional>
+ </define>
+ <define name="param">
+ <element name="param">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="param.attribs"/>
+ <ref name="param.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+</grammar>