# HG changeset patch # User Paul Boddie # Date 1227393049 -3600 # Node ID f7237bce02602e9dd0130bf609d2a25c89207e4d # Parent e50a2d37ebce3c8eb44a34e36d8e816ce3250770 Enhanced the QuestionPlayer example, including a response distillation stylesheet which condenses the answers into a simple format. Simplified button production in the QuestionPlayer template. Tidied up the Questionnaire example, removing any preview when no questions are present. diff -r e50a2d37ebce -r f7237bce0260 examples/Common/QuestionPlayer/Resources/distill_responses.xsl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/Common/QuestionPlayer/Resources/distill_responses.xsl Sat Nov 22 23:30:49 2008 +0100 @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r e50a2d37ebce -r f7237bce0260 examples/Common/QuestionPlayer/Resources/player_template.xhtml --- a/examples/Common/QuestionPlayer/Resources/player_template.xhtml Sat Nov 22 23:27:42 2008 +0100 +++ b/examples/Common/QuestionPlayer/Resources/player_template.xhtml Sat Nov 22 23:30:49 2008 +0100 @@ -12,6 +12,12 @@

Questionnaire

+
+

+ Thank you for sending your answers! +

+
+
@@ -46,15 +52,15 @@ + template:attribute-button="selected,true,checked" + name="..." value="..." /> + name="{template:other-attributes('selected', ..)}" value="{count(preceding-sibling::choice) + 1}" + template:expr="../@selected = string(count(preceding-sibling::choice) + 1)" template:expr-attr="checked" /> @@ -81,7 +87,7 @@
-
+

to refresh the form. diff -r e50a2d37ebce -r f7237bce0260 examples/Common/QuestionPlayer/__init__.py --- a/examples/Common/QuestionPlayer/__init__.py Sat Nov 22 23:27:42 2008 +0100 +++ b/examples/Common/QuestionPlayer/__init__.py Sat Nov 22 23:30:49 2008 +0100 @@ -34,12 +34,15 @@ template_resources = { "questionnaire" : output("player_template.xhtml") } - #init_resources = { - # "questionnaire" : input("player_template.xhtml") - # } + init_resources = { + "questionnaire" : input("player_template.xhtml") + } document_resources = { "questions" : "questions.xml" } + transform_resources = { + "distill" : ["distill_responses.xsl"] + } def select_activity(self, trans, form): form.set_activity("questionnaire") @@ -65,10 +68,16 @@ repository = DirectoryRepository(storage_directory) key = str(time.time()) output_filename = repository.lock(key, 1) + distilled_output_filename = repository.lock("distilled-" + key, 1) try: + distill_xsl = self.prepare_transform("distill") + distilled = self.get_result(distill_xsl, questionnaire) + distilled.toStream(open(distilled_output_filename, "wb"), "utf-8", prettyprint=1) questionnaire.toStream(open(output_filename, "wb"), "utf-8", prettyprint=1) + questionnaire.documentElement.setAttribute("submitted", "true") finally: repository.unlock(key) + repository.unlock("distilled-" + key) # Site map initialisation. diff -r e50a2d37ebce -r f7237bce0260 examples/Common/Questionnaire/Resources/question_template.xhtml --- a/examples/Common/Questionnaire/Resources/question_template.xhtml Sat Nov 22 23:27:42 2008 +0100 +++ b/examples/Common/Questionnaire/Resources/question_template.xhtml Sat Nov 22 23:30:49 2008 +0100 @@ -75,7 +75,7 @@ -

+

The preview of your questionnaire is shown here: