Ajout de la configuration XXE pour publiquiz
authorPatrick PIERRE <patrick.pierre@prismallia.fr>
sam., 04 févr. 2012 14:44:39 +0100
changeset 87 35606ecc54fc
parent 86 2d51a1795ed3
child 88 276c44321a6d
Ajout de la configuration XXE pour publiquiz
RelaxNG/publiquiz.rnc
Xml/Quiz/blanks-fill.xml
Xml/Quiz/blanks-fill_strict.xml
Xml/Quiz/blanks-select.xml
Xml/Quiz/blanks-select_multiple.xml
Xml/Quiz/blanks_fill.xml
Xml/Quiz/blanks_fill_strict.xml
Xml/Quiz/blanks_select.xml
Xml/Quiz/blanks_select_multiple.xml
Xml/Quiz/choices-check.xml
Xml/Quiz/choices-radio.xml
Xml/Quiz/choices_check.xml
Xml/Quiz/choices_radio.xml
Xml/Quiz/composite.xml
Xml/Quiz/matching.xml
Xml/Quiz/production.xml
Xxe/Css/publiquiz.css
Xxe/Templates/publiquiz_blanks-fill.xml
Xxe/Templates/publiquiz_blanks-select.xml
Xxe/Templates/publiquiz_choices-check.xml
Xxe/Templates/publiquiz_choices-radio.xml
Xxe/Templates/publiquiz_composite.xml
Xxe/Templates/publiquiz_matching.xml
Xxe/Templates/publiquiz_point.xml
Xxe/Templates/publiquiz_production.xml
Xxe/Templates/publiquiz_sort.xml
Xxe/publidoc.xxe
Xxe/publiquiz.xxe
Xxe/publiquiz.xxe_addon
--- a/RelaxNG/publiquiz.rnc	mer. févr. 01 18:19:33 2012 +0100
+++ b/RelaxNG/publiquiz.rnc	sam. févr. 04 14:44:39 2012 +0100
@@ -56,9 +56,9 @@
 quiz.content =
    component.head?,
    instructions,
-   (engine | composite)?,
+   (engine | composite),
    help?,
-   commentary?
+   answer?
 
 
 # =============================================================================
@@ -84,46 +84,49 @@
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ engine ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 engine =
-   choices
- | blanks
+   choices-radio
+ | choices-check
+ | blanks-fill
+ | blanks-select
  | point
  | matching
  | sort
+ | production
 
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ choices ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-choices = element choices {
-   (attribute type {"radio"}, choices.attributes, choices.radio.content)
- | (attribute type {"check"}, choices.attributes, choices.check.content)
-}
+choices-radio = element choices-radio {
+   choices.attributes, choices-radio.content }
+choices-check = element choices-check {
+   choices.attributes, choices-check.content }
 
 choices.attributes =
    shuffle.attribute?
 shuffle.attribute = attribute shuffle { xsd:boolean }
 
-choices.radio.content =
+choices-radio.content =
    choices.right
  & choices.wrong+
-choices.check.content =
+choices-check.content =
    (choices.right | choices.wrong)+
 
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ blanks ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-blanks = element blanks {
-   (attribute type {"fill"}, blanks.fill.attributes, blanks.fill.content)
- | (attribute type {"select"}, blanks.select.attributes, blanks.select.content)
-}
+blanks-fill = element blanks-fill {
+   blanks-fill.attributes, blanks-fill.content }
+blanks-select = element blanks-select {
+   blanks-select.attributes, blanks-select.content }
 
-blanks.fill.attributes =
+blanks-fill.attributes =
    strict.attribute?
-blanks.select.attributes =
+blanks-select.attributes =
    multiple.attribute?
 strict.attribute = attribute strict { xsd:boolean }
 multiple.attribute = attribute multiple { xsd:boolean }
 
-blanks.fill.content =
+blanks-fill.content =
    (blanks.block+ | blanks.section+)
-blanks.select.content =
+blanks-select.content =
    blanks.wrongs?,
    (blanks.block+ | blanks.section+)
 
@@ -159,6 +162,10 @@
    sort.item,
    sort.item+
 
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ production ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+production = element production { empty }
+
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ composite ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 # ~~~~~~ composite
@@ -183,11 +190,11 @@
    (section+ | block+)?,
    link*
 
-# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ commentary ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ answer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-commentary = element commentary { commentary.content }
+answer = element answer { answer.content }
 
-commentary.content =
+answer.content =
    (section+ | block+)?,
    link*
 
@@ -396,7 +403,7 @@
 
 blank.content =
    text
