# HG changeset patch # User Patrick PIERRE # Date 1519705796 -3600 # Node ID fd645a45932e20e61a78e2ffa0694db324a53c9a # Parent d8a9a8a8acc6cd93b3bc47a2de64f340a87adeda Ajout coloring et memory diff -r d8a9a8a8acc6 -r fd645a45932e RelaxNG/publiquiz.rnc --- a/RelaxNG/publiquiz.rnc mar. nov. 28 13:03:48 2017 +0100 +++ b/RelaxNG/publiquiz.rnc mar. févr. 27 05:29:56 2018 +0100 @@ -1,4 +1,3 @@ - include "publidoc.rnc" { start = publiquiz @@ -127,6 +126,8 @@ | categories | wordsearch | flashcard + | coloring + | memory | production # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ choices ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -191,7 +192,7 @@ correct-line = element correct-line { correct.attributes, correct.content } -correct.attributes = +correct.attributes = remove-space.attribute? remove-space.attribute = attribute remove-space { xsd:boolean } @@ -342,7 +343,7 @@ cell = element cell {cell.content} cell.content = xsd:token {pattern = "."} - + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ flashcard ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~ flashcard @@ -375,6 +376,60 @@ | blanks-select | sort +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ coloring ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +coloring = element coloring { coloring.attributes, coloring.content } + +coloring.attributes = + nomark.attribute? +nomark.attribute = attribute nomark { xsd:boolean } + +coloring.content = + palette + & canvas + & areas? + +# ~~~~~~ palette +palette = element palette { palette.content } + +palette.content = + color+ + +# ~~~~~~ canvas +canvas = element canvas { canvas.attributes } + +canvas.attributes = + media.id.attribute + +# ~~~~~~ areas +areas = element areas { areas.attributes } + +areas.attributes = + media.id.attribute + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ memory ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# ~~~~~~ memory +memory = element memory { memory.attributes, memory.content } + +memory.attributes = + display.attribute? + & delay.attribute? +display.attribute = attribute display { xsd:positiveInteger } +delay.attribute = attribute delay { xsd:positiveInteger } + +memory.content = + memory.match, + memory.match+ + +# ~~~~~~ memory.match +memory.match = element match { memory-m.content } + +memory-m.content = + memory-m.item, + memory-m.item, + audio? + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ production ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ production = element production { production.content } @@ -497,7 +552,7 @@ blanks-c.item = element item { blanks-c.item.content } correct.item = element item { correct.item.content } pointing.item = element item { pointing.item.content } - + blanks.item.content = blanks.inlines | blanks.block+ blanks-m.item.content = blanks-m.inlines | blanks-m.block+ @@ -850,7 +905,7 @@ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ words.item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ words.item = element item {words.item.content, words.item.attributes } - + words.item.content = inlines words.item.attributes = @@ -864,6 +919,22 @@ endx = attribute endx {xsd:token {pattern = "[a-zA-Z]+"}} endy = attribute endy {xsd:token {pattern = "\d+"}} +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +color = element color { color.attributes } + +color.attributes = + color.code + & color.coderef? +color.code = attribute code {xsd:token { pattern = "#(\d|\w){6}"}} +color.coderef = attribute coderef { list{xsd:token { pattern = "#(\d|\w){6}"}+}} + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ memory-m.item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +memory-m.item = element item { memory-m.item.content } + +memory-m.item.content = image + # ============================================================================= # INLINE LEVEL @@ -1053,16 +1124,16 @@ | image | audio | (s-m+, help?, answer?) - + # ~~~~~~ blank-c blank-c = element blank { blank-c.attributes, blank-c.content } - + blank-c.attributes = form.attribute? form.attribute = attribute form { 'radio' | 'check' } - + blank-c.content = (blank-c.right | blank-c.wrong)+, help?, answer? blank-c.right = element right { inlines } -blank-c.wrong = element wrong { inlines } +blank-c.wrong = element wrong { inlines } # ~~~~~~ s s = element s { s.content } @@ -1075,7 +1146,7 @@ | math | image | audio - + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ char ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ char = element char { char.attributes, char.content } diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Css/publidoc.css --- a/Xxe/Css/publidoc.css mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,712 +0,0 @@ -@charset "UTF-8"; - -@import url(xxe-config:common/css/cals_table.imp); - -/* $Id$ */ - -*::comment { display: none; } - -publidoc { - display: block; - font-family: sans-serif; - padding: 0; -} - - -/* Head level ============================================================== */ - -head { - display: block; - margin-bottom: .5em; - background-color: #fafafa; - padding: .2em .5em 0 .5em; - border: 1px solid #bbbbbb; - border-radius: 0.2em; -} - -head > *:before { - display: marker; - color: #7f7f7f; - content: insert-before-button() element-label() " :"; -} -head > title:before { display: none; } -head > shorttitle:before { display: none; } -head > subtitle:before { display: none; } -head > identifier[type="uri"]:before { content: insert-before-button() " URI :"; } -head > identifier[type="ean"]:before { content: insert-before-button() " EAN :"; } -head > copyright:before { content: insert-before-button() " Copyright :"; } -head > collection:before { content: insert-before-button() " Collection :"; } -head > contributors:before { content: insert-before-button() " Contributeurs :"; } -head > date:before { content: insert-before-button() " Date :"; } -head > place:before { content: insert-before-button() " Lieu :"; } -head > source:before { content: insert-before-button() " Source :"; } -head > keywordset:before { content: insert-before-button() " Mots clés :"; } -head > subjectset:before { content: insert-before-button() " Thèmes :"; } -head > abstract:before { content: insert-before-button() " Résumé :"; } -head > cover:before { content: insert-before-button() " Couverture :"; } -head > annotation:before { content: insert-before-button() " Annotation :"; } -head > audio:before { content: insert-before-button() " Audio :"; } - -head > * { - display: block; - margin: 0 0 .8em 7.5em; -} - -head > *:after { - color: #7f7f7f; - content: " " insert-after-button(); -} - -/* title, shortitle & subtitle ~~~~~ */ - -head > title, head > shorttitle { - font-weight: bold; - font-size: 120%; - margin: 0 0 .2em 0; -} - -head > title { - color: #004080; -} - -head > subtitle { - font-weight: bold; - color: #004080; - margin: 0 0 .2em 0; -} - -/* contributors ~~~~~~~~~~~~~~~~~~~~ */ - -contributor:before { - display: marker; - content: insert-before-button(color, #7f7f7f, icon, icon(left-half-disc)) - insert-after-button(color, #7f7f7f, icon, icon(right-half-disc)); -} -contributor { - display: block; - margin: 0 0 .2em 24px; -} - -firstname:after, secondname:after, lastname:after, label:after, -address:after { - content: insert-after-button(color, #7f7f7f, icon, icon(right-half-disc)); -} - -contributor > link[uri]:after { - content: " ‣ " text-field(attribute, uri, color, black, font-size, 80%) "]" - insert-after-button(icon, icon(right-half-disc)); -} -contributor > link[idref]:after { - content: " ‣ " label(attribute, idref, color, black) - set-attribute-button(attribute, idref) "]" - insert-after-button(icon, icon(right-half-disc)); -} - -contributor role { - color: #7f7f7f; - content: " rôle : " combo-box(element, role, font-size, 75%, - labels, "auteur\A illustrateur\A éditeur\A packager" - values, "author\A illustrator\A publisher\A packager", color, black) - insert-same-after-button(icon, icon(right-half-disc)); -} - -/* source ~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -head source[type="book"] { - display: none; -} - -/* keyword & subject ~~~~~~~~~~~~~~~ */ - -head keyword:after { - content: insert-same-after-button(color, #7f7f7f, icon, icon(right-half-disc)) - " "; -} - -head subject:before { - color: #7F7f7f; - content: "ID = " text-field(attribute, id, columns, 10, color, black, font-size, 75%); -} -head subject:after { - content: insert-same-after-button(color, #7f7f7f, icon, icon(right-half-disc)); -} - - -/* Division level ========================================================== */ - -division:before { - display: block; - color: #7f7f7f; - content: collapser() " " insert-before-button() insert-after-button() - " Division" -} - -division { - display: block; - border: 1px dotted #7f7f7f; - padding: 5px; - margin-bottom: .5em; - collapsible: yes; - not-collapsible-head: 1; -} -division:last-child { - margin-bottom: 0; -} - -division > head { - background-color: #ffffee; - padding: .3em .5em .3em .5em; - border-radius: 0.5em; -} - - -/* Component level ========================================================= */ - -topic: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() " Topic"; -} -topic[id]:before { - content: collapser() " " insert-before-button() insert-after-button() - " " add-attribute-button() " Topic" - " – ID = " text-field(attribute, "id", columns, 15, color, black); -} -topic[type]:before { - content: collapser() " " insert-before-button() insert-after-button() - " " add-attribute-button() " Topic" - " – Type = " text-field(attribute, type, columns, 10, color, black); -} -topic[id][type]:before { - content: collapser() " " insert-before-button() insert-after-button() - " Topic" - " – ID = " text-field(attribute, "id", columns, 15, color, black) - " – Type = " text-field(attribute, type, columns, 10, color, black); -} - -topic { - display: block; - border: 1px solid #aeaea0; - margin-bottom: .5em; - padding: 5px; - collapsible: yes; -} -topic:last-child { - margin-bottom: 0; -} - -topic > head { - background-color: #ffffee; - padding: .3em .5em .3em .5em; - border-radius: 0.5em; -} - - -/* Top level =============================================================== */ - -publidoc > *:before { - display: block; - color: #bbbbbb; - background: #993333 url('top.png') repeat-x top left; - font-weight: bold; - padding: 1.2em 5px 1em 5px; -} -publidoc > document:before { - content: add-attribute-button() " Document" - " – ID = " text-field(attribute, "id", columns, 15, color, white); -} -publidoc > document[id][xml|lang]:before { - content: "Document" - " – ID = " text-field(attribute, "id", columns, 15, color, white) - " – Langue principale = " combo-box(attribute, "xml:lang", font-size, 75%, - values, "en\A fr\A es", color, white); -} -publidoc > topic[id]:before { - content: add-attribute-button() " Topic" - " – ID = " text-field(attribute, "id", columns, 15, color, white); -} -publidoc > topic[id][type]:before { - content: add-attribute-button() " Topic" - " – ID = " text-field(attribute, "id", columns, 15, color, white) - " – Type = " text-field(attribute, type, columns, 10, color, white); -} -publidoc > topic[id][xml|lang]:before { - content: add-attribute-button() " Topic" - " – ID = " text-field(attribute, "id", columns, 15, color, white) - " – Langue principale = " combo-box(attribute, "xml:lang", font-size, 75%, - values, "en\A fr\A es", color, white); -} -publidoc > topic[id][type][xml|lang]:before { - content: "Topic" - " – ID = " text-field(attribute, "id", columns, 15, color, white) - " – Type = " text-field(attribute, type, columns, 10, color, white) - " – Langue principale = " combo-box(attribute, "xml:lang", font-size, 75%, - values, "en\A fr\A es", color, white); -} - -publidoc > * { - display: block; - margin: 5px; - padding: 0; - border: 0; -} - -publidoc > * > head { - background-color: #ffffee; - padding: .3em .5em .3em .5em; - border-radius: 0.5em; -} - -publidoc > * > head > title { - font-size: 140%; - margin: .1em 0 .1em 0; -} - - -/* Section level =========================================================== */ - -section:before { - display: block; - color: #7f7f7f; - text-align: left; - font-style: normal; - font-size: 75%; - padding-bottom: 3px; - content: insert-before-button() add-attribute-button(icon, icon(plus-box)); -} -section[type]:before { - content: insert-before-button() add-attribute-button(icon, icon(plus-box)) - " Type = " text-field(attribute, type, columns, 5, color, black); -} -section[for]:before { - content: insert-before-button() add-attribute-button(icon, icon(plus-box)) - " Pour = " text-field(attribute, for, columns, 5, color, black); -} -section[xml|lang]:before { - content: insert-before-button() add-attribute-button(icon, icon(plus-box)) - " Langue = " text-field(attribute, "xml:lang", columns, 2, color, black); -} -section[type][for]:before { - content: insert-before-button() add-attribute-button(icon, icon(plus-box)) - " Type = " text-field(attribute, type, columns, 5, color, black) - " – Pour = " text-field(attribute, for, columns, 5, color, black); -} -section[type][xml|lang]:before { - content: insert-before-button() add-attribute-button(icon, icon(plus-box)) - " Type = " text-field(attribute, type, columns, 5, color, black) - " – Langue = " text-field(attribute, "xml:lang", columns, 2, color, black); -} -section[for][xml|lang]:before { - content: insert-before-button() add-attribute-button(icon, icon(plus-box)) - " Pour = " text-field(attribute, for, columns, 5, color, black) - " – Langue = " text-field(attribute, "xml:lang", columns, 2, color, black); -} -section[type][for][xml|lang]:before { - content: insert-before-button() - " Type = " text-field(attribute, type, columns, 5, color, black) - " Pour = " text-field(attribute, for, columns, 5, color, black) - " – Langue = " text-field(attribute, "xml:lang", columns, 2, color, black); -} - -section section:before { - margin-left: 1em; -} - -header, front, section, footer { - display: block; -} - -section[type="box"] { - margin-bottom: .5em; - padding: 5px; - background-color: #e8f0f7; - border-radius: 0.2em; -} -section[type="ex"] { font-style: italic; } -section[type="sign"] { text-align: right; } - -header, footer { - background-color: #fafafa; -} - -front { - margin: 1em 20px 1em 20px; - background-color: #fafafa; -} -front p { - font-family: sans-serif; -} - -section section { - margin-left: 1em; -} - -section:after { - color: #7f7f7f; - content: insert-after-button(); -} -section section:after { - margin-left: 1em; -} - - -/* Block level ============================================================= */ - -p:before, speech:before, list:before, -blockquote:before, table:before, media:before { - display: marker; - color: #7f7f7f; - content: insert-before-button(icon, icon(left-half-disc)) - insert-after-button(icon, icon(right-half-disc)); -} - -p, speech, list, blockquote, table, media { - display: block; - margin-left: 24px; - font-size: 115%; - font-family: serif; -} - -/* speech ~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -speaker { - font-weight: bold; -} - -stage:before, stage:after { - color: #7f7f7f; - content: "("; -} -stage:before { - content: " ("; -} -stage { - font-style: italic; -} -stage:after { - content: ")"; -} - -/* list ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -list:before { - content: insert-before-button(color, #7f7f7f, icon, icon(left-half-disc)) - insert-after-button(color, #7f7f7f, icon, icon(right-half-disc)) - command-button(command, "putAttribute", parameter, "type ordered", icon, icon(convert)); -} -list[type="ordered"]:before { - content: insert-before-button(color, #7f7f7f, icon, icon(left-half-disc)) - insert-after-button(color, #7f7f7f, icon, icon(right-half-disc)) - command-button(command, "removeAttribute", parameter, "type", icon, icon(convert)); -} -list[type="glossary"]:before { - content: insert-before-button(color, #7f7f7f, icon, icon(left-half-disc)) - insert-after-button(color, #7f7f7f, icon, icon(right-half-disc)); -} - -list { - margin: .3em 0 .3em 36px; -} -list[type="glossary"] { - margin: .3em 0 .3em 24px; -} - -list > head { - font-size: 75%; -} - -item { - display: list-item; -} -list[type="ordered"] > item { - list-style-type: decimal; - list-style-position: inside; -} - -item:after { - content: insert-same-after-button(color, #7f7f7f, icon, icon(right-half-disc)); -} - -list:not([type="glossary"]) > item > p:before { - color: #7f7f7f; - content: insert-same-before-button(icon, icon(left-half-disc)) - insert-same-after-button(icon, icon(right-half-disc)); -} -list:not([type="glossary"]) > item > p { - display: inline; -} -list:not([type="glossary"]) > item > p:after { - color: #7f7f7f; - content: "\A"; -} - -list[type="glossary"] > item > label { - font-weight: bold; -} - -/* blockquote ~~~~~~~~~~~~~~~~~~~~~~ */ - -blockquote { color: #004080; } - -attribution { font-style: italic; } - -/* table ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -@extension "com.xmlmind.xmleditext.xhtml.table.TableSupport black rgb(238,238,224)"; - -table { - display: table; - border-style: solid; - border-width: 1px; - margin-top: 0; - margin-bottom: 1em; -} - -table > head { - display: table-caption; - margin-left: 24px; - margin-bottom: 0; -} - -table title { - font-size: 93%; - font-family: sans-serif; - color: black; -} - -thead, tbody { - display: table-row-group; -} - -tr { - display: table-row; -} - -td, th { - display: table-cell; - border-style: solid; - border-width: 1px; - padding: .2em; -} -th { - font-weight: bold; -} - -table > caption { - display: block; - font-family: sans-serif; - font-size: 93%; - color: #004080; -} - -/* media ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -media { - margin-top: .5em; - margin-bottom: 1em; - padding: 10px; - border: 1px dashed #7f7f7f; -} - -media image, media audio, media video { - display: block; - font-family: sans-serif; -} - -media caption { - display: block; - font-family: sans-serif; - font-size: 93%; - color: #004080; -} -media caption:after { - content: insert-after-button(color, #7f7f7f, icon, icon(right-half-disc)); -} - -/* image ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -cover image { - content: concatenate("image('Images/", attr(id), ".png', -480, -360, smooth)"); -} - -p image, entry image { - content: concatenate("image('Images/", attr(id), ".png', -64, -48, smooth)"); - vertical-align: middle; -} - -p image[type="thumbnail"], entry image[type="thumbnail"] { - content: concatenate("image('Images/", attr(id), ".png', -128, -96, smooth)"); - vertical-align: middle; -} - -media image:before { - display: block; - text-align: left; - content: concatenate("image('Images/", attr(id), ".png', -480, -360, smooth)") - insert-button(color, #7f7f7f, icon, icon(pop-down)) - insert-after-button(color, #7f7f7f, icon, icon(right-half-disc)); -} -media image[type="thumbnail"]:before { - content: concatenate("image('Images/", attr(id), ".png', -128, -96, smooth)") - insert-button(color, #7f7f7f, icon, icon(pop-down)) - insert-after-button(color, #7f7f7f, icon, icon(right-half-disc)); -} - -media image { - margin-bottom: .3em; -} - -image > copyright { - display: block; - font-size: 75%; - font-style: italic; -} - -/* hotspot ~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -hotspot { - display: block; - padding: .4em; - margin: 0 1em .1em 0; - background-color: #ffefd8; - border-radius: 1.5em; -} - -hotspot image:before { - content: ""; -} -hotspot > image { - content: concatenate("image('Images/", attr(id), ".png', -128, -96, smooth)"); -} - -hotspot p:before { - content: ""; -} -hotspot > p { - font-family: sans-serif; - font-size: 85%; - margin: 0 .5em 0 .5em; -} - -hotspot:after { - display: marker; - padding-bottom: .7em; - content: insert-same-after-button(color, #7f7f7f, icon, icon(right-half-disc)); -} - -/* audio ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -audio { - content: text-field(attribute, id, color, black, font-size, 75%) - " type : " label(attribute, type, color, black) " " - set-attribute-button(attribute, type, icon, icon(pop-sw), color, black); -} -media audio { - content: "Audio : " text-field(attribute, id, color, black) - " type : " label(attribute, type, color, black) " " - set-attribute-button(attribute, type, icon, icon(pop-sw), color, black); -} - - -/* video ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -video { - content: text-field(attribute, id, color, black, font-size, 75%); -} -media video { - content: "Video : " text-field(attribute, id, color, black); -} - - -/* Inline level ============================================================ */ - -/* sup, sub, var ~~~~~~~~~~~~~~~~~~~ */ - -sup { font-family: sans-serif; vertical-align: super; font-size: 75%; white-space: nowrap; } -sub { font-family: sans-serif; vertical-align: sub; font-size: 75%; white-space: nowrap; } -var { font-family: sans-serif; font-style: italic; } - -/* date ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -date[value]:after { - color: #7f7f7f; - content: " (" date-picker(attribute, value, columns, 7, color, black, font-size, 75%) ")"; -} -head > date[value]:after { - color: #7f7f7f; - content: " (" date-picker(attribute, value, columns, 7, color, black, font-size, 75%) - ") " insert-after-button(); -} - -/* name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -name { font-family: sans-serif; color: #004080; } - -/* note ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -note:before { font-size: 80%; color: #7f7f7f; content: "(Note : "; } -note { font-family: sans-serif; color: #aeaea0; font-size: 80%; } -note:after { font-size: 80%; color: #7f7f7f; content: ")"; } -note p { display:inline; } - -/* foreign ~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -foreign { font-family: sans-serif; font-style: italic; } - -/* highlight ~~~~~~~~~~~~~~~~~~~~~~~ */ - -highlight { font-weight: bold; } - -/* emphasis ~~~~~~~~~~~~~~~~~~~~~~~~ */ - -emphasis { font-style: italic; } - -/* mentioned ~~~~~~~~~~~~~~~~~~~~~~~ */ - -mentioned { font-style: oblique; } - -/* term ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -term { font-family: sans-serif; } - -/* link ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -link:before { - color: #7f7f7f; - font-family: sans-serif; - content: "[" -} - -media link { - display: block; -} - -link:after { - color: #7f7f7f; - font-family: sans-serif; -} -link[uri]:after { - content: " ‣ " text-field(attribute, uri, color, black, font-size, 80%) "]"; -} -link[idref]:after { - content: " ‣ " label(attribute, idref, color, black) - set-attribute-button(attribute, idref) "]"; -} - -/* smil ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -smil { - background-color: #ffffc0; -} - -/* warning ~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -warning { - color: red; - font-weight: bold; -} diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Css/publiquiz.css --- a/Xxe/Css/publiquiz.css mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,582 +0,0 @@ -@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[id]:before { - content: collapser() " " insert-before-button() insert-after-button() - " " add-attribute-button() " Quiz" - " – ID = " text-field(attribute, "id", columns, 15, color, black); -} -quiz[type]:before { - content: collapser() " " insert-before-button() insert-after-button() - " " add-attribute-button() " Quiz" - " – Type = " text-field(attribute, type, columns, 10, color, black); -} -quiz[id][type]:before { - content: collapser() " " insert-before-button() insert-after-button() - " Quiz" - " – ID = " text-field(attribute, "id", columns, 15, color, black) - " – Type = " text-field(attribute, type, columns, 10, 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, "id", columns, 15, color, white); -} -publiquiz > document[id][xml|lang]:before { - content: "Document" - " – ID = " text-field(attribute, "id", columns, 15, color, white) - " – Langue principale = " combo-box(attribute, "xml:lang", font-size, 75%, - values, "en\A fr\A es", color, white); -} -publiquiz > quiz[id]:before { - content: add-attribute-button() " Quiz" - " – ID = " text-field(attribute, "id", columns, 15, color, white); -} -publiquiz > quiz[id][type]:before { - content: add-attribute-button() " Quiz" - " – ID = " text-field(attribute, "id", columns, 15, color, white) - " – Type = " text-field(attribute, type, columns, 10, color, white); -} -publiquiz > quiz[id][xml|lang]:before { - content: add-attribute-button() " Quiz" - " – ID = " text-field(attribute, "id", columns, 15, color, white) - " – Langue principale = " combo-box(attribute, "xml:lang", font-size, 75%, - values, "en\A fr\A es", color, white); -} -publiquiz > quiz[id][type][xml|lang]:before { - content: "Quiz" - " – ID = " text-field(attribute, "id", columns, 15, color, white) - " – Type = " text-field(attribute, type, columns, 10, color, white) - " – Langue principale = " combo-box(attribute, "xml:lang", font-size, 75%, - values, "en\A 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 { - color: #7f7f7f; - 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 { - color: #7f7f7f; - 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() " " - command-button(command, "putAttribute", parameter, "multiple true", icon, icon(plus-box)) - " Appariement"; -} -matching[multiple]:before { - content: insert-before-button() - " Appariement – multiple = " label(attribute, multiple, color, black) - set-attribute-button(attribute, multiple, unset-attribute, yes) -} - -/* 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); -} - -/* categories ~~~~~~~~~~~~~~~~~~~~~~ */ - -categories:before { - content: insert-before-button() " " - command-button(command, "putAttribute", parameter, "multiple true", icon, icon(plus-box)) - " Catégories"; -} -categories[multiple]:before { - content: insert-before-button() - " Catégories – multiple = " label(attribute, multiple, color, black) - set-attribute-button(attribute, multiple, unset-attribute, yes) -} - -/* production ~~~~~~~~~~~~~~~~~~~~~~ */ - -production:before { - content: insert-before-button() " Production"; -} - -/* composite ~~~~~~~~~~~~~~~~~~~~~~~ */ - -composite:before { - content: insert-before-button() - command-button(command, "putAttribute", parameter, "multipage true", icon, icon(plus-box)) - " Composite"; -} -composite[multipage]:before { - content: insert-before-button() - " Composite – multipage = " label(attribute, multipage, color, black) - set-attribute-button(attribute, multipage, unset-attribute, yes) -} - -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 "; -} - -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 ============================================================= */ - -/* image ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -right image, wrong image, item image { - content: concatenate("image('Images/", attr(id), ".png', -128, -96, smooth)"); - vertical-align: middle; -} - -/* dropzone ~~~~~~~~~~~~~~~~~~~~~~~~ */ - -dropzone { - display: block; - padding: .4em; - margin: 0 1em .1em 0; - background-color: #ffefd8; - border-radius: 1.5em; -} - -dropzone image:before { - content: ""; -} -dropzone > image { - content: concatenate("image('Images/", attr(id), ".png', -128, -96, smooth)"); -} - -dropzone > blank { - background-color: transparent; -} - -dropzone:after { - display: marker; - padding-bottom: .7em; - content: insert-same-after-button(color, #7f7f7f, icon, icon(right-half-disc)); -} - -/* 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: 60px; -} - -/* 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; - margin-bottom: .8em; -} - -match > item:before { - display: none; -} - -match item { - display: inline; -} - -match > item:first-child:after { - color: #7f7f7f; - content: " —> "; -} -match > item: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"; -} - -/* category ~~~~~~~~~~~~~~~~~~~~~~~~ */ - -category:before { - color: #7f7f7f; - content: " " insert-before-button(); -} - -category { - display: block; - margin-bottom: .3em; -} - -category > head { - display: block; -} - -category > head > title:after { - content: ""; -} - -category > item { - margin-left: 1em; - margin-bottom: 0.8em; -} - -category:after { - color: #7f7f7f; - content: " " insert-same-after-button(); -} - - -/* Inline level ============================================================ */ - -/* blank ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -blank { - background-color: #c0ffc0; -} - -s:after { - color: #7f7f7f; - background-color: #c0ffc0; - 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 diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Css/top.png Binary file Xxe/Css/top.png has changed diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publidoc_document.xml --- a/Xxe/Templates/publidoc_document.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ - - - - - - - - - - -
-

