--- a/RelaxNG/publidoc.rnc mar. sept. 27 23:30:00 2011 +0200
+++ b/RelaxNG/publidoc.rnc mer. sept. 28 14:29:11 2011 +0200
@@ -131,10 +131,6 @@
# ~~~~~~ author
author = element author { author.content }
-author.attributes =
- role.attribute?
-role.attribute = attribute role { "author" | "illustrator" }
-
author.content =
firstname?,
lastname,
@@ -304,7 +300,7 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ block ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-block = (p | speech | \list | table | media)
+block = (p | speech | \list | blockquote | table | media)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ p ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -357,6 +353,22 @@
label,
block+
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ blockquote ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# ~~~~~~ blockquote
+blockquote = element blockquote { blockquote.content }
+
+blockquote.content =
+ block.head?,
+ (p | speech | \list)+,
+ attribution?
+
+# ~~~~~~ attribution
+attribution = element attribution { attribtuion.content }
+
+attribtuion.content =
+ inlines
+
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ table ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
table = element table { table.content }
--- a/RelaxNG/publidoc.rng mar. sept. 27 23:30:00 2011 +0200
+++ b/RelaxNG/publidoc.rng mer. sept. 28 14:29:11 2011 +0200
@@ -304,19 +304,6 @@
<ref name="author.content"/>
</element>
</define>
- <define name="author.attributes">
- <optional>
- <ref name="role.attribute"/>
- </optional>
- </define>
- <define name="role.attribute">
- <attribute name="role">
- <choice>
- <value>author</value>
- <value>illustrator</value>
- </choice>
- </attribute>
- </define>
<define name="author.content">
<optional>
<ref name="firstname"/>
@@ -631,6 +618,7 @@
<ref name="p"/>
<ref name="speech"/>
<ref name="list"/>
+ <ref name="blockquote"/>
<ref name="table"/>
<ref name="media"/>
</choice>
@@ -739,6 +727,37 @@
<ref name="block"/>
</oneOrMore>
</define>
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ blockquote ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <!-- ~~~~~~ blockquote -->
+ <define name="blockquote">
+ <element name="blockquote">
+ <ref name="blockquote.content"/>
+ </element>
+ </define>
+ <define name="blockquote.content">
+ <optional>
+ <ref name="block.head"/>
+ </optional>
+ <oneOrMore>
+ <choice>
+ <ref name="p"/>
+ <ref name="speech"/>
+ <ref name="list"/>
+ </choice>
+ </oneOrMore>
+ <optional>
+ <ref name="attribution"/>
+ </optional>
+ </define>
+ <!-- ~~~~~~ attribution -->
+ <define name="attribution">
+ <element name="attribution">
+ <ref name="attribtuion.content"/>
+ </element>
+ </define>
+ <define name="attribtuion.content">
+ <ref name="inlines"/>
+ </define>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ table ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<define name="table">
<element name="table">
--- a/Xml/Documents/torture_test.xml mar. sept. 27 23:30:00 2011 +0200
+++ b/Xml/Documents/torture_test.xml mer. sept. 28 14:29:11 2011 +0200
@@ -215,6 +215,22 @@
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<topic>
<head>
+ <title>Les citations</title>
+ </head>
+ <section>
+ <blockquote>
+ <p>Dans cent ans, qu'aimeriez-vous que l'on dise de vous ?</p>
+ <p>
+ — J'aimerais que l'on dise : <quote>il se porte bien pour son
+ âge !</quote>
+ </p>
+ <attribution>Woody ALLEN</attribution>
+ </blockquote>
+ </section>
+ </topic>
+ <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <topic>
+ <head>
<title>Les tableaux</title>
</head>
<section>