- | (s+, help?, commentary?)
+ | (s+, help?, answer?)
 
 # ~~~~~~ s
 s = element s { s.content }
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xml/Quiz/blanks-fill.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publiquiz version="1.0">
+  <quiz xml:id="blanks-fill" xml:lang="fr">
+    <head>
+      <title>Exercice à trous</title>
+    </head>
+    
+    <instructions>
+      <p>Écrivez correctement les adjectifs de couleur.</p>
+    </instructions>
+
+    <blanks-fill>
+      <p>
+        Ses lèvres sont <blank><s>bleues</s><s>grises</s></blank>
+        (<mentioned>bleu ou gris</mentioned>) de froid.
+      </p>
+      <p>
+        Les serviettes <blank><s>orange</s>
+        <help><p>Nom ?</p></help>
+        <answer><p>Orange est un nom.</p></answer></blank>
+        (<mentioned>orange</mentioned>) sont propres.
+      </p>
+      <p>
+        Il y a des taches <blank>blanchâtres</blank>
+        (<mentioned>blanchâtre</mentioned>) sur votre veste.
+      </p>
+    </blanks-fill>
+  </quiz>
+</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xml/Quiz/blanks-fill_strict.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publiquiz version="1.0">
+  <quiz xml:id="blanks-fill_strict" xml:lang="fr">
+    <head>
+      <title>Exercice à trous strict</title>
+    </head>
+    
+    <instructions>
+      <p>Écrivez correctement les adjectifs de couleur.</p>
+    </instructions>
+
+    <blanks-fill strict="true">
+      <section>
+        <p>La Mésopotamie est une région du <blank>Moyen
+         Orient</blank> située entre le <blank>Tigre</blank> 
+         et l'<blank>Euphrate</blank>. Elle correspond à
+         l'<blank>Irak</blank> actuel. Il s'agit d'une zone
+         où l'irrigation n'est pas nécessaire pour l'agriculture.</p>
+      </section>
+      <section>
+        <p>Au <number type="roman" value="3">iii</number><sup>e</sup>
+        millénaire av. J.-C., on distingue le Nord, appelé
+        l'<blank>Assyrie</blank> de la région du Sud, la
+        <blank>Babylonie</blank>.</p>
+      </section>
+    </blanks-fill>
+  </quiz>
+</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xml/Quiz/blanks-select.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publiquiz version="1.0">
+  <quiz xml:id="blanks-select" xml:lang="fr">
+    <head>
+      <title>Exercice à trous avec suggestions</title>
+    </head>
+
+    <instructions>
+      <p>Complètez le texte.</p>
+    </instructions>
+
+    <blanks-select>
+      <wrongs>
+        <wrong>la bergère</wrong>
+        <wrong>« Au feu ! »</wrong>
+      </wrongs>
+      <p>
+        Un berger aime faire croire que le loup attaque <blank>son
+        troupeau</blank>. À chaque fois qu'il crie « Au loup ! », tous les gens
+        du village viennent en courant. Cela amuse beaucoup <blank>le
+        berger</blank>.
+      </p>
+      <p>
+        <blank>Un jour</blank>, le loup attaque son troupeau. Le berger crie
+        <blank>« Au loup ! »</blank> mais personne ne vient et le loup emporte
+        sa plus belle brebis.
+        </p>
+    </blanks-select>
+  </quiz>
+</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xml/Quiz/blanks-select_multiple.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publiquiz version="1.0">
+  <quiz xml:id="blanks-select_multiple" xml:lang="fr">
+    <head>
+      <title>Exercice à trous avec suggestions réutilisables</title>
+    </head>
+
+    <instructions>
+      <p>Sans utiliser votre calculatrice, ni poser les opérations, retrouvez
+      le résultat exact de chaque multiplication.</p>
+    </instructions>
+
+    <blanks-select multiple="true">
+      <wrongs>
+        <wrong>1 169,73</wrong>
+        <wrong>848,78</wrong>
+      </wrongs>
+      <list>
+        <item>369 x 31,7 = <blank>11 697,3</blank></item>
+        <item>738 x 1,15 = <blank>848,7</blank></item>
+        <item>317 x 36,9 = <blank>11 697,3</blank></item>
+      </list>
+    </blanks-select>
+  </quiz>
+</publiquiz>
--- a/Xml/Quiz/blanks_fill.xml	mer. févr. 01 18:19:33 2012 +0100
+++ /dev/null	jeu. janv. 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- $Id$ -->
-<publiquiz version="1.0">
-  <quiz xml:id="blanks_fill" xml:lang="fr">
-    <head>
-      <title>Exercice à trous</title>
-    </head>
-    
-    <instructions>
-      <p>Écrivez correctement les adjectifs de couleur.</p>
-    </instructions>
-
-    <blanks type="fill">
-      <p>
-        Ses lèvres sont <blank><s>bleues</s><s>grises</s></blank>
-        (<mentioned>bleu ou gris</mentioned>) de froid.
-      </p>
-      <p>
-        Les serviettes <blank><s>orange</s>
-        <help><p>Nom ?</p></help>
-        <commentary><p>Orange est un nom.</p></commentary></blank>
-        (<mentioned>orange</mentioned>) sont propres.
-      </p>
-      <p>
-        Il y a des taches <blank>blanchâtres</blank>
-        (<mentioned>blanchâtre</mentioned>) sur votre veste.
-      </p>
-    </blanks>
-  </quiz>
-</publiquiz>
--- a/Xml/Quiz/blanks_fill_strict.xml	mer. févr. 01 18:19:33 2012 +0100
+++ /dev/null	jeu. janv. 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- $Id$ -->
-<publiquiz version="1.0">
-  <quiz xml:id="blanks_fill_strict" xml:lang="fr">
-    <head>
-      <title>Exercice à trous strict</title>
-    </head>
-    
-    <instructions>
-      <p>Écrivez correctement les adjectifs de couleur.</p>
-    </instructions>
-
-    <blanks type="fill" strict="true">
-      <section>
-        <p>La Mésopotamie est une région du <blank>Moyen
-         Orient</blank> située entre le <blank>Tigre</blank> 
-         et l'<blank>Euphrate</blank>. Elle correspond à
-         l'<blank>Irak</blank> actuel. Il s'agit d'une zone
-         où l'irrigation n'est pas nécessaire pour l'agriculture.</p>
-      </section>
-      <section>
-        <p>Au <number type="roman" value="3">iii</number><sup>e</sup>
-        millénaire av. J.-C., on distingue le Nord, appelé
-        l'<blank>Assyrie</blank> de la région du Sud, la
-        <blank>Babylonie</blank>.</p>
-      </section>
-    </blanks>
-  </quiz>
-</publiquiz>
--- a/Xml/Quiz/blanks_select.xml	mer. févr. 01 18:19:33 2012 +0100
+++ /dev/null	jeu. janv. 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- $Id$ -->
-<publiquiz version="1.0">
-  <quiz xml:id="blanks_select" xml:lang="fr">
-    <head>
-      <title>Exercice à trous avec suggestions</title>
-    </head>
-
-    <instructions>
-      <p>Complètez le texte.</p>
-    </instructions>
-
-    <blanks type="select">
-      <wrongs>
-        <wrong>la bergère</wrong>
-        <wrong>« Au feu ! »</wrong>
-      </wrongs>
-      <p>
-        Un berger aime faire croire que le loup attaque <blank>son
-        troupeau</blank>. À chaque fois qu'il crie « Au loup ! », tous les gens
-        du village viennent en courant. Cela amuse beaucoup <blank>le
-        berger</blank>.
-      </p>
-      <p>
-        <blank>Un jour</blank>, le loup attaque son troupeau. Le berger crie
-        <blank>« Au loup ! »</blank> mais personne ne vient et le loup emporte
-        sa plus belle brebis.
-        </p>
-    </blanks>
-  </quiz>
-</publiquiz>
--- a/Xml/Quiz/blanks_select_multiple.xml	mer. févr. 01 18:19:33 2012 +0100
+++ /dev/null	jeu. janv. 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- $Id$ -->
-<publiquiz version="1.0">
-  <quiz xml:id="blanks_select_multiple" xml:lang="fr">
-    <head>
-      <title>Exercice à trous avec suggestions réutilisables</title>
-    </head>
-
-    <instructions>
-      <p>Sans utiliser votre calculatrice, ni poser les opérations, retrouvez
-      le résultat exact de chaque multiplication.</p>
-    </instructions>
-
-    <blanks type="select" multiple="true">
-      <wrongs>
-        <wrong>1 169,73</wrong>
-        <wrong>848,78</wrong>
-      </wrongs>
-      <list>
-        <item>369 x 31,7 = <blank>11 697,3</blank></item>
-        <item>738 x 1,15 = <blank>848,7</blank></item>
-        <item>317 x 36,9 = <blank>11 697,3</blank></item>
-      </list>
-    </blanks>
-  </quiz>
-</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xml/Quiz/choices-check.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publiquiz version="1.0">
+  <quiz xml:id="choices-check" xml:lang="fr">
+    <head>
+      <title>Exercice QCM cases à cocher</title>
+    </head>
+
+    <instructions>
+      <p>Mon chiffre des unités est le double de celui des dizaines, mon
+      chiffre des dixièmes est inférieur à celui des unités. Mon chiffre des
+      centièmes est supérieur à 7. Qui suis-je ? (deux solutions)</p>
+    </instructions>
+
+    <choices-check>
+      <wrong>724,36</wrong>
+      <right>324,18</right>
+      <right>812,19</right>
+      <wrong>963,49</wrong>
+    </choices-check>
+
+    <answer>
+      <p>Il faut procéder par élimination.</p>
+      <list>
+        <item>
+          Les quatre nombres vérifient la première condition (« mon chiffre des
+          unités est le double de celui des dizaines ») :
+          7<highlight>24</highlight>,36 ; 3<highlight>24</highlight>,18 ;
+          8<highlight>12</highlight>,19 et 9<highlight>63</highlight>,49.
+        </item>
+        <item>
+          Mais la deuxième condition (« mon chiffre des dixièmes est inférieur
+          à celui des unités ») t'amène à écarter le nombre
+          96<highlight>3</highlight>,<highlight>4</highlight>9 et la dernière
+          condition (« mon chiffre des centièmes est supérieur à 7 »), le
+          nombre 724,3<highlight>6</highlight>.
+        </item>
+      </list>
+    </answer>
+  </quiz>
+</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xml/Quiz/choices-radio.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publiquiz version="1.0">
+  <quiz xml:id="choices_radio" xml:lang="fr">
+    <head>
+      <title>Exercice QCM radio</title>
+    </head>
+
+    <instructions>
+      <p>Quand on commande une « surprise » à Otorino le pizzaïolo, il choisit
+      au hasard trois des ingrédients :</p>
+      <list>
+        <item>olives ou anchois ;</item>
+        <item>poivrons ou artichaut ou champignons ;</item>
+        <item>jambon ou coppa.</item>
+      </list>
+      <p>Quelle est la probabilité d'obtenir une pizza contenant des anchois
+      et des poivrons ?</p>
+    </instructions>
+
+    <choices-radio>
+      <wrong>½</wrong>
+      <right>⅙</right>
+      <wrong>⅓</wrong>
+    </choices-radio>
+
+    <help>
+      <p>Pour trouver le nombre de cas possibles, le plus simple est de faire
+      un arbre.</p>
+    </help>
+
+    <answer>
+      <p>Pour trouver le nombre de cas possibles, le plus simple est de faire
+      un arbre.</p>
+      <p>Le nombre de cas favorables est 2.</p>
+      <p>On en déduit la probabilité cherchée : 2/12 = 1/6</p>
+      <link uri="proba01"/>
+    </answer>
+  </quiz>
+</publiquiz>
--- a/Xml/Quiz/choices_check.xml	mer. févr. 01 18:19:33 2012 +0100
+++ /dev/null	jeu. janv. 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- $Id$ -->
-<publiquiz version="1.0">
-  <quiz xml:id="choices_check" xml:lang="fr">
-    <head>
-      <title>Exercice QCM cases à cocher</title>
-    </head>
-
-    <instructions>
-      <p>Mon chiffre des unités est le double de celui des dizaines, mon
-      chiffre des dixièmes est inférieur à celui des unités. Mon chiffre des
-      centièmes est supérieur à 7. Qui suis-je ? (deux solutions)</p>
-    </instructions>
-
-    <choices type="check">
-      <wrong>724,36</wrong>
-      <right>324,18</right>
-      <right>812,19</right>
-      <wrong>963,49</wrong>
-    </choices>
-
-    <commentary>
-      <p>Il faut procéder par élimination.</p>
-      <list>
-        <item>
-          Les quatre nombres vérifient la première condition (« mon chiffre des
-          unités est le double de celui des dizaines ») :
-          7<highlight>24</highlight>,36 ; 3<highlight>24</highlight>,18 ;
-          8<highlight>12</highlight>,19 et 9<highlight>63</highlight>,49.
-        </item>
-        <item>
-          Mais la deuxième condition (« mon chiffre des dixièmes est inférieur
-          à celui des unités ») t'amène à écarter le nombre
-          96<highlight>3</highlight>,<highlight>4</highlight>9 et la dernière
-          condition (« mon chiffre des centièmes est supérieur à 7 »), le
-          nombre 724,3<highlight>6</highlight>.
-        </item>
-      </list>
-    </commentary>
-  </quiz>
-</publiquiz>
--- a/Xml/Quiz/choices_radio.xml	mer. févr. 01 18:19:33 2012 +0100
+++ /dev/null	jeu. janv. 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- $Id$ -->
-<publiquiz version="1.0">
-  <quiz xml:id="choices_radio" xml:lang="fr">
-    <head>
-      <title>Exercice QCM radio</title>
-    </head>
-
-    <instructions>
-      <p>Quand on commande une « surprise » à Otorino le pizzaïolo, il choisit
-      au hasard trois des ingrédients :</p>
-      <list>
-        <item>olives ou anchois ;</item>
-        <item>poivrons ou artichaut ou champignons ;</item>
-        <item>jambon ou coppa.</item>
-      </list>
-      <p>Quelle est la probabilité d'obtenir une pizza contenant des anchois
-      et des poivrons ?</p>
-    </instructions>
-
-    <choices type="radio">
-      <wrong>½</wrong>
-      <right>⅙</right>
-      <wrong>⅓</wrong>
-    </choices>
-
-    <help>
-      <p>Pour trouver le nombre de cas possibles, le plus simple est de faire
-      un arbre.</p>
-    </help>
-
-    <commentary>
-      <p>Pour trouver le nombre de cas possibles, le plus simple est de faire
-      un arbre.</p>
-      <p>Le nombre de cas favorables est 2.</p>
-      <p>On en déduit la probabilité cherchée : 2/12 = 1/6</p>
-      <link uri="proba01"/>
-    </commentary>
-  </quiz>
-</publiquiz>
--- a/Xml/Quiz/composite.xml	mer. févr. 01 18:19:33 2012 +0100
+++ b/Xml/Quiz/composite.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -16,11 +16,11 @@
         <instructions>
           <p>abeille</p>
         </instructions>