-
-
-
-
\ No newline at end of file diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publidoc_topic.xml --- a/Xxe/Templates/publidoc_topic.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ - - - - - - -
-

-
-
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_blanks-fill.xml --- a/Xxe/Templates/publiquiz_blanks-fill.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ - - - - - - - - -

-
- - -

-
-
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_blanks-select.xml --- a/Xxe/Templates/publiquiz_blanks-select.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ - - - - - - - - -

-
- - -

-
-
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_categories.xml --- a/Xxe/Templates/publiquiz_categories.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ - - - - - - - - - -

-
- - - - - ??? - - ??? - - - - ??? - - ??? - - -
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_categories_image.xml --- a/Xxe/Templates/publiquiz_categories_image.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ - - - - - - - - - -

-
- - - - - - - - - - - - - - - -
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_choices-check.xml --- a/Xxe/Templates/publiquiz_choices-check.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - - - - - - -

-
- - - - - -
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_choices-check_image.xml --- a/Xxe/Templates/publiquiz_choices-check_image.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - - - - - - -

-
- - - - - -
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_choices-radio.xml --- a/Xxe/Templates/publiquiz_choices-radio.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - - - - - - -

-
- - - - - -
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_choices-radio_image.xml --- a/Xxe/Templates/publiquiz_choices-radio_image.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - - - - - - -

