Navigation

4 Werkzeuge

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:

Die Aufrufbeispiele werden anhand dieses Programmes gegeben. Es sollte aber auch jeder andere XSL-Prozessor funktionieren, da keine über die Spezifikation XSL 1.0 hinausgehenden Fähigkeiten verwendet wurden. Über die Aufrufsyntax kann man sich in der jeweiligen Produktdokumentation informieren.

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:

  1. Erzeugen des Fragebogens als HTML bzw. PHP
  2. Erzeugen des Speicherscripts zum Erfassen der Eingaben
  3. Erzeugen und Einspielen des Datenbankscripts in die mySQL-Datenbank
  4. Erzeugen von TAN-Listen
  5. Erzeugen von Auswertescripten

Erzeugung des Fragebogens als HTML/PHP

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.

Wichtig!

Es ist nicht zu empfehlen, den Fragebogen als XML-Dokument dem Nutzer zum Ausfüllen zugänglich zu machen. Da die Konfiguration des Datenbankkontos im XML stehen, wäre eine Manipulation der Datenbank problemlos möglich.

Speicherscript zum Erfassen der Eingaben erzeugen

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.

Wichtig!

Auch von dieser Datei darf der Quellcode nicht dem Nutzer des Fragebogens zugänglich sein, da der Datenbankzugang darin abgelegt ist.

mySql Tabelle anlegen

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.

TAN-Listen-Script anlegen

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

Wichtig!

Auch dieses Script darf "Unbefugten" nicht zugänglich sein.

Auswertescripte erzeugen

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.

Navigation