Titel Dokumentation Spezifikation DTD Template XML XSL Implementierung Projekte

Fragen und Antworten  zu Friedrich Nietzsche  Dokumentation
 

 

"Konzeption eines Frage-Antwort-Katalogs in Zusammenarbeit mit dem Kastell-Verlag"

 


Gliederung der Arbeit:

    1. Einleitung
    2. Zur Technologie 
    3. Zur Implementierung
    4. Zum Produkt
    5. Zugang zum Produkt 
    6. Zum Stand der FAQ
    7. Hinweis
    8. Ausblick
    9. Beteiligte
    10. Literatur

 

 

1. Einleitung:

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.

 

 

© Inhalt + Layout Brigitte Jörg 
last modified
Titel Dokumentation Spezifikation DTD Template XML XSL Implementierung Projekte