"Konzeption eines
Frage-Antwort-Katalogs in Zusammenarbeit mit dem Kastell-Verlag"
Das prototypische Informationssystem Nietzsche-Online entstand
im Verlauf des Wintersemesters 2000/2001 am Fachbereich
5.6 Informationswissenschaft der Universität des Saarlandes,
im Rahmen des Forschungsseminars "Elektronisches Publizieren
am Beispiel von Friedrich Nietzsche" mit dem Schwerpunkt
Publikumsinformation und wurde von Herrn Prof. Dr. Harald
H. Zimmermann betreut. Die Fragen und Antworten sind nur
ein Teil des komplexen Netzwerkes rund um Nietzsche; also
nur eine Möglichkeit sich Friedrich Nietzsche zu nähern
bzw. sich sein Werk und Leben zugänglich zu machen.
Anfangs hießen die Fragen und Antworten FAQ
- ein Acronym das mit der Entwicklung des Internet, insbesondere
durch die Verbreitung von Newsgroups an Bedeutung gewann
und das Ziel verfolgte, neue Nutzer mit den Regeln
vertraut zu machen. "Frequently Asked
Questions"konnten sich mittlerweile in den verschiedensten
Bereichen etablieren und bieten sozusagen eine Einstiegshilfe
für neue User. Im Kontext des Philosophen Friedrich
Nietzsche entschieden wir uns für die neutrale Bezeichnung
"Fragen und Antworten", weil FAQ einen mechanischen
bzw. manipulativ-direktiven Zugang implizieren könnte.
Im Rahmen dieser Arbeit stellen die "Fragen und Antworten"
jedoch ein Untersuchungsobjekt dar und es wird auf die ursprüngliche
Bezeichnung FAQ zurückgegriffen.
2. Zur Technologie:
Die FAQ sind inhaltlich auf Basis der XML-Technologie
implementiert. Damit lassen sich sowohl die benötigten
Strukturen bzw. Objekte oder Relationen optimal abbilden
als auch funktionale Komponenten einbinden. Insbesondere
für die Erfassung, Verarbeitung und Darstellung von
Inhalten, aber auch im Hinblick auf eine Erweiterung bzw.
Veränderung sowie die Organisation von Systemen eröffnen
sich mit XML vergleichsweise neue Varianten und Möglichkeiten
gegenüber inhaltlich statischem und strukturell begrenztem
HTML.
- Die XML-Dokumenten-Struktur bei ist beliebig erweiterbar
(extensible).
- Die Struktur selbst ist vom Inhalt und der Gestaltung
strikt getrennt.
- Das Stylesheet generiert das Layout und ermöglicht
zusätzlich Transformationen (Funktionalität).
Die FAQ-Listenfunktionen sind durch die Skriptsprache PHP
im Zusammenspiel mit einer MySQL-Datenbank realisiert; verweisen
im Ergebnis jedoch wiederum auf die XML-Inhalte.
Beide Technologien generieren dynamische Dokumente "on
the fly", d.h. die Dokumente werden erst durch den
Mausklick generiert. Man kann dies an der Performanz erkennen,
die im Vergleich zu statischem HTML u.U. enorm zunimmt.
Vertiefende Informationen bei Herrn Patrick Cernko (XML/XSL)
und Herrn Till Kinstler (PHP/MySQL).
3. Zur Implementierung:
Implementierte XML-Komponenten sind im Falle der FAQ die
DTD, XML
und XSL. Eine komplette Beschreibung
des XML-Produktes FAQ bietet die Spezifikation.
Für den PHP-Bereich mit einer MySQL-Datenbankanbindung,
wird auf Herrn Till Kinstler verwiesen, der für die
Register- und Listenfunktionen verantwortlich war.
Um einen Eindruck vom Entwicklungsprozess des XML-Produktes
FAQ zu vermitteln, werden im weiteren nur kleine Extrakte
erklärt; die kompletten Komponenten sind an o.g. Stellen
abzurufen.
3.1 XML-Implementierung:
Zum besseren Verständnis kurz die Stationen in chronologischer
Reihenfolge:
3.1.1 DTD
3.1.2 XML-Template
3.1.3 XML-Dokument
3.1.4 XSL-Dokument
3.1.1 Dokument Type Definition (DTD):
Beim Aufruf eines XML-Files erfolgt dessen Validierung
mittels DTD. Eine DTD beinhaltet sozusagen die syntaktischen
Regeln der zu implementierenden XML-Files ("Was
ist eine DTD").
Extrakt (faq.dtd): |
...
<!ELEMENT faq (head,body)>
<!ATTLIST faq id ID #REQUIRED>
<!ELEMENT head (titel,autor+,design+,thema+,sw*,rank?)>
<!ELEMENT titel (#PCDATA)>
<!ATTLIST titel
alpha CDATA #IMPLIED>
<!ELEMENT autor (datum)>
<!ATTLIST autor
id IDREF #REQUIRED>
<!ELEMENT
datum (dattext*,jahr?,monat?,tag?)>
... |
Jede Frage faq umschließt
die Subelemente head und body und benötigt
ein Attribut ID zur eindeutigen Identifizierung.
Die Subelemente wiederum nesten weitere Unteremente.
So der head: (titel, autor+, design+, thema+, sw*,
rank?). Sonderzeichen bestimmen die optionale
oder obligatorische Angabe im XML-File bzw.
die funktionale Ausprägung eines Elementes
mittels XSL-File. Das bedeutet hier beim titel
ohne Sonderzeichen die obligatorische Angabe
des Elementes Titel im XML-Files. Beim autor+
mindestens einmal die Angabe des Autors. Mehr
dazu bei "Was
ist eine DTD". |
3.1.2 FAQ-XML-Template:
Zur effizienten Erfassung der FAQ eignet sich ein leeres
Musterdokument, das standardmäßig die häufigsten
Struktur-Varianten abbildet und Hinweise zur inhaltlichen
Erfassung gibt. Es unterstützt zudem die Konstistenz
der FAQ-XML-Files und hilft mögliche Fehlerquellen
zu reduzieren, insbesondere bei mehreren Beteiligten.
Extrakt - Template (faq_00000.xml): |
<?xml version="1.0" encoding="iso-8859-1"
?>
<!DOCTYPE faq SYSTEM "faq.dtd">
<?xml-stylesheet href="faq-html.xsl"
type="text/xsl"?>
<?cocoon-process type="xslt"?>
<faq id="faq_00000">
<head>
<titel alpha="alphabetischer
Eintrag">Titel des Dokumentes</titel>
<autor>
<datum>
<jahr>Jahr
der Inhaltserstellung</jahr>
<monat>Monat
der Inhaltserstellung</monat>
<tag>Tag
der Inhaltserstellung</tag>
</datum>
</autor>
...
|
Die Implementierung eines XML-Files erfordert die
Angabe der XML-Version <?xml version="1.0"
encoding="iso-8859-1" ?> sowie
des Codes.
Desweiteren den Verweis auf die DTD <!DOCTYPE
faq SYSTEM "faq.dtd"> sowie <?xml-stylesheet
href="faq-html.xsl" type="text/xsl"?>
das Stylesheet.
Schließlich noch die Angabe des "Prozessors"
auf dem Server, der die XML-Files nach HTML konvertiert
- in unserem Falle Cocoon <?cocoon-process
type="xslt"?>.
|
3.1.3 FAQ-XML-Beispiel:
Ein XML-File bildet Struktur und Inhalte eines Dokumentes
ab und enthält keinerlei Angaben zum Layout.
Extrakt XML-File (faq_00001.xml):
|
<?xml version="1.0" encoding="iso-8859-1"
?>
<!DOCTYPE faq SYSTEM "faq.dtd">
<?xml-stylesheet href="faq-html.xsl"
type="text/xsl"?>
<?cocoon-process type="xslt"?>
<faq id="faq_00001">
<head>
<titel alpha="nutzung">Fragen
und Antworten: Wie zu benützen</titel>
<autor id="per_prossliner_johann_00">
<datum>
<jahr>2001</jahr>
<monat>02</monat>
<tag>12</tag>
</datum>
</autor>
...
|
In Anlehnung an die DTD ist das äußerste
Element faq obligatorisch mit dem
Attribut ID verbunden. Hier bei der ersten
Frage - eine der Metafragen - entfällt
die thematische Zuordnung, daher nur die Ziffer
00001 id="faq_00001".
Als Subelement folgt der head, der sich
durch titel sowie autor weiter untergliedert.
Als Titel gilt hier die jeweilige Frage. Zum Element
autor gehört das Erstellungsdatum des
Inhaltes <datum> als ein Unterelement.
Relationen sind hier über ID-Verweise umgesetzt
id="per_prossliner_johann_00".
So hier der Verweis auf die ID des Porträt-Files
für den Autor Prossliner Johann. Diese ID-Angabe
nutzt das Stylesheet zur Transformation. Bei den
FAQ erfolgt die Transformation in Form von "Erzeugung
eines HTML-Links auf das Portrait des Autors an
entsprechender Stelle".
|
3.1.4 FAQ-XSL-File (faq-html.xsl):
Mit Hilfe des XSL-Stylesheets wird einerseits die Form
der Darstellung spezifiziert, andererseits aber auch
die Dynamik der Inhalte definiert. Das Stylesheet
bestimmt sowohl das Layout als auch die funktionale Ausprägung
des Produktes. Für die funktionale Implementierung
des Stylesheets war Herr Patrick Cernko verantwortlich;
das implementierte Layout stammt von Brigitte Jörg.
Extrakt XSL-File (faq-html.xsl): |
...
<xsl:variable name="autorfile">
<xsl:value-of select="/faq/head/autor/@id"/>
<xsl:text>.xml</xsl:text>
</xsl:variable>
<xsl:variable name="autorpfad">
<xsl:value-of select="$personpfad"/>
<xsl:value-of select="$autorfile"/>
</xsl:variable>
<xsl:variable name="autorurl">
...
|
Der ID-Verweis id="per_prossliner_johann_00"
im Autor-Element des FAQ-XML-Files auf das entsprechende
Porträt-XML-File (siehe c) war Grundlage
für das Stylesheet zur Ausgabe der Personendaten
des Autors.
Das Stylesheet greift auf den ID-Verweis zu: <xsl:value-of
select=/faq/head/autor/@id/> und generiert
im Produkt FAQ den Namen und den dazugehörigen
Hyperlink zum Porträt des Autors.
|
3.2 PHP-Implementierung:
Für die Dokumentation der implementierten Listenfunktionen
wird an dieser Stelle auf Herrn Till Kinstler verwiesen.
4. Zum Produkt FAQ:
Das Produkt FAQ umfasst insgesamt 72 Fragen im Kontext
von Friedrich Nietzsche, was ungefähr 130 Seiten
in einzeiligem DIN-A4 Format entspricht. Jede Frage
ist als separates XML-File erfasst. Editiert wurden die
FAQ manuell mit einem einfachen Texteditor.
Die Schlagwort- und Themenliste sind auf Basis der XML-Files
geparst und automatisch in eine Datenbank übertragen
worden. Die Nummerierung der FAQ sieht für jedes
Thema eine fortlaufende Ziffer - die zwei ersten Stellen
faq_01000 vor, für die zugehörigen Fragen
fortlaufend die letzten beiden Ziffern faq_01001.
Damit erlaubt die Nummerierung ausreichend Raum für
weitere FAQ, ohne die thematische Ordnung zu durchbrechen.
Dieses Ordnungssystem eignet sich nur manuelles Erfassen;
bei automatischer Erfassung sind fortlaufende Ziffern von
vorteilhafter.
(Screenshot einer konkreten Frage)
4.1 XML-Produkt:
Ein XML-Produkt FAQ wird aus drei Komponenten zusammengefügt:
Struktur - Inhalt - Stylesheet
Zur Struktur:
Die FAQ teilen sich grundsätzlich in die Elemente
head und body. Im ersteren Kopf
werden hauptsächlich funktionale und formale Daten
erfasst. Das zweite Element Textkörper hingegen
ist eher ein Abbild der inhaltlichen Strukturen:
<head>
- Angabe des Autors und Designers mit Datumsangabe
- Angabe des Titels, wahlweise mit alphabetischem
Eintrag
- Zuordnung zu einem Thema
- Vergabe eines Schlagwortes
- Angabe eines Ranking-Schlüssels (optional -
im Rahmen des Seminars nicht realisiert)
<body>
- Frage zu Friedrich Nietzsche
- Antwort auf die Frage innerhalb eines Absatzes
- Innerhalb der Antwort:
- Formatierter Antworttext;
- Verweise auf Briefe, Porträts, Werke, Bibliographien,
... Externe Quellen;
- Einbinden von Erweiterungen (Popup-Fenster);
- Kennzeichnungen wie <betonung>, <hinweis>,
oder <wichtiges>
- Formalia wie Absätze, Zeilenumbrüche,
Auflistungen;
Zum Inhalt:
Die FAQ wurden ausschließlich von Herrn Prossliner
verfasst, einem Experten im Kontext von "Friedrich
Nietzsche". Er bestimmte auch die thematische Ordnung.
Mehr dazu in den ersten vier Metafragen auf der
Titelseite.
Zum Stylesheet:
Das FAQ-Stylesheet fügt strukturelle, inhaltliche
und funktionale Daten zusammen; es generiert u.a. die
nachfolgenden globalen Daten:
- Layout mit Navigation zu den Listen und zur Titelseite;
- Themenangabe zur jeweiligen Frage (rechts oben);
- Funktionale Ausprägungen wie Verlinkungen und
Erweiterungen;
- Formalia wie Erstellungsdatum und sonstige Angaben
(Urheber, Fachbereich);
4.2 PHP-Produkt:
Die Listenfunktionen basieren auf automatisch geparsten
FAQ-XML-Files. Verfügbar sind eine Schlagwortliste,
eine Themenliste und eine ungeordnete Fragenliste.
Schlagwortliste:
Die Vergabe der Schlagwörter erfolgte gemäß
der Themen bzw. Subthemenbezeichnung,
die Herr Prossliner gewählt hat und sind weiterhin
der Frage selbst entnommen. Der zeitliche Rahmen
des Seminars ließ keine tiefere Schlagwortvergabe
zu.
Themenliste:
Die Themenliste mit Subthemen wurde komplett von Herrn
Prossliner übernommen.
Fragenliste [ungeordnet]:
Die Fragenliste ist eine Aneinanderreihung der FAQ
ohne Gliederungskriterium.
5. Zugang zu den FAQ:
Die komplette FAQ-Site wurde mit einem einheitlichen Layout
versehen, das eine globale Navigation zur Titelseite
sowie zu den Listen bereitstellt. Auf der Titelseite sind
vier Fragen platziert, in denen Herr Prossliner zu den FAQ
selbst Stellung nimmt; sozusagen als Meta-FAQ zu
betrachten. Die FAQ sind sowohl mit kontextuell relevanten
Fragen und Antworten verknüpft, sowie mit anderen Typen
(Orte, Werke) verlinkt.
Die Verlinkung der Fragen erfolgte gemäss den Angaben
Herr Prossliners: Verweise auf relevante Stellen sind
als fett-graue Links erkennbar; hinter kursiver fett-grauer
Schrift mit Fussnotenangaben verbergen sich Zusatzinformationen,
die bei Interesse eingesehen werden können. Schlagwort-
und Themenlisten bieten die Option des gezielten Zugriffs
auf eine spezielle Frage, wohingegen beim "Stöbern"
in der ungeordneten Fragenliste eher nach dem Zufallsprinzip
individuell exploriert werden kann.
6. Zum Stand der FAQ:
Die Arbeit an den FAQ verteilte sich über knapp 8
Monate und kann im Rahmen des Forschungsseminars nun als
abgeschlossen betrachtet werden. Die Daten wurden vom Server:
http://nietzsche.ps.uni-sb.de auf einen Server der Informationswissenschaft
gespiegelt: http://nietzsche.is.uni-sb.de. Das
Informationssystem "Nietzsche Online" wird jedoch
in seiner Ganzheit ausserhalb des Forschunsseminars noch
weiter ausgebaut werden.
Verlinkung:
Die FAQ selbst sind komplett verlinkt. Ebenso komplett
verlinkt sind Personen, die Herrr Prossliner im jeweiligen
Kontext als relevant befand; Verweis entweder auf Porträts
oder auf ein Pufferfile.
Teilweise verlinkt sind die elektronisch erfassten Werke
"Ecce Homo" und "Also sprach Zarathustra".
Weitere Werke sind zwar als <hinweis> markiert,
werden aber lediglich unverlinkt-fett ausgegeben. Bibliographische
Verweise wurden verlinkt, verweisen jedoch derzeit nur
auf das entsprechende Pufferfile. Ebenso verhält
es sich mit Orten und Briefen.
Nicht verlinkt sind Linksammlung und Extrakte; derzeit
statisch im Inhalt eingebunden und nicht über Stylesheet
generiert.
Metadaten:
Schlagwörter und Beschreibung sind statisch im Stylesheet
implementiert, d.h. keine fragenspezifische Vergabe von
Schlagwörtern sondern eine einheitliche globale Schlagwortauswahl.
Der Autorname wird mittels Stylesheet dynamisch generiert.
Funktionalität (Stylesheet):
Teilweise berücksichtigt aber noch nicht vollständig
implementiert sind Werksangaben innerhalb der Erweiterungen
(Popup-Fenster). Diese werden derzeit nur als Code ausgegeben,
anstatt den Werk-Titel zu generieren.
7. Hinweis:
Bei der Entwicklung von Informationssystemen sind meist
mehrere Personen beteiligt, die jeweils Teilbereiche bearbeiten.
Zeitliche Inkonsistenz zwischen den Bereichen ist kaum zu
vermeiden. Insbesondere die Verlinkung hängt vom Fortschritt
und Zusammenspiel in den Teilbereichen ab. Um diese Problematik
möglichst zu minimieren, wurde für den Bereich
FAQ ein Dokument erstellt, das als Puffer alle leerlaufenden
Links abfängt und einen Hinweis gibt: faq_noch_offen_00.xml;
ein Aspekt aus dem Gebiet der "Usability". Desweiteren
vereinfacht ein solches Pufferdokument das Auffinden von
"noch_offen"-Positionen zu einem späteren
Zeitpunkt.
8. Ausblick:
Da der zeitliche Rahmen eine Forschungseminars sehr begrenzt
ist, konnten nachfolgende Punkte bei der prototypischen
Umsetzung der FAQ keine Berücksichtigung finden:
- Dynamische Generierung des jeweils kompletten aktuellen
Pfades im Dokument (auch in Metadaten)
- Schlagwortangaben innerhalb des FAQ-Dokumentes
- Hinweis auf das Subthema
- Dynamische Vergabe von Metadaten auf Basis der Schlagwörter
- Orientierung der Metadaten am "Dublin Core Metadata
Element Set"
- Per Zufallsprinzip generierte, ungeordnete Fragenliste
(neutrale Wissensvermittlung)
- Schlagwortliste seitenweise pro Buchstabe (Übersichtlichkeit)
- Ausbau der FAQ durch weitere Experten
9. Beteiligte:
Der Aufbau eines Informationssystems wie "Nietzsche
Online" ist nur durch Teamarbeit zu verwirklichen.
Besonders herzlicher Dank gilt Herrn Prof. Dr. Harald H.
Zimmermann für die Betreuung und Bereitschaft zur Beantwortung
meiner Fragen, Herrn Prossliner für die Bereitstellung
und Gliederung der umfangreichen Inhalte sowie Kompetenz
im Kontext von Nietzsche, Herrn Patrick Cernko für
die XSL-Implementierung, Herrn Till Kinstler für die
PHP-Implementierung.
10. Literatur:
XML-Bible, Elliotte Rusty Harold 1999. auch als Printmedium
http://bigmac.phil.uni-sb.de:82/projekt/dokumente/xmlBible/Contents.pdf
Last visited: 20.04.2001
Anmerkung: Eine Erklärung der XML-Technologie für
den praktischen Einsatz.
http://www.w3.org Last visited:
17.07.2001
Anmerkung: Hier findet man sämtliche Spezifikationen
die vom W3 Consortium im Rahmen von XML veröffentlicht
werden; wird ständig aktualisiert.
http://www.heise-online.de/ix/raven/Web/xml/
Last visited: 17.07.2001
Anmerkung: Hier findet man eine strukturierte Liste zur
die Anwendung von XML-Technologien.
|