--- 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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~