Mit dem Attribut css-stylesheet des questionnaire-Elements kann die URL einer CSS-Datei angegeben werden, welche für die optische Gestaltung verwendet werden soll.
Es werden folgende Klassen definiert:
div.question | Gestaltung einer Frage insgesamt |
div.qtext | Gestaltung des Fragetextes |
div.atext | Gestaltung der Antworten |
div.stext | Gestaltung der erweiterten Statistik |
span.fnum | Hervorhebung der Fragenummer bei der Ausgabe der IDs |
td.progon | Felder der Fortschrittsanzeige bei Sektionen (beantwortet) |
td.progoff | Felder der Fortschrittsanzeige bei Sektionen (noch ausstehend) |
In der Datei xquestlib.xsl sind Vorgabewerte eingetragen, die von der externen CSS-Datei überschrieben werden können.
Gelegentlich kommt es vor, dass der Fragebogen optisch zu umfangreich erscheint. Um den Nutzer nicht zu überfordern, kann man den Fragebogen daher in Gruppen gliedern. Wenn der Browser des Nutzers JavaScript unterstützt, so werden alle bis auf die erste Gruppe verborgen. Die folgenden Gruppen werden mit Hilfe von Schaltflächen angezeigt. Ist kein JavaScript vorhanden, so sieht der Nutzer den gesamten Fragebogen am Stück.
Die Gliederung wird mit dem section-Element vorgenommen, welches zusammengehörige Abschnitte umschließt.
<section> // hier die Fragen 1-4 </section> <section> // hier die Fragen 5-9 </section> |
Mit Hilfe des Attributes restrict der questionnaire-Elmentes kann festgelegt werden, ob und in welcher Form ein Abschicken der Fragebögen beschränkt wird. Es stehen die Varianten url, inline, inline_short und user zur Verfügung.
In drei erstgenannten Fällen wird eine Liste von TAN-Codes erzeugt, die jeweils nur ein einziges mal verwendet werden können. Um ein beliebiges Erfinden von Codes zu verhindern, wird eine Zufallszahl mit Hilfe des Datenbankkennwortes und des Tabellennamens signiert.
Im Falle der Verwendeung von ID-Nummern müssen Listen mit TAN-Codes generiert werden. In diese Listen wird auch die URL des auszufüllenden Fragebogens eingetragen. Dieser Wert ist im baseurl-Attribut zu hinterlegen.
Wird eine Prüfung der ID-Nummern vorgenommen, dann kann es vorkommen, dass eine Nummer bereits verwendet wurde. Die Ausgabe, die XQuest dann erzeugt, kann im failused-Unterelement des submit-Elements definiert werden. Ebenso kann mit dem failid-Unterelement ein Text definiert werden, wenn eine ungültige ID verwendet wurde.
Normalerweise werden die Antworten automatisch nummeriert. In manchen Fällen ist es aber wünschenswert, vordefinierte Bezeichner zu vergeben. Zu diesem Zweck ist das Attribut id für Fragen bzw. Antwortfelder vorgesehen.
Das id-Attribut wird bei ...question-Elementen verwendet bei:
Das id-Attribut des atext-Elementes wird verwendet bei:
Das id-Attribut des input-Elements wird verwendet bei textquestions mit mindestens einem input-Element.
Wird kein id-Attribut verwendet, so wirkt natürlich die automatische Nummerierung der Fragen.
Bei Auswahlfragen (xor bzw. dropdown) wird normalerweise als Wert die jeweilige Positionsnummer in der Elementeliste eingetragen. Wird beipielsweise die dritte Alternative selektiert, wird eine 3 abgespeichert. In manchen Situationen ist dies aber eine ungünstige Semantik. Daher besteht die Möglichkeit, bei Fragen dieser Art den abzuspeichernden Wert auf eine ganze Zahl einzustellen.
Dazu wird das Attribut value verwendet, welches bei den atext-Elementen angegeben werden muss. Einsetzen kann man es bei folgenden Fragetypen:
|
|
Bei selectquestions vom Typ xor und or ist es möglich, in jeder Auswahl ein optionales input-Element einzufügen.
<selectquestion type="xor"> <qtext>Eine andere Frage</qtext> <atext>Antwort a</atext> <atext>Antwort b</atext> <atext>Antwort c <input/></atext> </selectquestion> |
Wird das Attribut result-stats bei Frage-Elementen auf yes gesetzt, wird bei einigen Fragen der Durchschnitt und Standardabweichung der ausgewählten Alternativen im Auswertescript angezeigt.
Bei folgenden Fragetypen ist dies sinnvoll:
Bis auf restrict können alle Attribute des Fragebogens auch als XSL-Parameter vom XSLT-Prozessor übergeben werden. (Damit lässt sich beispielsweise die Erzeugung vieler ähnlicher Fragebögen automatisieren.) Der Name der Parameter entspricht denen der Attribute.
xsltproc --stringparam title "Fragebogentitel" -o fb.html tohtml.xsl fb.xml |
Zudem lassen sich einige Sonderfunktionen steuern:
xsltproc --param with-ip 1 -o fb.php tophp.xsl fb.xml xsltproc --param with-dbgrant 0 -o fb.sql tosql.xsl fb.xml xsltproc --param with-fnum 0 -o fb_csv.php tocsv.xml fb.xml |