--- 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 }