grammars/basicdoc.rng in relaton-iho-1.17.0 vs grammars/basicdoc.rng in relaton-iho-1.18.0

- old
+ new

@@ -93,12 +93,93 @@ <ref name="pre"/> <ref name="note"/> <ref name="pagebreak"/> <ref name="hr"/> <ref name="bookmark"/> + <ref name="amend"/> </choice> </define> + <define name="amend"> + <element name="amend"> + <ref name="AmendType"/> + </element> + </define> + <define name="AmendType"> + <optional> + <attribute name="id"> + <data type="ID"/> + </attribute> + </optional> + <attribute name="change"> + <choice> + <value>add</value> + <value>modify</value> + <value>delete</value> + <value>replace</value> + </choice> + </attribute> + <optional> + <attribute name="path"/> + </optional> + <optional> + <attribute name="path_end"/> + </optional> + <optional> + <attribute name="title"/> + </optional> + <optional> + <element name="location"> + <zeroOrMore> + <choice> + <ref name="locality"/> + <ref name="localityStack"/> + </choice> + </zeroOrMore> + </element> + </optional> + <optional> + <element name="description"> + <zeroOrMore> + <ref name="BasicBlock"/> + </zeroOrMore> + </element> + </optional> + <optional> + <element name="newcontent"> + <optional> + <attribute name="id"> + <data type="ID"/> + </attribute> + </optional> + <zeroOrMore> + <ref name="BasicBlock"/> + </zeroOrMore> + </element> + </optional> + <zeroOrMore> + <ref name="classification"/> + </zeroOrMore> + <zeroOrMore> + <ref name="contributor"/> + </zeroOrMore> + </define> + <define name="classification"> + <element name="classification"> + <ref name="classification_tag"/> + <ref name="classification_value"/> + </element> + </define> + <define name="classification_tag"> + <element name="tag"> + <text/> + </element> + </define> + <define name="classification_value"> + <element name="value"> + <text/> + </element> + </define> <define name="paragraph"> <element name="p"> <ref name="ParagraphType"/> </element> </define> @@ -713,31 +794,40 @@ </zeroOrMore> </element> </define> <define name="ruby"> <element name="ruby"> - <zeroOrMore> - <choice> - <ref name="PureTextElement"/> - <ref name="rp"/> - <ref name="rt"/> - </choice> - </zeroOrMore> + <choice> + <ref name="ruby_pronunciation"/> + <ref name="ruby_annotation"/> + </choice> + <choice> + <text/> + <ref name="ruby"/> + </choice> </element> </define> - <define name="rp"> - <element name="rp"> - <zeroOrMore> - <ref name="PureTextElement"/> - </zeroOrMore> + <define name="ruby_pronunciation"> + <element name="pronunciation"> + <attribute name="value"/> + <optional> + <attribute name="script"/> + </optional> + <optional> + <attribute name="lang"/> + </optional> </element> </define> - <define name="rt"> - <element name="rt"> - <zeroOrMore> - <ref name="PureTextElement"/> - </zeroOrMore> + <define name="ruby_annotation"> + <element name="annotation"> + <attribute name="value"/> + <optional> + <attribute name="script"/> + </optional> + <optional> + <attribute name="lang"/> + </optional> </element> </define> <define name="br"> <element name="br"> <empty/> @@ -912,47 +1002,52 @@ so <callout target="xyz">1</callout> corresponds to <xref type="callout" target="xyz">1</xref> --> <define name="image"> <element name="image"> - <attribute name="id"> - <data type="ID"/> + <ref name="Image"/> + </element> + </define> + <define name="Image"> + <attribute name="id"> + <data type="ID"/> + </attribute> + <attribute name="src"> + <data type="anyURI"/> + </attribute> + <attribute name="mimetype"/> + <optional> + <attribute name="filename"/> + </optional> + <optional> + <attribute name="width"> + <ref name="ImageSize"/> </attribute> - <attribute name="src"> + </optional> + <optional> + <attribute name="height"> + <ref name="ImageSize"/> + </attribute> + </optional> + <optional> + <attribute name="alt"/> + </optional> + <optional> + <attribute name="title"/> + </optional> + <optional> + <attribute name="longdesc"> <data type="anyURI"/> </attribute> - <attribute name="mimetype"/> - <optional> - <attribute name="filename"/> - </optional> - <optional> - <attribute name="width"> - <choice> - <data type="int"/> - <value>auto</value> - </choice> - </attribute> - </optional> - <optional> - <attribute name="height"> - <choice> - <data type="int"/> - <value>auto</value> - </choice> - </attribute> - </optional> - <optional> - <attribute name="alt"/> - </optional> - <optional> - <attribute name="title"/> - </optional> - <optional> - <attribute name="longdesc"> - <data type="anyURI"/> - </attribute> - </optional> - </element> + </optional> + </define> + <define name="ImageSize"> + <choice> + <data type="string"> + <param name="pattern">\d+([.]\d+)?(%?)</param> + </data> + <value>auto</value> + </choice> </define> <define name="video"> <element name="video"> <attribute name="id"> <data type="ID"/>