Ajout du moteur blanks-char
authorPatrick PIERRE
jeu., 13 juin 2013 17:56:18 +0200
changeset 216 414224d5a623
parent 215 c9959ed4ba48
child 217 787f74e3166d
Ajout du moteur blanks-char
RelaxNG/Examples/Quiz/blanks-char.xml
RelaxNG/Examples/Sets/quiz.xml
RelaxNG/publiquiz.rnc
--- /dev/null	jeu. janv. 01 00:00:00 1970 +0000
+++ b/RelaxNG/Examples/Quiz/blanks-char.xml	jeu. juin 13 17:56:18 2013 +0200
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Id$ -->
+<publiquiz version="1.0">
+  <quiz id="blanks-char" xml:lang="fr">
+    <head>
+      <title>Exercice de positionnement de caractères</title>
+    </head>
+
+    <instructions>
+      <p>Retrouvez les phrases cachées et insérez la ponctuation et les
+      espaces manquants.</p>
+    </instructions>
+
+    <blanks-char>
+      <wrongs>
+        <wrong>? </wrong>
+      </wrongs>
+      <p>
+        <blank function="lowercase">L</blank>e<blank> </blank>petit<blank> </blank>chat<blank> </blank>est<blank> </blank>mort<blank>.</blank>
+      </p>
+      <p>
+        <blank function="lowercase">C</blank><blank>'</blank>est<blank> </blank>dommage<blank> ; </blank>mais<blank> </blank>quoi<blank> !</blank>
+      </p>
+    </blanks-char>
+  </quiz>
+</publiquiz>
--- a/RelaxNG/Examples/Sets/quiz.xml	jeu. juin 13 13:23:26 2013 +0200
+++ b/RelaxNG/Examples/Sets/quiz.xml	jeu. juin 13 17:56:18 2013 +0200
@@ -16,6 +16,7 @@
       <file>blanks-select.xml</file>
       <file>blanks-select_multiple.xml</file>
       <file>blanks-select_dropzone.xml</file>
+      <file>blanks-char.xml</file>
       <file>point.xml</file>
       <file>point_radio.xml</file>
       <file>matching.xml</file>
--- a/RelaxNG/publiquiz.rnc	jeu. juin 13 13:23:26 2013 +0200
+++ b/RelaxNG/publiquiz.rnc	jeu. juin 13 17:56:18 2013 +0200
@@ -98,6 +98,7 @@
  | choices-check
  | blanks-fill
  | blanks-select
+ | blanks-char
  | point
  | matching
  | sort
@@ -128,6 +129,7 @@
    blanks-fill.attributes, blanks-fill.content }
 blanks-select = element blanks-select {
    blanks-select.attributes, blanks-select.content }
+blanks-char = element blanks-char { blanks-select.content }
 
 blanks-fill.attributes =
    strict.attribute?
@@ -519,7 +521,11 @@
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ blank ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 # ~~~~~~ blank
-blank = element blank { blank.content }
+blank = element blank { blank.attributes, blank.content }
+
+blank.attributes =
+   function.attribute?
+function.attribute = attribute function { 'lowercase' | 'uppercase' }
 
 blank.content =
    text