source: BOOK/schema/clfs/0.1/rng/clfs.rng @ 4fe47e3

Last change on this file since 4fe47e3 was 4fe47e3, checked in by Joe Ciccone <jciccone@…>, 13 years ago

Add the initial changes for a new xml format for the packages part
of the book. This is still preliminary and currently is pretty
broken, more to come in the future as bugs get squashed.

  • Property mode set to 100644
File size: 3.2 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<grammar xmlns:c="http://schema.cross-lfs.org/book" xmlns="http://relaxng.org/ns/structure/1.0">
3  <!-- We are building around the DocBook Schema -->
4  <include href="docbook.rng">
5    <define name="sect1">
6      <choice>
7        <element name="sect1">
8          <ref name="sect1.attlist"/>
9          <optional>
10            <ref name="sect1info"/>
11          </optional>
12          <ref name="sect.title.content"/>
13          <zeroOrMore>
14            <ref name="nav.class"/>
15          </zeroOrMore>
16          <choice>
17            <group>
18              <oneOrMore>
19                <ref name="divcomponent.mix"/>
20              </oneOrMore>
21              <choice>
22                <zeroOrMore>
23                  <ref name="refentry.class"/>
24                </zeroOrMore>
25                <zeroOrMore>
26                  <ref name="sect2"/>
27                </zeroOrMore>
28                <zeroOrMore>
29                  <ref name="simplesect"/>
30                </zeroOrMore>
31              </choice>
32            </group>
33            <oneOrMore>
34              <ref name="refentry.class"/>
35            </oneOrMore>
36            <oneOrMore>
37              <ref name="sect2"/>
38            </oneOrMore>
39            <oneOrMore>
40              <ref name="simplesect"/>
41            </oneOrMore>
42          </choice>
43          <zeroOrMore>
44            <ref name="nav.class"/>
45          </zeroOrMore>
46        </element>
47        <ref name="clfs.sect1.package"/>
48      </choice>
49    </define>
50  </include>
51  <!-- Extend the standard profiling attributes -->
52  <define name="local.effectivity.attrib" combine="interleave">
53    <ref name="clfs.attrib.arch"/>
54    <ref name="clfs.attrib.bits"/>
55    <ref name="clfs.attrib.multilib"/>
56  </define>
57  <!-- Custom attributes unsed in this schema -->
58  <define name="clfs.attrib.arch">
59    <optional>
60      <attribute name="c:arch"/>
61    </optional>
62  </define>
63  <define name="clfs.attrib.bits">
64    <optional>
65      <attribute name="c:bits"/>
66    </optional>
67  </define>
68  <define name="clfs.attrib.multilib">
69    <optional>
70      <attribute name="c:multilib">
71        <choice>
72          <value>true</value>
73          <value>false</value>
74        </choice>
75      </attribute>
76    </optional>
77  </define>
78  <define name="clfs.attrib.multibuild">
79    <attribute name="c:multibuild">
80      <choice>
81        <value>true</value>
82        <value>false</value>
83      </choice>
84    </attribute>
85  </define>
86  <!-- Package element to be used inside of the chapter element -->
87  <define name="clfs.sect1.package">
88    <element name="c:package">
89      <attribute name="id"/>
90      <ref name="clfs.attrib.arch"/>
91      <ref name="clfs.attrib.bits"/>
92      <ref name="clfs.attrib.multilib"/>
93      <ref name="clfs.attrib.multibuild"/>
94      <ref name="sect1"/>
95    </element>
96  </define>
97  <!-- Switch case to be used inside of a sect1 -->
98  <define name="clfs.sect1.switch">
99    <element name="c:switch">
100      <zeroOrMore>
101        <element name="c:case">
102          <ref name="clfs.attrib.arch"/>
103          <ref name="clfs.attrib.bits"/>
104          <ref name="clfs.attrib.multilib"/>
105        </element>
106      </zeroOrMore>
107      <element name="c:default">
108        <empty/>
109      </element>
110    </element>
111  </define>
112</grammar>
Note: See TracBrowser for help on using the repository browser.