--- a/RelaxNG/publiset.rnc lun. juil. 18 19:10:28 2011 +0200
+++ b/RelaxNG/publiset.rnc lun. juil. 18 23:35:32 2011 +0200
@@ -74,6 +74,7 @@
top.head.content =
(title, subtitle?)?
+ & identifier*
& language?
& author*
& publisher?
@@ -89,6 +90,16 @@
title.content = inlines
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ identifier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+identifier = element identifier { identifier.content, identifier.attributes }
+
+identifier.attributes =
+ class.attribute
+class.attribute = attribute class { "uri" | "ean" }
+
+identifier.content = xsd:anyURI | xsd:NMTOKEN
+
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ language ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
language = element language { language.attributes }
@@ -101,14 +112,21 @@
# ~~~~~~ author
author = element author { author.content }
+author.attributes =
+ role.attribute?
+role.attribute = attribute role { "author" | "illustrator" }
+
author.content =
firstname?,
- lastname
+ lastname,
+ role*
# ~~~~~~ publisher
publisher = element publisher { publisher.content }
-publisher.content = inlines
+publisher.content =
+ label,
+ url?
# ~~~~~~ firstname
firstname = element firstname { firstname.content }
@@ -120,6 +138,23 @@
lastname.content = inlines
+# ~~~~~~ label
+label = element label { label.content }
+
+label.content = inlines
+
+# ~~~~~~ role
+role = element role { role.attributes }
+
+role.attributes =
+ role.of.attribute
+role.of.attribute = attribute of { "author" | "illustrator" }
+
+# ~~~~~~ url
+url = element url { url.content }
+
+url.content = xsd:anyURI
+
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ~~~~~~ source