diff -r 83b7ec3c3132 -r 3c8b406be906 RelaxNG/publiset.rnc --- a/RelaxNG/publiset.rnc mar. juil. 19 18:16:50 2011 +0200 +++ b/RelaxNG/publiset.rnc mer. juil. 20 14:38:48 2011 +0200 @@ -93,13 +93,15 @@ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ identifier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -identifier = element identifier { identifier.content, identifier.attributes } +identifier.uri = element identifier { + attribute type { "uri" }, xsd:anyURI +} -identifier.attributes = - class.attribute -class.attribute = attribute class { "uri" | "ean" } +identifier.ean = element identifier { + attribute type { "ean" }, xsd:token {pattern = "\d{13}"} +} -identifier.content = xsd:anyURI | xsd:NMTOKEN +identifier = identifier.uri | identifier.ean # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ language ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -139,11 +141,6 @@ lastname.content = inlines -# ~~~~~~ label -label = element label { label.content } - -label.content = inlines - # ~~~~~~ role role = element role { role.attributes } @@ -151,23 +148,25 @@ role.of.attribute role.of.attribute = attribute of { "author" | "illustrator" } +# ~~~~~~ label +label = element label { label.content } + +label.content = inlines + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~ source source = element source { - source.attributes, ( (attribute type { "book" }, source.content.book) - | (attribute type { "file" })) + | (attribute type { "file" }, source.content.file)) } -source.attributes = - source.id.attribute? - & remap.attributes -source.id.attribute = attribute id { xsd:NMTOKEN } - source.content.book = + identifier.ean, title?, - pagenumber? + pagenumber* +source.content.file = + identifier.uri # ~~~~~~ pagenumber pagenumber = element pagenumber { pagenumber.attributes }