--- a/RelaxNG/publidoc.rnc lun. juin 20 18:39:46 2011 +0200
+++ b/RelaxNG/publidoc.rnc lun. juil. 18 19:10:28 2011 +0200
@@ -105,9 +105,20 @@
# ~~~~~~ author
author = element author { author.content }
+author.attributes =
+ role.attribute?
+role.attribute = attribute role { "author" | "illustrator" }
+
author.content =
firstname?,
- lastname
+ lastname,
+ role*
+
+role = element role { role.attributes }
+
+role.attributes =
+ role.of.attribute
+role.of.attribute = attribute of { "author" | "illustrator" }
# ~~~~~~ publisher
publisher = element publisher { publisher.content }
@@ -155,8 +166,7 @@
pagenumber.attributes =
pagenumber.value.attribute
-pagenumber.value.attribute = attribute value { pagenumber.value.enumeration }
-pagenumber.value.enumeration = xsd:positiveInteger
+pagenumber.value.attribute = attribute value { xsd:positiveInteger }
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ subject ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -443,8 +453,7 @@
date.value.attribute
& date.of.attribute?
date.value.attribute = attribute value { xsd:date | xsd:gYearMonth | xsd:gYear }
-date.of.attribute = attribute of { date.of.enumeration }
-date.of.enumeration = "birth" | "death"
+date.of.attribute = attribute of { "birth" | "death" }
date.content = mixed { sup* }
@@ -454,8 +463,8 @@
name.attributes =
name.of.attribute?
-name.of.attribute = attribute of { name.of.enumeration }
-name.of.enumeration = "person" | "company" | "book" | "newspaper" | "party"
+name.of.attribute = attribute of
+ { "person" | "company" | "book" | "newspaper" | "party" }
name.content = inlines