diff -r b9fea8bd2412 -r 951f1a25efc5 RelaxNG/publiset.rnc --- 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