--- a/RelaxNG/publiset.rnc sam. avril 06 14:17:18 2013 +0200
+++ b/RelaxNG/publiset.rnc dim. avril 07 17:05:34 2013 +0200
@@ -53,11 +53,13 @@
composition.head.content =
(title, shorttitle?, subtitle?)?
- & identifier*
+ & (identifier, identifier?)?
& copyright*
& collection?
& contributors?
+ & date?
& keywordset?
+ & subjectset?
& abstract?
& cover?
@@ -224,7 +226,7 @@
role.content = "author" | "illustrator" | "publisher" | "packager"
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ keyword ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ keyword & subject ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ~~~~~~ keywordset
keywordset = element keywordset { keywordset.content }
@@ -236,6 +238,16 @@
keyword.content = mixed { sup*, sub* }
+# ~~~~~~ subjectset
+subjectset = element subjectset { subjectset.content }
+
+subjectset.content = subject+
+
+# ~~~~~~ subject
+subject = element subject { subject.content }
+
+subject.content = xsd:NMTOKEN
+
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ abstract ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
abstract = element abstract { abstract.content }
@@ -266,8 +278,10 @@
inlines = mixed {
sup*
& sub*
+ & date*
& name*
& highlight*
+ & link*
}
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sub, sup ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -276,6 +290,16 @@
sub = element sub { inlines }
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+date = element date { date.attributes, date.content }
+
+date.attributes =
+ date.value.attribute
+date.value.attribute = attribute value { xsd:date | xsd:gYearMonth | xsd:gYear }
+
+date.content = mixed { sup* }
+
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
name = element name { name.attributes, name.content }
@@ -283,7 +307,7 @@
name.attributes =
name.of.attribute?
name.of.attribute = attribute of
- { "person" | "company" | "book" | "newspaper" | "party" }
+ { "person" | "company" | "book" | "newspaper" | "party" | "painting" }
name.content = inlines