diff options
Diffstat (limited to 'data/doc/sisu/v1/model/xml/input/rng/dom.rng')
-rw-r--r-- | data/doc/sisu/v1/model/xml/input/rng/dom.rng | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/data/doc/sisu/v1/model/xml/input/rng/dom.rng b/data/doc/sisu/v1/model/xml/input/rng/dom.rng new file mode 100644 index 00000000..746421c8 --- /dev/null +++ b/data/doc/sisu/v1/model/xml/input/rng/dom.rng @@ -0,0 +1,166 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- dom rng input model, part of SiSU and under the same license --> +<grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <element name="document"> + <element name="head"> + <oneOrMore> + <element name="header"> + <attribute name="class"> + <data type="NCName"/> + </attribute> + <choice> + <element name="creator"> + <text/> + </element> + <element name="date"> + <data type="NMTOKEN"/> + </element> + <element name="date.available"> + <data type="NMTOKEN"/> + </element> + <element name="date.created"> + <data type="NMTOKEN"/> + </element> + <element name="date.issued"> + <data type="NMTOKEN"/> + </element> + <element name="date.modified"> + <data type="NMTOKEN"/> + </element> + <element name="date.valid"> + <data type="NMTOKEN"/> + </element> + <element name="italicize"> + <text/> + </element> + <element name="language"> + <data type="NCName"/> + </element> + <element name="links"> + <text/> + </element> + <element name="markup"> + <text/> + </element> + <element name="rights"> + <text/> + </element> + <element name="skin"> + <data type="NCName"/> + </element> + <element name="subject"> + <text/> + </element> + <element name="title"> + <text/> + </element> + <element name="type"> + <data type="NCName"/> + </element> + <element name="vocabulary"> + <data type="NCName"/> + </element> + </choice> + </element> + </oneOrMore> + </element> + <element name="body"> + <element name="heading1"> + <ref name="heading"/> + <element name="heading2"> + <ref name="heading"/> + <oneOrMore> + <ref name="contents1"/> + </oneOrMore> + <oneOrMore> + <element name="heading3"> + <ref name="heading"/> + <oneOrMore> + <ref name="contents1"/> + </oneOrMore> + </element> + </oneOrMore> + </element> + </element> + </element> + </element> + </start> + <define name="heading"> + <element name="heading"> + <ref name="object"/> + </element> + </define> + <define name="contents1"> + <element name="contents1"> + <ref name="heading"/> + <ref name="content"/> + <zeroOrMore> + <element name="contents2"> + <ref name="heading"/> + <ref name="content"/> + <zeroOrMore> + <element name="contents3"> + <ref name="heading"/> + <ref name="content"/> + </element> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </define> + <define name="object"> + <element name="object"> + <element name="text"> + <oneOrMore> + <choice> + <text/> + <ref name="italic"/> + <element name="bold"> + <data type="NMTOKEN"/> + </element> + <element name="endnote"> + <optional> + <element name="symbol"> + <text/> + </element> + </optional> + <element name="note"> + <oneOrMore> + <choice> + <text/> + <ref name="italic"/> + <element name="br"> + <empty/> + </element> + </choice> + </oneOrMore> + </element> + </element> + <element name="underscore"> + <ref name="italic"/> + </element> + <element name="image.path"> + <text/> + </element> + <element name="italic"> + <text/> + </element> + </choice> + </oneOrMore> + </element> + </element> + </define> + <define name="italic"> + <element name="italic"> + <text/> + </element> + </define> + <define name="content"> + <element name="content"> + <oneOrMore> + <ref name="object"/> + </oneOrMore> + </element> + </define> +</grammar> |