grammars/isodoc.rng in relaton-un-1.9.0 vs grammars/isodoc.rng in relaton-un-1.10.0
- old
+ new
@@ -15,11 +15,11 @@
DO NOT introduce a namespace here. We do not want a distinct namespace
for these elements, and a distinct namespace for any grammar inheriting
these elements; we just want one namespace for any child grammars
of this.
-->
-<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<include href="reqt.rng"/>
<!-- include "biblio.rnc" { } -->
<include href="basicdoc.rng">
<start>
<ref name="standard-document"/>
@@ -30,10 +30,72 @@
<attribute name="abbreviation"/>
</optional>
<ref name="DocumentType"/>
</element>
</define>
+ <define name="index">
+ <element name="index">
+ <optional>
+ <attribute name="to">
+ <data type="IDREF"/>
+ </attribute>
+ </optional>
+ <element name="primary">
+ <oneOrMore>
+ <choice>
+ <ref name="PureTextElement"/>
+ <ref name="stem"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ <optional>
+ <element name="secondary">
+ <oneOrMore>
+ <choice>
+ <ref name="PureTextElement"/>
+ <ref name="stem"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </optional>
+ <optional>
+ <element name="tertiary">
+ <oneOrMore>
+ <choice>
+ <ref name="PureTextElement"/>
+ <ref name="stem"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </optional>
+ </element>
+ </define>
+ <define name="bibitem">
+ <element name="bibitem">
+ <attribute name="id">
+ <data type="ID"/>
+ </attribute>
+ <optional>
+ <attribute name="hidden">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <ref name="BibliographicItem"/>
+ </element>
+ </define>
+ <define name="section-title">
+ <element name="title">
+ <zeroOrMore>
+ <ref name="TextElement"/>
+ </zeroOrMore>
+ </element>
+ <zeroOrMore>
+ <element name="variant-title">
+ <ref name="TypedTitleString"/>
+ </element>
+ </zeroOrMore>
+ </define>
<define name="hyperlink">
<element name="link">
<attribute name="target">
<data type="anyURI"/>
</attribute>
@@ -44,15 +106,17 @@
</optional>
<optional>
<attribute name="alt"/>
</optional>
<optional>
- <attribute name="updatetype">
+ <attribute name="update-type">
<data type="boolean"/>
</attribute>
</optional>
- <text/>
+ <oneOrMore>
+ <ref name="PureTextElement"/>
+ </oneOrMore>
</element>
</define>
<define name="xref">
<element name="xref">
<attribute name="target">
@@ -86,11 +150,13 @@
<optional>
<attribute name="droploc">
<data type="boolean"/>
</attribute>
</optional>
- <text/>
+ <oneOrMore>
+ <ref name="PureTextElement"/>
+ </oneOrMore>
</element>
</define>
<define name="erefType">
<optional>
<attribute name="normative">
@@ -116,11 +182,13 @@
<attribute name="droploc">
<data type="boolean"/>
</attribute>
</optional>
<ref name="CitationType"/>
- <text/>
+ <oneOrMore>
+ <ref name="PureTextElement"/>
+ </oneOrMore>
</define>
<define name="ul">
<element name="ul">
<attribute name="id">
<data type="ID"/>
@@ -133,10 +201,18 @@
<optional>
<attribute name="keep-lines-together">
<data type="boolean"/>
</attribute>
</optional>
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
<oneOrMore>
<ref name="ul_li"/>
</oneOrMore>
<zeroOrMore>
<ref name="note"/>
@@ -156,19 +232,29 @@
<optional>
<attribute name="keep-lines-together">
<data type="boolean"/>
</attribute>
</optional>
- <attribute name="type">
- <choice>
- <value>roman</value>
- <value>alphabet</value>
- <value>arabic</value>
- <value>roman_upper</value>
- <value>alphabet_upper</value>
- </choice>
- </attribute>
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>roman</value>
+ <value>alphabet</value>
+ <value>arabic</value>
+ <value>roman_upper</value>
+ <value>alphabet_upper</value>
+ </choice>
+ </attribute>
+ </optional>
<oneOrMore>
<ref name="li"/>
</oneOrMore>
<zeroOrMore>
<ref name="note"/>
@@ -193,10 +279,18 @@
<optional>
<attribute name="key">
<data type="boolean"/>
</attribute>
</optional>
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
<oneOrMore>
<ref name="dt"/>
<ref name="dd"/>
</oneOrMore>
<zeroOrMore>
@@ -241,10 +335,18 @@
<attribute name="keep-lines-together">
<data type="boolean"/>
</attribute>
</optional>
<optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
+ <optional>
<ref name="tname"/>
</optional>
<oneOrMore>
<choice>
<ref name="formula"/>
@@ -301,10 +403,18 @@
</optional>
<optional>
<attribute name="width"/>
</optional>
<optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
+ <optional>
<ref name="colgroup"/>
</optional>
<optional>
<ref name="tname"/>
</optional>
@@ -351,10 +461,18 @@
</optional>
<optional>
<attribute name="class"/>
</optional>
<optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
+ <optional>
<ref name="source"/>
</optional>
<optional>
<ref name="tname"/>
</optional>
@@ -409,10 +527,18 @@
</optional>
<optional>
<attribute name="lang"/>
</optional>
<optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
+ <optional>
<ref name="tname"/>
</optional>
<oneOrMore>
<choice>
<text/>
@@ -456,10 +582,18 @@
<optional>
<attribute name="inequality">
<data type="boolean"/>
</attribute>
</optional>
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
<ref name="stem"/>
<optional>
<ref name="dl"/>
</optional>
<zeroOrMore>
@@ -484,10 +618,18 @@
<optional>
<attribute name="keep-lines-together">
<data type="boolean"/>
</attribute>
</optional>
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
<zeroOrMore>
<ref name="TextElement"/>
</zeroOrMore>
<zeroOrMore>
<ref name="note"/>
@@ -511,10 +653,18 @@
<optional>
<attribute name="keep-lines-together">
<data type="boolean"/>
</attribute>
</optional>
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
<zeroOrMore>
<choice>
<ref name="TextElement"/>
<ref name="fn"/>
</choice>
@@ -543,10 +693,18 @@
<attribute name="keep-lines-together">
<data type="boolean"/>
</attribute>
</optional>
<optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
+ <optional>
<ref name="quote-source"/>
</optional>
<optional>
<ref name="quote-author"/>
</optional>
@@ -580,10 +738,11 @@
<choice>
<ref name="clause"/>
<ref name="terms"/>
<ref name="term-clause"/>
<ref name="definitions"/>
+ <ref name="floating-title"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="references">
@@ -609,13 +768,10 @@
</optional>
<zeroOrMore>
<ref name="BasicBlock"/>
</zeroOrMore>
<zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- <zeroOrMore>
<ref name="bibitem"/>
<zeroOrMore>
<ref name="note"/>
</zeroOrMore>
</zeroOrMore>
@@ -651,10 +807,18 @@
</attribute>
</optional>
<optional>
<attribute name="type"/>
</optional>
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
<oneOrMore>
<choice>
<ref name="paragraph"/>
<ref name="ul"/>
<ref name="ol"/>
@@ -687,18 +851,13 @@
</attribute>
</optional>
<optional>
<ref name="section-title"/>
</optional>
- <group>
- <oneOrMore>
- <ref name="BasicBlock"/>
- </oneOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </group>
+ <oneOrMore>
+ <ref name="BasicBlock"/>
+ </oneOrMore>
</define>
<define name="li">
<element name="li">
<group>
<optional>
@@ -829,10 +988,13 @@
<zeroOrMore>
<choice>
<ref name="PureTextElement"/>
<ref name="stem"/>
<ref name="index"/>
+ <ref name="eref"/>
+ <ref name="xref"/>
+ <ref name="hyperlink"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="strong">
@@ -840,20 +1002,26 @@
<zeroOrMore>
<choice>
<ref name="PureTextElement"/>
<ref name="stem"/>
<ref name="index"/>
+ <ref name="eref"/>
+ <ref name="xref"/>
+ <ref name="hyperlink"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="tt">
<element name="tt">
<zeroOrMore>
<choice>
<ref name="PureTextElement"/>
<ref name="index"/>
+ <ref name="eref"/>
+ <ref name="xref"/>
+ <ref name="hyperlink"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="keyword">
@@ -894,10 +1062,30 @@
<ref name="index"/>
</choice>
</zeroOrMore>
</element>
</define>
+ <define name="sub">
+ <element name="sub">
+ <zeroOrMore>
+ <choice>
+ <ref name="PureTextElement"/>
+ <ref name="stem"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="sup">
+ <element name="sup">
+ <zeroOrMore>
+ <choice>
+ <ref name="PureTextElement"/>
+ <ref name="stem"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
<define name="pagebreak">
<element name="pagebreak">
<optional>
<attribute name="orientation">
<choice>
@@ -908,10 +1096,18 @@
</optional>
</element>
</define>
</include>
<!-- end overrides -->
+ <define name="MultilingualRenderingType">
+ <choice>
+ <value>common</value>
+ <value>all-columns</value>
+ <value>parallel</value>
+ <value>tag</value>
+ </choice>
+ </define>
<define name="docsubtype">
<element name="subdoctype">
<ref name="DocumentSubtype"/>
</element>
</define>
@@ -975,10 +1171,20 @@
<attribute name="ref">
<data type="boolean"/>
</attribute>
</optional>
<optional>
+ <attribute name="linkmention">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="linkref">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
<element name="refterm">
<zeroOrMore>
<choice>
<ref name="PureTextElement"/>
<ref name="stem"/>
@@ -1009,22 +1215,45 @@
<ref name="recommendation"/>
<ref name="permission"/>
<ref name="imagemap"/>
<ref name="svgmap"/>
<ref name="inputform"/>
+ <ref name="toc"/>
+ <ref name="passthrough"/>
</choice>
</define>
+ <define name="toc">
+ <element name="toc">
+ <ref name="ul"/>
+ </element>
+ </define>
+ <define name="passthrough">
+ <element name="passthrough">
+ <optional>
+ <attribute name="formats"/>
+ </optional>
+ <text/>
+ </element>
+ </define>
<define name="inputform">
<element name="form">
<attribute name="id">
<data type="ID"/>
</attribute>
<attribute name="name"/>
<attribute name="action"/>
<optional>
<attribute name="class"/>
</optional>
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
<zeroOrMore>
<choice>
<ref name="TextElement"/>
<ref name="FormInput"/>
</choice>
@@ -1220,13 +1449,10 @@
<ref name="section-title"/>
</optional>
<zeroOrMore>
<ref name="BasicBlock"/>
</zeroOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
<choice>
<oneOrMore>
<ref name="reference-clause"/>
</oneOrMore>
<zeroOrMore>
@@ -1405,13 +1631,10 @@
</optional>
<oneOrMore>
<zeroOrMore>
<ref name="BasicBlock"/>
</zeroOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
<ref name="dl"/>
</oneOrMore>
</element>
</define>
<define name="content">
@@ -1467,19 +1690,14 @@
</optional>
<optional>
<ref name="section-title"/>
</optional>
<group>
- <group>
- <zeroOrMore>
- <ref name="BasicBlock"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </group>
<zeroOrMore>
+ <ref name="BasicBlock"/>
+ </zeroOrMore>
+ <zeroOrMore>
<ref name="content-subsection"/>
</zeroOrMore>
</group>
</define>
<define name="clause">
@@ -1521,25 +1739,21 @@
<optional>
<ref name="section-title"/>
</optional>
<choice>
<choice>
- <group>
- <oneOrMore>
- <ref name="BasicBlock"/>
- </oneOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </group>
+ <oneOrMore>
+ <ref name="BasicBlock"/>
+ </oneOrMore>
<ref name="amend"/>
</choice>
<oneOrMore>
<choice>
<ref name="clause-subsection"/>
<ref name="terms"/>
<ref name="definitions"/>
+ <ref name="floating-title"/>
</choice>
</oneOrMore>
</choice>
</define>
<define name="Annex-Section">
@@ -1569,24 +1783,20 @@
</optional>
<optional>
<ref name="section-title"/>
</optional>
<group>
- <group>
- <zeroOrMore>
- <ref name="BasicBlock"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </group>
<zeroOrMore>
+ <ref name="BasicBlock"/>
+ </zeroOrMore>
+ <zeroOrMore>
<choice>
<ref name="annex-subsection"/>
<ref name="terms"/>
<ref name="definitions"/>
<ref name="references"/>
+ <ref name="floating-title"/>
</choice>
</zeroOrMore>
</group>
</define>
<define name="clause-subsection">
@@ -1635,13 +1845,10 @@
<ref name="section-title"/>
</optional>
<zeroOrMore>
<ref name="BasicBlock"/>
</zeroOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
<choice>
<oneOrMore>
<ref name="term"/>
</oneOrMore>
<group>
@@ -1660,30 +1867,46 @@
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
+ <optional>
+ <attribute name="language"/>
+ </optional>
+ <optional>
+ <attribute name="script"/>
+ </optional>
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
<oneOrMore>
<ref name="preferred"/>
</oneOrMore>
<zeroOrMore>
<ref name="admitted"/>
</zeroOrMore>
<zeroOrMore>
- <ref name="related"/>
+ <ref name="deprecates"/>
</zeroOrMore>
<zeroOrMore>
- <ref name="deprecates"/>
+ <ref name="related"/>
</zeroOrMore>
<optional>
<ref name="termdomain"/>
</optional>
+ <optional>
+ <ref name="termsubject"/>
+ </optional>
+ <oneOrMore>
+ <ref name="termdefinition"/>
+ </oneOrMore>
<zeroOrMore>
- <ref name="termgrammar"/>
- </zeroOrMore>
- <ref name="definition"/>
- <zeroOrMore>
<ref name="termnote"/>
</zeroOrMore>
<zeroOrMore>
<ref name="termexample"/>
</zeroOrMore>
@@ -1692,70 +1915,298 @@
</zeroOrMore>
</element>
</define>
<define name="preferred">
<element name="preferred">
- <oneOrMore>
- <ref name="TextElement"/>
- </oneOrMore>
+ <ref name="Designation"/>
</element>
</define>
<define name="admitted">
<element name="admitted">
- <oneOrMore>
- <ref name="TextElement"/>
- </oneOrMore>
+ <ref name="Designation"/>
</element>
</define>
<define name="related">
<element name="related">
+ <attribute name="type">
+ <ref name="RelatedTermType"/>
+ </attribute>
+ <element name="preferred">
+ <ref name="Designation"/>
+ </element>
+ <choice>
+ <ref name="eref"/>
+ <ref name="xref"/>
+ <ref name="termref"/>
+ </choice>
+ </element>
+ </define>
+ <define name="RelatedTermType">
+ <choice>
+ <value>deprecates</value>
+ <value>supersedes</value>
+ <value>narrower</value>
+ <value>broader</value>
+ <value>equivalent</value>
+ <value>compare</value>
+ <value>contrast</value>
+ <value>see</value>
+ </choice>
+ </define>
+ <define name="deprecates">
+ <element name="deprecates">
+ <ref name="Designation"/>
+ </element>
+ </define>
+ <define name="Designation">
+ <optional>
+ <attribute name="absent">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="geographic-area"/>
+ </optional>
+ <choice>
+ <ref name="expression_designation"/>
+ <ref name="letter_symbol_designation"/>
+ <ref name="graphical_symbol_designation"/>
+ </choice>
+ <optional>
+ <ref name="fieldofapplication"/>
+ </optional>
+ <optional>
+ <ref name="usageinfo"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="termsource"/>
+ </zeroOrMore>
+ </define>
+ <define name="fieldofapplication">
+ <element name="field-of-application">
+ <oneOrMore>
+ <ref name="PureTextElement"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="usageinfo">
+ <element name="usage-info">
+ <oneOrMore>
+ <ref name="PureTextElement"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="letter_symbol_designation">
+ <element name="letter-symbol">
<optional>
- <attribute name="type">
+ <attribute name="isInternational">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <element name="name">
+ <oneOrMore>
<choice>
- <value>compare</value>
- <value>contrast</value>
- <value>see</value>
+ <ref name="PureTextElement"/>
+ <ref name="stem"/>
</choice>
+ </oneOrMore>
+ </element>
+ </element>
+ </define>
+ <define name="graphical_symbol_designation">
+ <element name="graphical-symbol">
+ <optional>
+ <attribute name="isInternational">
+ <data type="boolean"/>
</attribute>
</optional>
- <oneOrMore>
- <ref name="TextElement"/>
- </oneOrMore>
+ <ref name="figure"/>
</element>
</define>
- <define name="deprecates">
- <element name="deprecates">
- <oneOrMore>
- <ref name="TextElement"/>
- </oneOrMore>
+ <define name="expression_designation">
+ <element name="expression">
+ <optional>
+ <attribute name="language">
+ <a:documentation>ISO-639</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="script">
+ <a:documentation>ISO-15924</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="ExpressionDesignationType"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="isInternational">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <element name="name">
+ <zeroOrMore>
+ <choice>
+ <ref name="PureTextElement"/>
+ <ref name="stem"/>
+ <ref name="index"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ <optional>
+ <element name="abbreviation-type">
+ <ref name="AbbreviationType"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="pronunciation">
+ <ref name="LocalizedString"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="grammar">
+ <ref name="Grammar"/>
+ </element>
+ </optional>
</element>
</define>
+ <define name="ExpressionDesignationType">
+ <choice>
+ <value>prefix</value>
+ <value>suffix</value>
+ <value>abbreviation</value>
+ <value>full</value>
+ </choice>
+ </define>
+ <define name="AbbreviationType">
+ <choice>
+ <value>truncation</value>
+ <value>acronym</value>
+ <value>initialism</value>
+ </choice>
+ </define>
+ <define name="Grammar">
+ <zeroOrMore>
+ <element name="gender">
+ <ref name="GrammarGender"/>
+ </element>
+ </zeroOrMore>
+ <zeroOrMore>
+ <element name="number">
+ <ref name="GrammarNumber"/>
+ </element>
+ </zeroOrMore>
+ <optional>
+ <element name="isPreposition">
+ <data type="boolean"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="isParticiple">
+ <data type="boolean"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="isAdjective">
+ <data type="boolean"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="isVerb">
+ <data type="boolean"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="isAdverb">
+ <data type="boolean"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="isNoun">
+ <data type="boolean"/>
+ </element>
+ </optional>
+ <zeroOrMore>
+ <element name="grammar-value">
+ <text/>
+ </element>
+ </zeroOrMore>
+ </define>
+ <define name="GrammarGender">
+ <choice>
+ <value>masculine</value>
+ <value>feminine</value>
+ <value>neuter</value>
+ <value>common</value>
+ </choice>
+ </define>
+ <define name="GrammarNumber">
+ <choice>
+ <value>singular</value>
+ <value>dual</value>
+ <value>plural</value>
+ </choice>
+ </define>
<define name="termdomain">
<element name="domain">
<oneOrMore>
<ref name="TextElement"/>
</oneOrMore>
</element>
</define>
- <define name="termgrammar">
- <element name="grammar">
+ <define name="termsubject">
+ <element name="subject">
<oneOrMore>
<ref name="TextElement"/>
</oneOrMore>
</element>
</define>
- <define name="definition">
+ <define name="termdefinition">
<element name="definition">
+ <choice>
+ <ref name="verbaldefinition"/>
+ <ref name="nonverbalrep"/>
+ <group>
+ <ref name="verbaldefinition"/>
+ <ref name="nonverbalrep"/>
+ </group>
+ </choice>
+ </element>
+ </define>
+ <define name="verbaldefinition">
+ <element name="verbal-definition">
<oneOrMore>
<choice>
<ref name="paragraph"/>
+ <ref name="dl"/>
+ <ref name="ol"/>
+ <ref name="ul"/>
+ <ref name="table"/>
<ref name="figure"/>
<ref name="formula"/>
</choice>
</oneOrMore>
+ <zeroOrMore>
+ <ref name="termsource"/>
+ </zeroOrMore>
</element>
</define>
+ <define name="nonverbalrep">
+ <element name="non-verbal-representation">
+ <oneOrMore>
+ <choice>
+ <ref name="table"/>
+ <ref name="figure"/>
+ <ref name="formula"/>
+ </choice>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="termsource"/>
+ </zeroOrMore>
+ </element>
+ </define>
<define name="termnote">
<element name="termnote">
<attribute name="id">
<data type="ID"/>
</attribute>
@@ -1778,10 +2229,18 @@
<optional>
<attribute name="keep-lines-together">
<data type="boolean"/>
</attribute>
</optional>
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
<oneOrMore>
<choice>
<ref name="paragraph"/>
<ref name="ul"/>
<ref name="ol"/>
@@ -1794,21 +2253,56 @@
<define name="termexample">
<element name="termexample">
<attribute name="id">
<data type="ID"/>
</attribute>
- <ref name="paragraph"/>
+ <optional>
+ <attribute name="keep-with-next">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="keep-lines-together">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
+ <oneOrMore>
+ <choice>
+ <ref name="formula"/>
+ <ref name="ul"/>
+ <ref name="ol"/>
+ <ref name="dl"/>
+ <ref name="quote"/>
+ <ref name="sourcecode"/>
+ <ref name="paragraph"/>
+ <ref name="figure"/>
+ </choice>
+ </oneOrMore>
</element>
</define>
<define name="termsource">
<element name="termsource">
<attribute name="status">
<choice>
<value>identical</value>
<value>modified</value>
</choice>
</attribute>
+ <attribute name="type">
+ <choice>
+ <value>authoritative</value>
+ <value>lineage</value>
+ </choice>
+ </attribute>
<ref name="origin"/>
<optional>
<ref name="modification"/>
</optional>
</element>
@@ -1921,13 +2415,10 @@
</optional>
<zeroOrMore>
<ref name="BasicBlock"/>
</zeroOrMore>
<zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- <zeroOrMore>
<choice>
<ref name="term-clause"/>
<ref name="terms"/>
<ref name="definitions"/>
</choice>
@@ -1962,10 +2453,18 @@
</optional>
<optional>
<attribute name="title"/>
</optional>
<optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
+ <optional>
<element name="location">
<zeroOrMore>
<ref name="locality"/>
</zeroOrMore>
</element>
@@ -2020,10 +2519,18 @@
<text/>
</element>
</define>
<define name="imagemap">
<element name="imagemap">
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
<ref name="figure"/>
<zeroOrMore>
<element name="area">
<attribute name="type">
<choice>
@@ -2064,10 +2571,18 @@
</zeroOrMore>
</element>
</define>
<define name="svgmap">
<element name="svgmap">
+ <optional>
+ <attribute name="tag"/>
+ </optional>
+ <optional>
+ <attribute name="multilingual-rendering">
+ <ref name="MultilingualRenderingType"/>
+ </attribute>
+ </optional>
<ref name="figure"/>
<zeroOrMore>
<element name="target">
<attribute name="href">
<data type="anyURI"/>
@@ -2099,8 +2614,21 @@
</attribute>
</optional>
<oneOrMore>
<ref name="BasicBlock"/>
</oneOrMore>
+ </element>
+ </define>
+ <define name="floating-title">
+ <element name="floating-title">
+ <attribute name="id">
+ <data type="ID"/>
+ </attribute>
+ <attribute name="depth">
+ <data type="int"/>
+ </attribute>
+ <zeroOrMore>
+ <ref name="TextElement"/>
+ </zeroOrMore>
</element>
</define>
</grammar>