-        <choices type="radio">
+        <choices-radio>
           <wrong>gastéropode</wrong>
           <right>insecte</right>
           <wrong>mollusque</wrong>
-        </choices>
+        </choices-radio>
       </subquiz>
 
       <!-- ================================================================ -->
@@ -28,21 +28,21 @@
         <instructions>
           <p>aigle</p>
         </instructions>
-        <choices type="check">
+        <choices-check>
           <right>oiseau</right>
           <wrong>passereau</wrong>
           <wrong>charognard</wrong>
           <right>rapace</right>
-        </choices>
+        </choices-check>
       </subquiz>
 
       <!-- ================================================================ -->
       <subquiz>
-       <blanks type="fill">
+       <blanks-fill>
           <p>L'abeille est un <blank>insecte</blank> qui vit dans une
           <blank>ruche</blank>.</p>
           <p>Elle fabrique du <blank>miel</blank>.</p>
-        </blanks>
+        </blanks-fill>
       </subquiz>
 
       <!-- ================================================================ -->
@@ -50,13 +50,13 @@
         <instructions>
           <p>albatros</p>
         </instructions>
-        <blanks type="select">
+        <blanks-select>
           <wrongs>
             <wrong>reptile</wrong>
             <wrong>oiseaux</wrong>
           </wrongs>
           <p>Catégorie : <blank>mammifère</blank></p>
