diff -r b9fea8bd2412 -r 951f1a25efc5 RelaxNG/publidoc.rnc --- a/RelaxNG/publidoc.rnc sam. avril 06 14:17:18 2013 +0200 +++ b/RelaxNG/publidoc.rnc dim. avril 07 17:05:34 2013 +0200 @@ -72,6 +72,7 @@ top.head?, header?, section+, + bibliography?, footer? @@ -129,6 +130,7 @@ component.head?, header?, section+, + bibliography?, footer? @@ -170,6 +172,14 @@ & audio* & annotation* +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bibliography ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# ~~~~~~ bibliography +bibliography = element bibliography { bibliography.content } + +bibliography.content = + bibliography.entry+ + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ footer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ footer = element footer { footer.content } @@ -304,18 +314,18 @@ & rowsep.attribute? row.content = - entry+ + table.entry+ -# ~~~~~~ entry -entry = element entry { entry.attributes, entry.content } +# ~~~~~~ table.entry +table.entry = element entry { table.entry.attributes, table.entry.content } -entry.attributes = +table.entry.attributes = align.attribute? & valign.attribute? & colsep.attribute? & rowsep.attribute? -entry.content = +table.entry.content = inlines | (p | media)+ @@ -398,6 +408,33 @@ x.attribute? & y.attribute? +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bibliograpgy.entry ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# ~~~~~~ bibliography.entry +bibliography.entry = element entry { bibliography.entry.content } + +bibliography.entry.content = + identifier.ean? + & title + & subtitle? + & copyright? + & collection? + & contributors? + & date? + & place? + & folio? + & pages? + +# ~~~~~~ folio +folio = element folio { folio.content } + +folio.content = xsd:positiveInteger | xsd:token {pattern = "[DLXVI]+"} + +# ~~~~~~ pages +pages = element pages { pages.content } + +pages.content = xsd:positiveInteger + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ scenario ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~ scenario @@ -507,28 +544,18 @@ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# ~~~~~~ source source = element source { - ( (attribute type { "book" }, source.content.book) + ( (attribute type { "book" }, bibliography.entry.content) | (attribute type { "file" }, source.content.file)), source.content } -source.content.book = - identifier.ean, - title?, - pagenumber* source.content.file = identifier.uri source.content = annotation* -# ~~~~~~ pagenumber -pagenumber = element pagenumber { pagenumber.content } - -pagenumber.content = xsd:positiveInteger - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~ keyword & subject ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ keyword & subject ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~ keywordset keywordset = element keywordset { keywordset.content }