XQuest besteht aus einer Reihe von XSL-Scripten, die mit Hilfe eines XSL-Prozessors die jeweiligen Ausgaben erzeugt.
Getestet wurde der XSL-Prozessor namens xsltproc, welcher der LibXML beiliegt. Das Paket kann auf folgender Seite bezogen werden:
Das Erzeugen und Aktivieren der konvertierten Fragebögen erfolgt in mehreren Schritten aus dem XML-Dokument. Einige dieser Schritte sind optional. Folgende Reihenfolge bietet sich an:
xsltproc -o HTML/PHP-Ausgabedatei tohtml.xsl Fragebogen-XML |
Der Fragebogen wird nach HTML bzw. PHP konvertiert. PHP entsteht, wenn die TAN-Prüfung nach dem URL-Schema verwendet wird (restrict="url") oder die Erfassung der Bearbeitungsdauer aktiviert wurde. Sonst entsteht HTML.
Diese Unterscheidung sollte sich im Dateinamen widerspiegeln. Für den Fall dass TAN-Nummern erzeugt werden, ist es sinnvoll, den Dateinamen für die Ausgabedatei so zu wählen, dass sie dem Dateinamen des baseurl-Attribut entspricht.
Die Datei ist an eine geeignete Stelle im Verzeichnisraum eines Webservers zu stellen. Im Falle der PHP-Datei ist sicherzustellen, dass diese Datei korrekt interpretiert wird.
Bei der Entwicklung des Fragebogens ist es möglich, das Aussehen des Fragebogens mit Hilfe eines XSL-fähigen Browsers (z.B. Mozilla) zu testen. Um das zu erreichen, ist folgende Zeile vor dem questionnaire-Tag im XML einzutragen.
<?xml-stylesheet type="text/xsl" href="tohtml.xsl" ?> |
Das Konverterscript tohtml.xsl muss dann im gleichen Verzeichnis, wie die XML-Datei liegen.
|
Das Speicherscript ist ein PHP-Script, welches mySql-Befehle zum Speichern der Umfragewerte in die Datenbank enthalt. Ausserdem ist dieses Script dafür zuständig, die TAN-Codes zu verifizieren (sofern aktiviert).
xsltproc -o PHP-Ausgabedatei tophp.xsl Fragebogen-XML |
Der Name der Ausgabedatei muss mit dem Name im submiturl-Attribut übereinstimmen. Die Datei ist an die durch die submiturl bestimmte Stelle im Verzeichnisraum eines Webservers zu stellen. Dabei is sicherzustellen, dass diese PHP-Datei korrekt interpretiert wird.
|
Das Script zum Erstellen der Tabelle zum Speichern der Ergebnisse in der Datenbank wird mit Hilfe des tosql-Scripts erzeugt.
xsltproc -o SQL-Datei tosql.xsl Fragebogen-XML |
Als nächstes muss das SQL-Script eingespielt werden. Dazu kann das Programm mysql verwendet werden. Es wird eine Tabelle mit dem Namen db_table in der Datenbank db_name angelegt.
mysql -h datenbankhost < SQL-Datei |
Gegebenenfalls muss noch ein Nutzerkonto angeben werden, welches das Recht zum Anlegen von Tabellen in der Datenbank hat.
Für den Fall, dass eine Tabelle mit dem angegebenen Namen bereits existiert, wird diese Tabelle gelöscht!
Es wird dem vorgegebenen Nutzer (db_user/db_pass) ein insert- und select-Recht auf die Tabelle eingerichtet, wobei der Nutzer sich von jedem Host aus anmelden darf. Bei Bedarf kann dieses Recht auf bestimmte Hosts eingeschränkt werden.
Dieser Schritt ist nur notwendig, wenn eine Beschränkung der Ausfüllenden verlangt wird.
Die TAN-Listen werden durch ein PHP-Script erzeugt.
xsltproc -o TAN-Generator.php toids.xsl Fragebogen-XML |
Das PHP-Script kann über einen Webserver oder auch mit Hilfe eines Kommandozeilen-Interpreters für PHP ausgeführt werden.
php -q TAN-Generator.php > TAN-Liste.html |
|
Für die Auswertung stehen mehrere Scripte zur Verfügung.
Für eine grobe Übersicht steht das Script tostat.xsl zur Verfügung. Mit diesem wird eine PHP-Datei generiert, deren Ausführung zu einer Version des Fragebogens generiert, die in geeigneter Form eine Zählung der Eingaben erzeugt.
Für eine automatische Auswertung können CSV-Dateien erzeugt werden. Dazu wird mit Hilfe des Scriptes tocsv.xsl eine PHP-Datei erzeugt, welche bei Aufruf die CSV-Ausgabe generiert.
Mit Hilfe von tohtml.xsl kann auch eine HTML-Version des Fragebogens erzeugt werden, bei dem die Fragennummern, wie sie in der Datenbank verwendet werden, mit ausgegeben werden. Die Fragen werden in aufsteigender Reihenfolge in der CSV-Datei ausgegeben. Um das zu erreichen, muss dem XSL-Template der Parameter with-ids mitgegeben werden, der auf yes zu setzen ist.