RelaxNG/publiset.rnc
changeset 288 e89c967167bb
parent 263 b6ac75b447ae
child 293 02671b229bdc
--- a/RelaxNG/publiset.rnc	mar. janv. 07 19:33:45 2014 +0100
+++ b/RelaxNG/publiset.rnc	ven. janv. 10 16:50:33 2014 +0100
@@ -61,6 +61,7 @@
  & (source, source?)?
  & keywordset?
  & subjectset?
+ & head.index*
  & abstract?
  & cover?
 
@@ -121,6 +122,7 @@
 
 division.head.content =
    (title, shorttitle?, subtitle*)?
+ & head.index*
 
 
 # =============================================================================
@@ -191,13 +193,13 @@
 
 copyright = element copyright { copyright.content }
 
-copyright.content = inlines
+copyright.content = simple.inlines
 
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ collection ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 collection = element collection { collection.content }
 
-collection.content = inlines
+collection.content = simple.inlines
 
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ contributors ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -223,15 +225,15 @@
 lastname = element lastname { lastname.content }
 label = element label { label.content }
 
-firstname.content = inlines
-secondname.content = inlines
-lastname.content = inlines
-label.content = inlines
+firstname.content = simple.inlines
+secondname.content = simple.inlines
+lastname.content = simple.inlines
+label.content = simple.inlines
 
 # ~~~~~~ address
 address = element address { address.content }
 
-address.content = inlines
+address.content = simple.inlines
 
 # ~~~~~~ role
 role = element role { role.content }
@@ -277,7 +279,7 @@
 # ~~~~~~ keyword
 keyword = element keyword { keyword.content }
 
-keyword.content = mixed { sup*, sub* }
+keyword.content = simple.inlines
 
 # ~~~~~~ subjectset
 subjectset = element subjectset { subjectset.content }
@@ -287,7 +289,18 @@
 # ~~~~~~ subject
 subject = element subject { subject.content }
 
-subject.content = mixed { sup*, sub* }
+subject.content = simple.inlines
+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ index ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# ~~~~~~ index
+head.index = element index { head.index.content }
+
+head.index.content =
+   index.entry, index.entry?
+
+# ~~~~~~ index.entry
+index.entry = element entry { simple.inlines }
 
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ abstract ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -306,8 +319,8 @@
 cover.image = element image { cover.image.attributes }
 
 cover.image.attributes =
-   cover.image.id.attribute
-cover.image.id.attribute = attribute id { xsd:NMTOKEN }
+   media.id.attribute
+media.id.attribute = attribute id { xsd:NMTOKEN }
 
 
 # =============================================================================
@@ -316,18 +329,22 @@
 
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ inlines ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-inlines = mixed {
+simple.inlines = mixed {
    sup*
  & sub*
  & date*
  & name*
+}
+
+inlines =
+   simple.inlines
  & highlight*
+ & emphasis*
  & link*
-}
 
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sub, sup ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-sup = element sup { inlines }
+sup = element sup { simple.inlines }
 
 sub = element sub { inlines }
 
@@ -359,6 +376,12 @@
 
 highlight.content = inlines
 
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ emphasis ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+emphasis = element emphasis { emphasis.content }
+
+emphasis.content = inlines
+
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ link ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 link = element link { link.attributes, link.content }
@@ -367,7 +390,7 @@
    uri.attribute
 uri.attribute = attribute uri { xsd:anyURI }
 
-link.content = mixed { sup* & sub* & date* & name* & highlight* }
+link.content = simple.inlines
 
 
 # =============================================================================