summaryrefslogtreecommitdiff
path: root/sandbox/mallard/rng/db-title.rng
blob: 91acecf05a2191cecd547b49cb3d1dfd59ccfd1e (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
101
102
103
104
105
106
107
108
109
<?xml version='1.0' encoding='utf-8'?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
	 xmlns:ref="http://www.gnome.org/~shaunm/mallard/reference">

  <ref:title>Titles</ref:title>

  <!-- Stub Content Models -->

  <div ref:role="stub">
    <ref:title>Stub Content Models</ref:title>

    <define name="db-title.stub.attr-common">
      <ref:refname>db-title.stub.attr-common</ref:refname>
      <ref:refpurpose>
	A stub model for common attributes.
      </ref:refpurpose>
      <notAllowed/>
    </define>

    <define name="db-title.stub.inline">
      <ref:refname>db-title.stub.inline</ref:refname>
      <ref:refpurpose>
	A stub model for inline content.
      </ref:refpurpose>
      <notAllowed/>
    </define>
  </div>

  <!-- Content Model Implementations -->

  <div ref:role="model">
    <ref:title>Content Model Implementations</ref:title>

    <define name="db-title.model.title">
      <ref:refname>db-title.model.title</ref:refname>
      <ref:refpurpose>
	A model allowing <ref:xmltag>title</ref:xmltag> and
	<ref:xmltag>titleabbrev</ref:xmltag>, which can be used
	to implement the stub title model for many modules.
      </ref:refpurpose>

      <ref name="db-title.element.title"/>
      <optional>
	<ref name="db-title.element.titleabbrev"/>
      </optional>
    </define>

    <define name="db-title.model.subtitle">
      <ref:refname>db-title.model.subtitle</ref:refname>
      <ref:refpurpose>
	A model allowing <ref:xmltag>title</ref:xmltag>,
	<ref:xmltag>titleabbrev</ref:xmltag>, and
	<ref:xmltag>subtitle</ref:xmltag>, which can be used
	to implement the stub title model for many modules.
      </ref:refpurpose>

      <ref name="db-title.element.title"/>
      <optional>
	<ref name="db-title.element.titleabbrev"/>
      </optional>
      <optional>
	<ref name="db-title.element.subtitle"/>
      </optional>
    </define>
  </div>

  <!-- Element Definitions -->

  <div ref:role="element">
    <ref:title>Element Definitions</ref:title>

    <define name="db-title.element.subtitle">
      <element name="subtitle">
	<ref:refname>subtitle</ref:refname>
	<ref:refpurpose>
	  The subtitle of a document or section.
	</ref:refpurpose>

	<ref name="db-title.stub.attr-common"/>
	<ref name="db-title.stub.inline"/>
      </element>
    </define>

    <define name="db-title.element.title">
      <element name="title">
	<ref:refname>title</ref:refname>
	<ref:refpurpose>
	  The title of a document or section.
	</ref:refpurpose>

	<ref name="db-title.stub.attr-common"/>
	<ref name="db-title.stub.inline"/>
      </element>
    </define>

    <define name="db-title.element.titleabbrev">
      <element name="titleabbrev">
	<ref:refname>titleabbrev</ref:refname>
	<ref:refpurpose>
	  The abbreviation of a title.
	</ref:refpurpose>

	<ref name="db-title.stub.attr-common"/>
	<ref name="db-title.stub.inline"/>
      </element>
    </define>

  </div>
</grammar>