diff -r 9c8d0c134b73 -r 37c610d728e8 RelaxNG/publidoc.rnc --- a/RelaxNG/publidoc.rnc mar. mai 28 12:24:43 2013 +0200 +++ b/RelaxNG/publidoc.rnc jeu. mai 30 09:29:47 2013 +0200 @@ -631,16 +631,16 @@ & math* & date* & name* + & foreign* + & acronym* + & term* + & literal* + & stage* + & highlight* + & mentioned* + & initial* & note* - & foreign* - & highlight* & quote* - & acronym* - & mentioned* - & term* - & stage* - & literal* - & initial* & link* & anchor* & image* @@ -668,7 +668,7 @@ number.value.attribute? number.value.attribute = attribute value { xsd:integer | xsd:decimal } -number.content = mixed { sup* } +number.content = mixed { sup* & warning* } number.roman.content = xsd:token {pattern = "[DLXVI]+"} # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ math ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -695,7 +695,7 @@ date.value.attribute = attribute value { xsd:date | xsd:gYearMonth | xsd:gYear } date.of.attribute = attribute of { "birth" | "death" } -date.content = mixed { sup* } +date.content = mixed { sup* & warning* } # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -706,7 +706,63 @@ name.of.attribute = attribute of { "person" | "company" | "book" | "newspaper" | "party" | "painting" } -name.content = inlines +name.content = mixed { sup* & number* & acronym* & warning* } + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ foreign ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +foreign = element foreign { foreign.attributes, foreign.content } + +foreign.attributes = + lang.attribute? + +foreign.content = mixed { sup* & sub* & number* & warning* } + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ acronym ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +acronym = element acronym { acronym.content } + +acronym.content = mixed { sup* & warning* } + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ term ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +term = element term { term.content } + +term.content = mixed { sup* & warning* } + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ literal ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +literal = element literal { literal.content } + +literal.content = mixed { sup* & warning* } + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stage ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +stage = element stage { stage.content } + +stage.content = inlines + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ highlight ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +highlight = element highlight { highlight.content } + +highlight.content = inlines + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mentioned ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +mentioned = element mentioned { mentioned.content } + +mentioned.content = inlines + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ initial ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +initial = element initial { initial.content } + +initial.content = + c, + w? + +c = element c { text } +w = element w { inlines } # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -719,23 +775,6 @@ note.content = (w?, block+) | inlines -w = element w { inlines } - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ foreign ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -foreign = element foreign { foreign.attributes, foreign.content } - -foreign.attributes = - lang.attribute? - -foreign.content = inlines - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ highlight ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -highlight = element highlight { highlight.content } - -highlight.content = inlines - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ quote ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ quote = element quote { quote.content } @@ -747,46 +786,6 @@ phrase.content = inlines -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ acronym ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -acronym = element acronym { acronym.content } - -acronym.content = inlines - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mentioned ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -mentioned = element mentioned { mentioned.content } - -mentioned.content = inlines - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ term ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -term = element term { term.content } - -term.content = inlines - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stage ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -stage = element stage { stage.content } - -stage.content = inlines - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ literal ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -literal = element literal { literal.content } - -literal.content = text - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ initial ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -initial = element initial { initial.content } - -initial.content = - c, - w? - -c = element c { text } - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ link ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ link = element link { link.attributes, link.content } @@ -796,7 +795,9 @@ uri.attribute = attribute uri { xsd:anyURI } idref.attribute = attribute idref { xsd:IDREF } -link.content = inlines +link.content = mixed { + sup* & sub* & var* & number* & math* & date* & name* & foreign* & acronym* + & term* & literal* & stage* & highlight* & mentioned* & warning* } # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ anchor ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~