summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/schema/rng/omdocrt.rng
blob: 4ed1dcee6edf5841e76f8e8bd4990c30bb946924 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?xml version="1.0" encoding="UTF-8"?>
<!--
  A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module RT
  $Id: omdocrt.rnc 8973 2011-09-09 12:45:16Z kohlhase $
  $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocrt.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 xmlns:omdoc="http://omdoc.org/ns" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
  <define name="rst.attribs">
    <optional>
      <ref name="verbalizes.attrib"/>
    </optional>
  </define>
  <define name="inline.class" combine="interleave">
    <a:documentation>We extend the three main content models by xhtml elements</a:documentation>
    <grammar>
      <include href="pxhtml.rng">
        <define name="Inline.model">
          <interleave>
            <text/>
            <parentRef name="metadata.class"/>
            <ref name="Inline.class"/>
          </interleave>
        </define>
      </include>
      <define name="Inline.class" combine="interleave">
        <parentRef name="op.class"/>
      </define>
      <define name="span.attlist" combine="interleave">
        <parentRef name="rst.attribs"/>
      </define>
      <start>
        <ref name="Inline.class"/>
      </start>
    </grammar>
  </define>
  <define name="plike.class" combine="interleave">
    <grammar>
      <include href="pxhtml.rng">
        <define name="Inline.model">
          <interleave>
            <text/>
            <parentRef name="metadata.class"/>
            <ref name="Inline.class"/>
          </interleave>
        </define>
      </include>
      <define name="Common.attrib" combine="interleave">
        <interleave>
          <parentRef name="idrest.attribs"/>
          <parentRef name="parallel.attribs"/>
        </interleave>
      </define>
      <define name="Inline.class" combine="interleave">
        <parentRef name="op.class"/>
      </define>
      <define name="span.attlist" combine="interleave">
        <parentRef name="rst.attribs"/>
      </define>
      <start>
        <ref name="Block.class"/>
      </start>
    </grammar>
  </define>
  <define name="omdoc.class" combine="interleave">
    <grammar>
      <include href="pxhtml.rng">
        <define name="Inline.model">
          <interleave>
            <text/>
            <parentRef name="metadata.class"/>
            <ref name="Inline.class"/>
          </interleave>
        </define>
      </include>
      <define name="Common.attrib" combine="interleave">
        <interleave>
          <parentRef name="idrest.attribs"/>
          <parentRef name="parallel.attribs"/>
        </interleave>
      </define>
      <define name="Inline.class" combine="interleave">
        <parentRef name="op.class"/>
      </define>
      <define name="Block.cass" combine="interleave">
        <parentRef name="plike.class"/>
      </define>
      <define name="Flow.model" combine="interleave">
        <parentRef name="omdoc.class"/>
      </define>
      <define name="span.attlist" combine="interleave">
        <parentRef name="rst.attribs"/>
      </define>
      <start>
        <ref name="List.class"/>
      </start>
    </grammar>
  </define>
</grammar>