# HG changeset patch # User Patrick PIERRE # Date 1332412465 -3600 # Node ID d5067911c76279f8510504f7b2284f068b7bc90f # Parent 208625c744103201bac8295a36ff6a25e6c29231 Modification de la balise diff -r 208625c74410 -r d5067911c762 RelaxNG/publidoc.rnc --- a/RelaxNG/publidoc.rnc mar. mars 13 07:40:10 2012 +0100 +++ b/RelaxNG/publidoc.rnc jeu. mars 22 11:34:25 2012 +0100 @@ -21,8 +21,27 @@ # TOP LEVEL # ============================================================================= +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ top.head ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +top.head = element head { top.head.content } + +top.head.content = + (title, subtitle?)? + & identifier* + & copyright? + & contributors? + & date? + & place? + & source* + & keywordset? + & subjectset? + & abstract? + & cover? + & annotation* + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ document ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# ~~~~~~ document document = element document { document.attributes, document.content } document.attributes = @@ -52,208 +71,41 @@ # ============================================================================= -# HEAD LEVEL -# ============================================================================= - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ head ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -top.head = element head { top.head.content } -division.head = element head { division.head.content } -component.head = element head { component.head.content } -section.head = element head { section.head.content } -block.head = element head { block.head.content } - -top.head.content = - (title, subtitle?)? - & identifier* - & copyright? - & contributors? - & date? - & place? - & source* - & keywordset? - & subjectset? - & abstract? - & cover? - & annotation* -division.head.content = - (title, subtitle?)? - & abstract? - & annotation* -component.head.content = - (title, subtitle?)? - & contributors? - & abstract? - & annotation* -section.head.content = - (title, subtitle?)? - & abstract? - & annotation* -block.head.content = - (title, subtitle?)? - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ title, subtitle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -title = element title { title.content } -subtitle = element subtitle { title.content } - -title.content = inlines - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ identifier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -identifier.uri = element identifier { - attribute type { "uri" }, xsd:anyURI -} - -identifier.ean = element identifier { - attribute type { "ean" }, xsd:token {pattern = "\d{13}"} -} - -identifier = identifier.uri | identifier.ean - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ copyright ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -copyright = element copyright { copyright.content } - -copyright.content = inlines - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ contributors ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# ~~~~~~ contributors -contributors = element contributors { contributors.content } - -contributors.content = - contributor+ - -# ~~~~~~ contributor -contributor = element contributor { contributor.content } - -contributor.content = - (((firstname, secondname?)?, lastname) | label), - address?, - link?, - role* - -# ~~~~~~ firstname, secondname, lastname, label -firstname = element firstname { firstname.content } -secondname = element secondname { secondname.content } -lastname = element lastname { lastname.content } -label = element label { label.content } - -firstname.content = inlines -secondname.content = inlines -lastname.content = inlines -label.content = inlines - -# ~~~~~~ address -address = element address { address.content } - -address.content = inlines - -# ~~~~~~ role -role = element role { role.content } - -role.content = "author" | "illustrator" | "publisher" | "packager" - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ place ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -place = element place { place.content } - -place.content = inlines - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# ~~~~~~ source -source = element source { - ( (attribute type { "book" }, source.content.book) - | (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.attributes } - -pagenumber.attributes = - pagenumber.value.attribute -pagenumber.value.attribute = attribute value { xsd:positiveInteger } - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ keyword & subject ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# ~~~~~~ keywordset -keywordset = element keywordset { keywordset.content } - -keywordset.content = keyword+ - -# ~~~~~~ keyword -keyword = element keyword { keyword.content } - -keyword.content = mixed { sup*, sub* } - -# ~~~~~~ subjectset -subjectset = element subjectset { subjectset.content } - -subjectset.content = subject+ - -# ~~~~~~ subject -subject = element subject { subject.attributes } - -subject.attributes = - subject.id.attribute -subject.id.attribute = attribute id { xsd:NMTOKEN } - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ abstract ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -abstract = element abstract { abstract.content } - -abstract.content = - p+ - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cover ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -cover = element cover { cover.content } - -cover.content = - cover.image - -cover.image = element image { cover.image.attributes } - -cover.image.attributes = - cover.image.id.attribute -cover.image.id.attribute = attribute id { xsd:NMTOKEN } - -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ annotation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -annotation = element annotation { annotation.content } - -annotation.content = inlines - - -# ============================================================================= # DIVISION LEVEL # ============================================================================= # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ division ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# ~~~~~~ division division = element division { division.content } division.content = division.head?, (division | topic)+ +# ~~~~~~ division.head +division.head = element head { division.head.content } + +division.head.content = + (title, subtitle?)? + & abstract? + & annotation* + # ============================================================================= -# COMPONENT LEVEL +# COMPONENT LEVEL # ============================================================================= +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ component.head ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +component.head = element head { component.head.content } + +component.head.content = + (title, subtitle?)? + & contributors? + & abstract? + & annotation* + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ topic ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ topic = element topic { topic.attributes, topic.content } @@ -274,6 +126,7 @@ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ section ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# ~~~~~~ section section = element section { section.attributes, section.content } section.attributes = @@ -285,6 +138,14 @@ section.head?, (section+ | block+) +# ~~~~~~ section.head +section.head = element head { section.head.content } + +section.head.content = + (title, subtitle?)? + & abstract? + & annotation* + # ============================================================================= # BLOCK LEVEL @@ -292,8 +153,15 @@ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ block ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# ~~~~~~ block block = (p | speech | \list | blockquote | table | media) +# ~~~~~~ block.head +block.head = element head { block.head.content } + +block.head.content = + (title, subtitle?)? + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ p ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ p = element p { p.content } @@ -462,6 +330,153 @@ # ============================================================================= +# HEAD LEVEL +# ============================================================================= + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ title, subtitle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +title = element title { title.content } +subtitle = element subtitle { title.content } + +title.content = inlines + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ identifier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +identifier.uri = element identifier { + attribute type { "uri" }, xsd:anyURI +} + +identifier.ean = element identifier { + attribute type { "ean" }, xsd:token {pattern = "\d{13}"} +} + +identifier = identifier.uri | identifier.ean + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ copyright ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +copyright = element copyright { copyright.content } + +copyright.content = inlines + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ contributors ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# ~~~~~~ contributors +contributors = element contributors { contributors.content } + +contributors.content = + contributor+ + +# ~~~~~~ contributor +contributor = element contributor { contributor.content } + +contributor.content = + (((firstname, secondname?)?, lastname) | label), + address?, + link?, + role* + +# ~~~~~~ firstname, secondname, lastname, label +firstname = element firstname { firstname.content } +secondname = element secondname { secondname.content } +lastname = element lastname { lastname.content } +label = element label { label.content } + +firstname.content = inlines +secondname.content = inlines +lastname.content = inlines +label.content = inlines + +# ~~~~~~ address +address = element address { address.content } + +address.content = inlines + +# ~~~~~~ role +role = element role { role.content } + +role.content = "author" | "illustrator" | "publisher" | "packager" + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ place ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +place = element place { place.content } + +place.content = inlines + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# ~~~~~~ source +source = element source { + ( (attribute type { "book" }, source.content.book) + | (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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# ~~~~~~ keywordset +keywordset = element keywordset { keywordset.content } + +keywordset.content = keyword+ + +# ~~~~~~ keyword +keyword = element keyword { keyword.content } + +keyword.content = mixed { sup*, sub* } + +# ~~~~~~ subjectset +subjectset = element subjectset { subjectset.content } + +subjectset.content = subject+ + +# ~~~~~~ subject +subject = element subject { subject.attributes } + +subject.attributes = + subject.id.attribute +subject.id.attribute = attribute id { xsd:NMTOKEN } + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ abstract ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +abstract = element abstract { abstract.content } + +abstract.content = + p+ + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cover ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +cover = element cover { cover.content } + +cover.content = + cover.image + +cover.image = element image { cover.image.attributes } + +cover.image.attributes = + cover.image.id.attribute +cover.image.id.attribute = attribute id { xsd:NMTOKEN } + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ annotation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +annotation = element annotation { annotation.content } + +annotation.content = inlines + + +# ============================================================================= # INLINE LEVEL # ============================================================================= @@ -494,6 +509,20 @@ var = element var { text } +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +number = element number { + ( attribute type {"roman"}, number.attributes, number.roman.content ) + | ( number.attributes, number.content) +} + +number.attributes = + number.value.attribute? +number.value.attribute = attribute value { xsd:integer | xsd:decimal } + +number.content = mixed { sup* } +number.roman.content = xsd:token {pattern = "[dlxvi]+"} + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ math ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ math = element math { @@ -508,20 +537,6 @@ math.content = mixed { sup* & sub* & var* } math.tex.content = text -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ number ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -number = element number { - ( attribute type {"roman"}, number.attributes, number.roman.content ) - | ( number.attributes, number.content) -} - -number.attributes = - number.value.attribute? -number.value.attribute = attribute value { xsd:integer | xsd:decimal } - -number.content = mixed { sup* } -number.roman.content = xsd:token {pattern = "[dlxvi]+"} - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date = element date { date.attributes, date.content } diff -r 208625c74410 -r d5067911c762 Xml/Documents/torture_test.xml --- a/Xml/Documents/torture_test.xml mar. mars 13 07:40:10 2012 +0100 +++ b/Xml/Documents/torture_test.xml jeu. mars 22 11:34:25 2012 +0100 @@ -28,7 +28,7 @@ 9782843550362 L'art de mettre à l'épreuve - + 312 hugo_miserables.xml diff -r 208625c74410 -r d5067911c762 Xml/Topics/centre_pompidou.xml --- a/Xml/Topics/centre_pompidou.xml mar. mars 13 07:40:10 2012 +0100 +++ b/Xml/Topics/centre_pompidou.xml jeu. mars 22 11:34:25 2012 +0100 @@ -7,14 +7,6 @@ Paris, samedi 1er Paris - - 9782843550362 - Chronique de l'année 2000 - - - - 4a.tex - France Architecture diff -r 208625c74410 -r d5067911c762 Xml/Topics/chasseurs.xml --- a/Xml/Topics/chasseurs.xml mar. mars 13 07:40:10 2012 +0100 +++ b/Xml/Topics/chasseurs.xml jeu. mars 22 11:34:25 2012 +0100 @@ -7,14 +7,6 @@ Baie de Somme, mardi 1er Baie de Somme - - 9782843550362 - Chronique de l'année 2000 - - - - 12a.tex -
diff -r 208625c74410 -r d5067911c762 Xml/Topics/portugal_ue.xml --- a/Xml/Topics/portugal_ue.xml mar. mars 13 07:40:10 2012 +0100 +++ b/Xml/Topics/portugal_ue.xml jeu. mars 22 11:34:25 2012 +0100 @@ -10,7 +10,7 @@ 9782843550362 Chronique de l'année 2000 - + 4 4z.tex diff -r 208625c74410 -r d5067911c762 Xml/Topics/prince_belge.xml --- a/Xml/Topics/prince_belge.xml mar. mars 13 07:40:10 2012 +0100 +++ b/Xml/Topics/prince_belge.xml jeu. mars 22 11:34:25 2012 +0100 @@ -5,14 +5,6 @@ Janvier 2000 - - 9782843550362 - Chronique de l'année 2000 - - - - e8.tex -
diff -r 208625c74410 -r d5067911c762 Xml/Topics/proba01.xml --- a/Xml/Topics/proba01.xml mar. mars 13 07:40:10 2012 +0100 +++ b/Xml/Topics/proba01.xml jeu. mars 22 11:34:25 2012 +0100 @@ -4,6 +4,10 @@ Qu'est-ce qu'une probabilité ? + + mathématiques + probabilité +
diff -r 208625c74410 -r d5067911c762 Xxe/Css/publidoc.css --- a/Xxe/Css/publidoc.css mar. mars 13 07:40:10 2012 +0100 +++ b/Xxe/Css/publidoc.css jeu. mars 22 11:34:25 2012 +0100 @@ -466,6 +466,10 @@ note:after { font-size: 75%; content: ")"; } note p { display:inline; } +/* foreign ~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +foreign { font-family: sans-serif; font-style: italic; } + /* highlight ~~~~~~~~~~~~~~~~~~~~~~~ */ highlight { font-weight: bold; }