# HG changeset patch # User Patrick PIERRE # Date 1311024932 -7200 # Node ID c51d5097d06516858e514580177506e7112f58f2 # Parent c70de8fae29df29adc9cf2d643126a4523e27e77 Amélioration de la gestion des auteurs et des éditeurs diff -r c70de8fae29d -r c51d5097d065 RelaxNG/publidoc.rnc --- a/RelaxNG/publidoc.rnc lun. juil. 18 19:10:28 2011 +0200 +++ b/RelaxNG/publidoc.rnc lun. juil. 18 23:35:32 2011 +0200 @@ -61,6 +61,7 @@ top.head.content = (title, subtitle?)? + & identifier* & language? & author* & publisher? @@ -93,11 +94,22 @@ title.content = inlines +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ identifier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +identifier = element identifier { identifier.content, identifier.attributes } + +identifier.attributes = + class.attribute +class.attribute = attribute class { "uri" | "ean" } + +identifier.content = xsd:anyURI | xsd:NMTOKEN + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ language ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ language = element language { language.attributes } -language.attributes = lang.attribute +language.attributes = + lang.attribute lang.attribute = attribute xml:lang { xsd:language } # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ author, publisher ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -114,16 +126,12 @@ lastname, role* -role = element role { role.attributes } - -role.attributes = - role.of.attribute -role.of.attribute = attribute of { "author" | "illustrator" } - # ~~~~~~ publisher publisher = element publisher { publisher.content } -publisher.content = inlines +publisher.content = + label, + url? # ~~~~~~ firstname firstname = element firstname { firstname.content } @@ -135,6 +143,23 @@ lastname.content = inlines +# ~~~~~~ label +label = element label { label.content } + +label.content = inlines + +# ~~~~~~ role +role = element role { role.attributes } + +role.attributes = + role.of.attribute +role.of.attribute = attribute of { "author" | "illustrator" } + +# ~~~~~~ url +url = element url { url.content } + +url.content = xsd:anyURI + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ place ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ place = element place { place.content } @@ -302,11 +327,6 @@ label, block+ -# ~~~~~~ label -label = element label { label.content } - -label.content = inlines - # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ table ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ table = element table { table.content } diff -r c70de8fae29d -r c51d5097d065 RelaxNG/publidoc.rng --- a/RelaxNG/publidoc.rng lun. juil. 18 19:10:28 2011 +0200 +++ b/RelaxNG/publidoc.rng lun. juil. 18 23:35:32 2011 +0200 @@ -129,6 +129,9 @@ + + + @@ -231,6 +234,30 @@ + + + + + + + + + + + + + + uri + ean + + + + + + + + + @@ -274,22 +301,6 @@ - - - - - - - - - - - - author - illustrator - - - @@ -297,7 +308,10 @@ - + + + + @@ -317,6 +331,41 @@ + + + + + + + + + + + + + + + + + + + + + + author + illustrator + + + + + + + + + + + + @@ -632,15 +681,6 @@ - - - - - - - - - diff -r c70de8fae29d -r c51d5097d065 RelaxNG/publiset.rnc --- a/RelaxNG/publiset.rnc lun. juil. 18 19:10:28 2011 +0200 +++ b/RelaxNG/publiset.rnc lun. juil. 18 23:35:32 2011 +0200 @@ -74,6 +74,7 @@ top.head.content = (title, subtitle?)? + & identifier* & language? & author* & publisher? @@ -89,6 +90,16 @@ title.content = inlines +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ identifier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +identifier = element identifier { identifier.content, identifier.attributes } + +identifier.attributes = + class.attribute +class.attribute = attribute class { "uri" | "ean" } + +identifier.content = xsd:anyURI | xsd:NMTOKEN + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ language ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ language = element language { language.attributes } @@ -101,14 +112,21 @@ # ~~~~~~ author author = element author { author.content } +author.attributes = + role.attribute? +role.attribute = attribute role { "author" | "illustrator" } + author.content = firstname?, - lastname + lastname, + role* # ~~~~~~ publisher publisher = element publisher { publisher.content } -publisher.content = inlines +publisher.content = + label, + url? # ~~~~~~ firstname firstname = element firstname { firstname.content } @@ -120,6 +138,23 @@ lastname.content = inlines +# ~~~~~~ label +label = element label { label.content } + +label.content = inlines + +# ~~~~~~ role +role = element role { role.attributes } + +role.attributes = + role.of.attribute +role.of.attribute = attribute of { "author" | "illustrator" } + +# ~~~~~~ url +url = element url { url.content } + +url.content = xsd:anyURI + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~ source diff -r c70de8fae29d -r c51d5097d065 RelaxNG/publiset.rng --- a/RelaxNG/publiset.rng lun. juil. 18 19:10:28 2011 +0200 +++ b/RelaxNG/publiset.rng lun. juil. 18 23:35:32 2011 +0200 @@ -147,6 +147,9 @@ + + + @@ -188,6 +191,30 @@ + + + + + + + + + + + + + + uri + ean + + + + + + + + + @@ -209,11 +236,27 @@ + + + + + + + + + author + illustrator + + + + + + @@ -222,7 +265,10 @@ - + + + + @@ -242,6 +288,41 @@ + + + + + + + + + + + + + + + + + + + + + + author + illustrator + + + + + + + + + + + + diff -r c70de8fae29d -r c51d5097d065 Xml/Documents/demi-douce.xml --- a/Xml/Documents/demi-douce.xml lun. juil. 18 19:10:28 2011 +0200 +++ b/Xml/Documents/demi-douce.xml lun. juil. 18 23:35:32 2011 +0200 @@ -9,7 +9,7 @@ HenriOstrowiecki - Les éditions des Rosiers +

C'est l'histoire d'un petit garçon qui faillit ne jamais avoir 5 ans diff -r c70de8fae29d -r c51d5097d065 Xml/Documents/torture_test.xml --- a/Xml/Documents/torture_test.xml lun. juil. 18 19:10:28 2011 +0200 +++ b/Xml/Documents/torture_test.xml lun. juil. 18 23:35:32 2011 +0200 @@ -5,6 +5,9 @@ Torture test Test des capacités de publidoc + 978-2-35184-011-4 + http://www.prismallia.fr/Xml/torture_test + PatrickPIERRE @@ -12,8 +15,10 @@ Tien HaïNGUYEN - Prismallia - + + + http://www.prismallia.fr + Paris diff -r c70de8fae29d -r c51d5097d065 Xml/Sets/composition.xml --- a/Xml/Sets/composition.xml lun. juil. 18 19:10:28 2011 +0200 +++ b/Xml/Sets/composition.xml lun. juil. 18 23:35:32 2011 +0200 @@ -5,7 +5,15 @@ Exemple d'assemblage de sujets + 978-2-35184-011-4 + + PatrickPIERRE + + + + http://www.prismallia.fr +