-
- - - - - -
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_composite.xml --- a/Xxe/Templates/publiquiz_composite.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ - - - - - - - - -

-
- - - - -

-
- - - - -
- - - -

-
- - - - -
-
-
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_matching.xml --- a/Xxe/Templates/publiquiz_matching.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ - - - - - - - - -

-
- - - - - - - - - - - -
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_matching_image.xml --- a/Xxe/Templates/publiquiz_matching_image.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ - - - - - - - - -

-
- - - - - - - - - - - -
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_point.xml --- a/Xxe/Templates/publiquiz_point.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ - - - - - - - - -

-
- - -

-
-
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_production.xml --- a/Xxe/Templates/publiquiz_production.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ - - - - - - - - - -

-
- - - - -

-
-
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_sort.xml --- a/Xxe/Templates/publiquiz_sort.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ - - - - - - - - - -

-
- - - - - - -
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/Templates/publiquiz_sort_image.xml --- a/Xxe/Templates/publiquiz_sort_image.xml mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ - - - - - - - - - -

-
- - - - - - -
-
diff -r d8a9a8a8acc6 -r fd645a45932e Xxe/publidoc.xxe --- a/Xxe/publidoc.xxe mar. nov. 28 13:03:48 2017 +0100 +++ /dev/null jeu. janv. 01 00:00:00 1970 +0000 @@ -1,115 +0,0 @@ - - - - - - publidoc - - - - - - - -