-        </blanks>
+        </blanks-select>
       </subquiz>
 
       <!-- ================================================================ -->
--- a/Xml/Quiz/matching.xml	mer. févr. 01 18:19:33 2012 +0100
+++ b/Xml/Quiz/matching.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -20,7 +20,7 @@
         <p>On a gardé contact.</p>
       </match>
       <match>
-        <p>On se chipote souvent.</p>
+        <p>On se chamaille souvent.</p>
         <p>On ne se dispute jamais.</p>
       </match>
       <match>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xml/Quiz/production.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publiquiz version="1.0">
+  <quiz xml:id="production" xml:lang="fr">
+    <head>
+      <title>Exercice de production</title>
+    </head>
+
+    <instructions>
+      <p>
+        Notre connaissance du réel se limite-t-elle au savoir scientifique ?
+      </p>
+    </instructions>
+
+    <production/>
+    
+    <answer>
+        <p>« Le grand livre de la nature est écrit en langage mathématique »
+        avait coutume de dire <name>Galilée</name>. Cela signifie-t-il pour
+        autant que notre connaissance du réel se limite au savoir
+        scientifique ? Si nous acceptons cette restriction, nous acceptons
+        aussi que seuls les scientifiques aient accès à la connaissance du
+        réel. Est-ce le cas ? N'avons-nous pas, en tant qu'être humain, hors de
+        toute science, accès à une certaine connaissance du monde qui nous
+        entoure, une connaissance qui pourrait ne pas être forcément un
+        savoir ?</p>
+        <p>Ce premier enjeu du sujet est redoublé par un autre, plus
+        essentiel, celui de la définition du réel. À quelle sorte de réel le
+        savoir scientifique nous donne-t-il accès ? Est-ce là le seul réel
+        dont nous pouvons avoir connaissance ?</p>
+    </answer>
+  </quiz>
+</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xxe/Css/publiquiz.css	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,464 @@
+@charset "UTF-8";
+
+/* $Id$ */
+
+@import url(publidoc.css);
+
+
+publiquiz {
+  display: block;
+  font-family: sans-serif;
+  padding: 0;
+}
+
+
+/* Component level ========================================================= */
+
+quiz:before  {
+  display: block;
+  color: #7f7f7f;
+  background-color: #ddddcc;
+  border: 1px solid #aeaea0;
+  font-weight: bold;
+  padding: .5em 5px .5em 5px;
+  content: collapser() " " insert-before-button() insert-after-button()
+           " " add-attribute-button() " Quiz";
+}
+
+quiz[xml|id]:before {
+  content: collapser() " " insert-before-button() insert-after-button() " Quiz"
+           " – ID = " text-field(attribute, "xml:id", columns, 15, color, black);
+}
+
+quiz {
+  display: block;
+  border: 1px solid #aeaea0;
+  margin-bottom: .5em;
+  padding: 5px;
+  collapsible: yes;
+}
+quiz:last-child {
+  margin-bottom: 0;
+}
+
+quiz > head {
+  background-color: #ffffee;
+  padding: .3em .5em .3em .5em;
+  border-radius: 0.5em;
+}
+
+
+/* Top level =============================================================== */
+
+publiquiz > *:before {
+  display: block;
+  color: #bbbbbb;
+  background: #993333 url('top.png') repeat-x top left;
+  font-weight: bold;
+  padding: 1.2em 5px 1em 5px;
+}
+publiquiz > document:before {
+  content: add-attribute-button() " Document"
+           " – ID = " text-field(attribute, "xml:id", columns, 15, color, white);
+}
+publiquiz > document[xml|id][xml|lang]:before {
+  content: "Document"
+           " – ID = " text-field(attribute, "xml:id", columns, 15, color, white)
+           " – Langue principale  = " combo-box(attribute, "xml:lang", font-size, 75%,
+             values, "en\A fr\A fr-FR\A es", color, white);
+}
+publiquiz > quiz[xml|id]:before {
+  content: add-attribute-button() " Quiz"
+           " – ID = " text-field(attribute, "xml:id", columns, 15, color, white);
+}
+publiquiz > quiz[xml|id][xml|lang]:before {
+  content: "Quiz"
+           " – ID = " text-field(attribute, "xml:id", columns, 15, color, white)
+           " – Langue principale  = " combo-box(attribute, "xml:lang", font-size, 75%,
+             values, "en\A fr\A fr-FR\A es", color, white);
+}
+
+publiquiz > * {
+  display: block;
+  margin: 5px;
+  padding: 0;
+  border: 0;
+}
+
+publiquiz > * > head {
+  background-color: #ffffee;
+  padding: .3em .5em .3em .5em;
+  border-radius: 0.5em;
+}
+
+publiquiz > * > head > title {
+  font-size: 140%;
+}
+
+
+/* Section level =========================================================== */
+
+quiz > *:before, quiz > composite > *:before {
+  display: block;
+  color: #7f7f7f;
+  text-align: left;
+  font-style: normal;
+  font-size: 75%;
+  padding-bottom: 3px;
+}
+
+quiz > *, quiz > composite > * {
+  display: block;
+}
+
+quiz > *:after, quiz > composite > *:after {
+  color: #7f7f7f;
+  content: insert-after-button();
+}
+
+quiz > head:after {
+  display: none;
+}
+
+/* instructions ~~~~~~~~~~~~~~~~~~~~~ */
+
+instructions:before {
+  background-color: #e8f0f7;
+  content: insert-before-button() " Consigne";
+}
+
+instructions {
+  display: block;
+  background-color: #e8f0f7;
+}
+
+instructions section:before, instructions section, instructions section:after {
+  margin-left: 1em;
+}
+
+/* choices ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+choices-radio:before {
+  content: insert-before-button()
+           command-button(command, "putAttribute", parameter, "shuffle true", icon, icon(plus-box))
+           " QCM – radio";
+}
+choices-radio[shuffle]:before {
+  content: insert-before-button()
+           " QCM – radio"
+           " – shuffle = " label(attribute, shuffle, color, black)
+           set-attribute-button(attribute, shuffle, unset-attribute, yes);
+}
+
+choices-check:before {
+  content: insert-before-button()
+           command-button(command, "putAttribute", parameter, "shuffle true", icon, icon(plus-box))
+           " QCM – check";
+}
+choices-check[shuffle]:before {
+  content: insert-before-button()
+           " QCM – check"
+           " – shuffle = " label(attribute, shuffle, color, black)
+           set-attribute-button(attribute, shuffle, unset-attribute, yes);
+}
+
+/* blanks ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+blanks-fill:before {
+  content: insert-before-button()
+           command-button(command, "putAttribute", parameter, "strict true", icon, icon(plus-box))
+           " Exercice à trous – saisie libre";
+}
+blanks-fill[strict]:before {
+  content: insert-before-button()
+           " Exercice à trous – saisie libre"
+           " – strict = " label(attribute, strict, color, black)
+           set-attribute-button(attribute, strict, unset-attribute, yes);
+}
+
+blanks-select:before {
+  content: insert-before-button()
+           command-button(command, "putAttribute", parameter, "multiple true", icon, icon(plus-box))
+           " Exercice à trous – liste fermée";
+}
+blanks-select[multiple]:before {
+  content: insert-before-button()
+           " Exercice à trous – liste fermée"
+           " – multiple = " label(attribute, multiple, color, black)
+           set-attribute-button(attribute, multiple, unset-attribute, yes);
+}
+
+/* point ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+point:before {
+  content: insert-before-button() " "
+           command-button(command, "putAttribute", parameter, "type radio", icon, icon(plus-box))
+           " Pointage";
+}
+point[type]:before {
+  content: insert-before-button()
+           " Pointage – type = " label(attribute, type, color, black)
+           set-attribute-button(attribute, type, unset-attribute, yes);
+}
+
+/* matching ~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+matching:before {
+  content: insert-before-button() " Appariement";
+}
+
+/* sort ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+sort:before {
+  content: insert-before-button() 
+           command-button(command, "putAttribute", parameter, "shuffle true", icon, icon(plus-box))
+           " Tri";
+}
+sort[shuffle]:before {
+  content: insert-before-button()
+           " Tri – shuffle = " label(attribute, shuffle, color, black)
+           set-attribute-button(attribute, shuffle, unset-attribute, yes);
+}
+
+/* production ~~~~~~~~~~~~~~~~~~~~~~ */
+
+production:before {
+  content: insert-before-button() " Production";
+}
+
+/* composite ~~~~~~~~~~~~~~~~~~~~~~~ */
+
+composite:before {
+  content: insert-before-button() " Composite";
+}
+
+subquiz {
+  display: block;
+  border-style: none;
+  margin: 0 0 .6em 1em;
+  padding: 0;
+}
+
+subquiz > *, subquiz > *:before  {
+  display: block;
+}
+
+subquiz > head {
+  background-color: #ffffee;
+  padding: .3em .5em .3em .5em;
+  border-radius: 0.5em;
+}
+
+subquiz > instructions:before {
+  content: "Consigne";
+}
+
+/* help ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+help:before {
+  margin-top: .5em;
+  background-color: #ffffdd;
+  content: insert-before-button() insert-button() " Aide 2";
+}
+
+help, help > *:before, help > * {
+  background-color: #ffffdd;
+}
+
+/* answer ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+answer:before {
+  margin-top: .5em;
+  background-color: #eaffe9;
+  content: insert-before-button() insert-button() " Réponse";
+}
+
+answer, answer > *:before, answer > * {
+  background-color: #eaffe9;
+}
+
+answer:after {
+  display: none;   
+}
+
+
+/* Block level ============================================================= */
+
+/* choices.right, choices.wrong ~~~~ */
+
+choices-radio right:before, choices-radio wrong:before,
+choices-check right:before, choices-check wrong:before {
+  display: marker;
+  content: insert-before-button(color, #7f7f7f, icon, icon(left-half-disc))
+           insert-after-button(color, #7f7f7f, icon, icon(right-half-disc));
+}
+
+choices-radio right, choices-radio wrong,
+choices-check right, choices-check wrong {
+  display: block;
+  margin-left: 24px;
+  font-size: 115%;
+  font-family: serif;
+}
+
+choices-radio > right:before {
+  color: #7f7f7f;
+  content: insert-before-button(icon, icon(left-half-disc))
+           insert-after-button(icon, icon(right-half-disc))
+           "  " icon(radio-on) " ";
+    
+}
+choices-radio > wrong:before {
+  color: #7f7f7f;
+  content: insert-before-button( icon, icon(left-half-disc))
+           insert-after-button(icon, icon(right-half-disc))
+           "  " icon(radio-off) " ";
+    
+}
+choices-check > right:before {
+  color: #7f7f7f;
+  content: insert-before-button(icon, icon(left-half-disc))
+           insert-after-button(icon, icon(right-half-disc))
+           command-button(command, "convert", parameter, "wrong", icon, icon(convert))
+           "  " icon(check-on) " ";
+}
+choices-check > wrong:before {
+  color: #7f7f7f;
+  content: insert-before-button(icon, icon(left-half-disc))
+           insert-after-button(icon, icon(right-half-disc))
+           command-button(command, "convert", parameter, "right", icon, icon(convert))
+           "  " icon(check-off) " ";
+}
+
+choices-radio > right, choices-radio > wrong {
+  margin-left: 52px;
+}
+choices-check > right, choices-check > wrong {
+  margin-left: 56px;
+}
+
+/* blanks.wrongs ~~~~~~~~~~~~~~~~~~~ */
+
+blanks-select > wrongs:before {
+  color: #7f7f7f;
+  content: "Intrus : ";
+}
+
+blanks-select > wrongs {
+  display: block;
+  margin: .5em 0 .5em 0;
+}
+
+wrongs > wrong {
+  display: inline;
+  background-color: #c7e0f8;
+}
+
+wrongs > wrong:after {
+  color: #7f7f7f;
+  content: "  –  ";
+  background-color: transparent;
+}
+wrongs > wrong:after:last-child {
+  content: insert-same-after-button(color, #7f7f7f, icon, icon(right-half-disc));
+}
+
+/* match ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+match:before {
+  display: marker;
+  color: #7f7f7f;
+  content: insert-same-before-button(icon, icon(left-half-disc))
+           insert-same-after-button(icon, icon(right-half-disc));
+}
+
+match {
+  display: block;
+  margin-left: 24px;
+}
+
+match > section:before, match > p:before {
+  display: none;
+}
+
+match section, match p {
+  display: inline;
+}
+
+match > section:first-child:after, match > p:first-child:after {
+  color: #7f7f7f;
+  content: " —>  ";
+}
+match > section:last-child:after, match > p:last-child:after {
+  display: none;
+}
+
+/* sort > comparison ~~~~~~~~~~~~~~~ */
+
+comparison:before {
+  color: #7f7f7f;
+  content: "Logique de comparaison : "
+}
+
+comparison {
+  display: block;
+  margin: .2em 0 .5em 0;
+}
+
+/* sort > item ~~~~~~~~~~~~~~~~~~~~~ */
+
+sort > item:before {
+  color: #7f7f7f;
+  content: insert-before-button(icon, icon(left-half-disc))
+           text-field(attribute, "shuffle", columns, 1, font-size, 75%, color, black)
+           " ";
+}
+
+sort > item {
+  display: inline;
+}
+
+sort > item:after {
+  color: #7f7f7f;
+  content: insert-same-after-button(icon, icon(right-half-disc))
+           " " xpath("../comparison") " ";
+}
+sort > item:last-child:after {
+  content: insert-same-after-button(icon, icon(right-half-disc)) "\A";
+}
+
+
+/* Inline level ============================================================ */
+
+/* blank ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+blank {
+  background-color: #c0ffc0;
+}
+
+s:after {
+  color:  #7f7f7f;
+  background-color: transparent;
+  content: insert-same-after-button(icon, icon(right-half-disc));
+}
+
+/* point.right & point.wrong ~~~~~~~ */
+
+point right:before, point wrong:before {
+  background: transparent;
+  color: #7f7f7f;
+}
+point right:before {
+  content: command-button(command, "convert", parameter, "wrong", icon, icon(convert));
+}
+point wrong:before {
+  content: command-button(command, "convert", parameter, "right", icon, icon(convert));
+}
+
+point right {
+  background-color: #c0ffc0;
+}
+
+point wrong {
+  background-color: #c7e0f8;
+}
\ No newline at end of file
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xxe/Templates/publiquiz_blanks-fill.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<publiquiz version="1.0">
+  <quiz xml:id="???">
+    <head>
+      <title></title>
+    </head>
+    
+    <instructions>
+      <p></p>
+    </instructions>
+
+    <blanks-fill>
+      <p></p>
+    </blanks-fill>
+  </quiz>
+</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xxe/Templates/publiquiz_blanks-select.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<publiquiz version="1.0">
+  <quiz xml:id="???">
+    <head>
+      <title></title>
+    </head>
+
+    <instructions>
+      <p></p>
+    </instructions>
+
+    <blanks-select>
+      <p></p>
+    </blanks-select>
+  </quiz>
+</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xxe/Templates/publiquiz_choices-check.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<publiquiz version="1.0">
+  <quiz xml:id="???">
+    <head>
+      <title></title>
+    </head>
+
+    <instructions>
+      <p></p>
+    </instructions>
+
+    <choices-check>
+      <right></right>
+      <wrong></wrong>
+    </choices-check>
+  </quiz>
+</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xxe/Templates/publiquiz_choices-radio.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<publiquiz version="1.0">
+  <quiz xml:id="???">
+    <head>
+      <title></title>
+    </head>
+
+    <instructions>
+      <p></p>
+    </instructions>
+
+    <choices-radio>
+      <right></right>
+      <wrong></wrong>
+    </choices-radio>
+  </quiz>
+</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xxe/Templates/publiquiz_composite.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<publiquiz version="1.0">
+  <quiz xml:id="???">
+    <head>
+      <title></title>
+    </head>
+
+    <instructions>
+      <p></p>
+    </instructions>
+
+    <composite>
+      <subquiz>
+        <instructions>
+          <p></p>
+        </instructions>
+        <choices-radio>
+          <right></right>
+          <wrong></wrong>
+        </choices-radio>
+      </subquiz>
+
+      <subquiz>
+        <instructions>
+          <p></p>
+        </instructions>
+        <choices-radio>
+          <right></right>
+          <wrong></wrong>
+        </choices-radio>
+      </subquiz>
+    </composite>
+  </quiz>
+</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xxe/Templates/publiquiz_matching.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<publiquiz version="1.0">
+  <quiz xml:id="???">
+    <head>
+      <title></title>
+    </head>
+
+    <instructions>
+      <p></p>
+    </instructions>
+
+    <matching>
+      <match>
+        <p></p>
+        <p></p>
+      </match>
+      <match>
+        <p></p>
+        <p></p>
+      </match>
+    </matching>
+  </quiz>
+</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xxe/Templates/publiquiz_point.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<publiquiz version="1.0">
+  <quiz xml:id="???">
+    <head>
+      <title></title>
+    </head>
+
+    <instructions>
+      <p></p>
+    </instructions>
+
+    <point>
+      <p></p>
+    </point>
+  </quiz>
+</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xxe/Templates/publiquiz_production.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publiquiz version="1.0">
+  <quiz xml:id="???">
+    <head>
+      <title></title>
+    </head>
+
+    <instructions>
+      <p></p>
+    </instructions>
+
+    <production/>
+
+    <answer>
+      <p></p>
+    </answer>
+  </quiz>
+</publiquiz>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xxe/Templates/publiquiz_sort.xml	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publiquiz version="1.0">
+  <quiz xml:id="???">
+    <head>
+      <title></title>
+    </head>
+
+    <instructions>
+      <p></p>
+    </instructions>
+
+    <sort>
+      <comparison></comparison>
+      <item></item>
+      <item></item>
+    </sort>
+  </quiz>
+</publiquiz>
--- a/Xxe/publidoc.xxe	mer. févr. 01 18:19:33 2012 +0100
+++ b/Xxe/publidoc.xxe	sam. févr. 04 14:44:39 2012 +0100
@@ -5,7 +5,7 @@
                xmlns:cfg="http://www.xmlmind.com/xmleditor/schema/configuration">
   
   <detect>
-    <rootElementLocalName>publidoc</rootElementLocalName>x
+    <rootElementLocalName>publidoc</rootElementLocalName>
   </detect>
 
   <relaxng compactSyntax="true" encoding="UTF-8"
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xxe/publiquiz.xxe	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<configuration name="Publiquiz"
+               xmlns="http://www.xmlmind.com/xmleditor/schema/configuration"
+               xmlns:cfg="http://www.xmlmind.com/xmleditor/schema/configuration">
+  
+  <detect>
+    <rootElementLocalName>publiquiz</rootElementLocalName>
+  </detect>
+
+  <relaxng compactSyntax="true" encoding="UTF-8"
+           location="../RelaxNG/publiquiz.rnc"/>
+
+  <css location="Css/publiquiz.css" name="Publiquiz"/>
+
+  <!-- ================================================================== -->
+  <template location="Templates/publiquiz_choices-radio.xml"
+            name="Exercice QCM – radio"/>
+  <template location="Templates/publiquiz_choices-check.xml"
+            name="Exercice QCM – check"/>
+  <template location="Templates/publiquiz_blanks-fill.xml"
+            name="Exercice à trous – saisie libre"/>
+  <template location="Templates/publiquiz_blanks-select.xml"
+            name="Exercice à trous – liste fermée"/>
+  <template location="Templates/publiquiz_point.xml"
+            name="Exercice de pointage"/>
+  <template location="Templates/publiquiz_matching.xml"
+            name="Exercice d'appariement"/>
+  <template location="Templates/publiquiz_sort.xml"
+            name="Exercice de tri"/>
+  <template location="Templates/publiquiz_production.xml"
+            name="Exercice de production"/>
+  <template location="Templates/publiquiz_composite.xml"
+            name="Exercices composites"/>
+
+  <!-- ================================================================== -->
+  <menu label="_Publiquiz">
+    <menu label="Tableaux">
+      <item label="Ligne – Insérer avant"
+            icon="xxe-config:common/icons/insertRowBefore.png"
+            command="tableEdit" parameter="insertRowBefore"/>
+      <item label="Ligne – Insérer après"
+            icon="xxe-config:common/icons/insertRowAfter.png"
+            command="tableEdit" parameter="insertRowAfter"/>
+      <item label="Ligne – Supprimer"
+            icon="xxe-config:common/icons/deleteRow.png"
+            command="tableEdit" parameter="deleteRow"/>
+      <separator />
+      <item label="Colonne – Insérer avant"
+            icon="xxe-config:common/icons/insertColumnBefore.png"
+            command="tableEdit" parameter="insertColumnBefore"/>
+      <item label="Colonne – Insérer après"
+            icon="xxe-config:common/icons/insertColumnAfter.png"
+            command="tableEdit" parameter="insertColumnAfter"/>
+      <item label="Colonne – Supprimer"
+            icon="xxe-config:common/icons/deleteColumn.png"
+            command="tableEdit" parameter="deleteColumn"/>
+    </menu>
+  </menu>
+  
+  <command name="tableEdit">
+    <class>com.xmlmind.xmleditext.docbook.table.CALSTableEdit</class>
+  </command>
+  
+  <validateHook name="cols_checker">
+    <class>com.xmlmind.xmleditext.docbook.table.ValidateHookImpl</class>
+  </validateHook>  
+</configuration>
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/Xxe/publiquiz.xxe_addon	sam. févr. 04 14:44:39 2012 +0100
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<a:addon xmlns="http://www.w3.org/1999/xhtml"
+         xmlns:html="http://www.w3.org/1999/xhtml"
+         xmlns:a="http://www.xmlmind.com/xmleditor/schema/addon">
+  <a:category>
+    <a:configuration />
+  </a:category>
+
+  <a:name>Publiquiz configuration</a:name>
+
+  <a:version>1.0</a:version>
+
+  <a:author><a href="http://www.prismallia.fr">Prismallia</a></a:author>
+
+  <a:xxeVersion>5.1.0+</a:xxeVersion>
+
+</a:addon>