<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="akffaq-logo.xsl"?>
<!DOCTYPE akffaq SYSTEM "./akffaq.dtd"
[
<!ENTITY smiley      "&#x263A;">
<!ENTITY frowney     "&#x2639;">
<!ENTITY nbsp        "&#x00A0;">
<!ENTITY mdash       "&#x2014;">
<!ENTITY FAQ         
  "<acronym title='Frequently Asked Questions'>FAQ</acronym>">
<!ENTITY XML
  "<acronym title='eXtensible Markup Language'>XML</acronym>">
<!ENTITY HTML
  "<acronym title='HyperText Markup Language'>HTML</acronym>">
<!ENTITY UTF
  "<acronym title='Unicode Transformation Format'>UTF</acronym>">
<!ENTITY BOM
  "<acronym title='Byte Order Mark'>BOM</acronym>">
]>

<akffaq xml:lang="de" 
        description="AKFFAQ ist ein Generator für FAQs"
        author="Andreas K. Förster">

<heading>AKFFAQ-&FAQ;</heading>

<overview back="zurück zum Überblick"/>

<section id="general" title="allgemeine Fragen">

<question id="akffaq">
Was ist AKFFAQ?
</question>

<answer><p>
AKFFAQ ist eine einfache, &XML;-basierte Sprache, mit der man &FAQ;s 
schreiben kann.
</p></answer>

<question id="faq">
Was ist eine &FAQ;?
</question>

<answer><p>
&FAQ; steht für <quote>Frequently Asked Questions</quote>, zu deutsch 
etwa <quote>Häufig gestellte Fragen</quote>.
Ob diese Fragen wirklich häufig gestellt werden, ist ein ganz anderes 
Thema, Einige Leute, so wie ich, mögen einfach nur diesen Schreibstil.
</p></answer>

<question id="other_uses">
Wofür könnte AKFFAQ sonst noch verwendet werden?
</question>

<answer><p>
AKFFAQ könnte für alles Mögliche verwendet werden, wo es Fragen gibt, oder
Behauptungen, und Antworten darauf gegeben werden sollen. Zum Beispiel auch
für Interviews oder um Fehleinschätzungen zu widerlegen.
</p></answer>

<question id="status">
Was ist der derzeitige Status von AKFFAQ?
</question>

<answer>
<p>Alpha &mdash;
Das heißt, es befindet sich noch in der Entwicklung und verändert sich 
eventuell noch...
</p>
</answer>

<question id="website">
Wo ist die offizielle Webseite für AKFFAQ?
</question>

<answer><p>
<link>http://akfoerster.de/akffaq/</link>
</p></answer>

<question id="documentation">
Gibt es irgendwelche Anleitungen zu AKFFAQ?
</question>

<answer><p>
Nein. Nur diese &FAQ;. &smiley;
</p></answer>
</section>

<section id="writing" title="FAQs schreiben">

<question id="example1">
Könntest du mir für den Anfang mal ein einfaches Beispiel zeigen?
</question>

<answer>
<code-block>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE akffaq SYSTEM "http://akfoerster.de/akffaq/akffaq.dtd"&gt;
&lt;?xml-stylesheet type="text/xsl" href="akffaq.xsl"?&gt;

&lt;akffaq&gt;

&lt;section&gt;
&lt;question id="gruss"&gt;
Wollen Sie noch jemanden grüßen?
&lt;/question&gt;

&lt;answer&gt;
Hallo Welt!
&lt;/answer&gt;
&lt;/section&gt;

&lt;/akffaq&gt;
</code-block>

<p>
Die ersten drei Zeilen mögen am Anfang zwar etwas kompliziert wirken, 
aber keine Angst, für den Anfang kann man sie einfach so übernehmen, 
wie sie sind. Die Zeilen sind nicht immer notwendig, aber es ist besser sie
drin zu haben, nur für den Fall.
</p>

<p>
Zu beachten ist, dass es mindestens einen Abschnitt 
(<quote>section</quote>) geben muss. Wenn man mehre verwenden will, sollte 
man noch <quote>id</quote>- und <quote>title</quote>-Attribute mit angeben.
</p>
</answer>

<question id="xml_line">
Was bedeutet die erste Zeile?
</question>

<answer>
<p>
Diese Zeile stellt klar, dass es sich um eine &XML;-Datei handelt.
Die Zeile ist nicht unbedingt nötig, aber wenn man sie weglässt, muss 
der Text in &UTF;-8 oder &UTF;-16 gespeichert sein.
</p>

<p>
Der Parameter <quote>version</quote> zeigt die Version der 
&XML;-Spezifikation an.
Es handelt sich <em>nicht</em> um die Versionsnummer der &FAQ; und
es ist <em>auch nicht</em> die Version von AKFFAQ. Man sollte hier
immer 1.0 verwenden und nichts anderes.
</p>

<p>
Der Parameter <quote>encoding</quote> hingegen meint die 
Zeichensatz-Kodierung der vorliegenden &XML;-Datei. &UTF;-8 ist eine 
gute Wahl für so ziemlich jede Sprache. Falls der verwendete 
Text-Editor jedoch kein &UTF;-8 unterstützt, kann man hier den 
verwendeten Zeichensatz eintragen. 
Auf älteren Systemen wird zum Beispiel häufig <quote>ISO-8859-1</quote> 
verwendet.
</p>

<p>
Wenn man die Datei aber als &UTF;-8 speichern kann, sollte man das auch 
tun.
</p>
</answer>

<question id="doctype">
Wofür ist die <quote>DOCTYPE</quote>-Zeile gut?
</question>

<answer>
<p>
Die <quote>DOCTYPE</quote>-Zeile verweist auf die 
<quote>Dokumenten-Typ-Definition</quote> (DTD).
Die DTD-Datei <quote>akffaq.dtd</quote> ist die maschinenlesbare 
Spezifikation des AKFFAQ-Formates. Diese Datei wird von einigen 
Programmen verwendet, um die Datei auf formale Fehler hin zu 
überprüfen. Man sollte jedoch beachten, dass viele Programme das 
nicht tun.
</p>

<p>
In der DTD-Datei können auch Definitionen für sogenannte 
<quote>Entities</quote> sein. Zum Beispiel definiert die Datei 
<quote>akffaq.dtd</quote> &amp;smiley; für einen Smiley&nbsp;(&smiley;). 
Leider lesen einige Programme die DTD-Datei überhaupt nicht, so dass 
das nicht immer funktioniert &frowney; Aber es gibt da einen Hack, um 
das Problem zu umgehen...
</p>
</answer>

<question id="stylesheet">
Und wofür ist diese <quote>xml-stylesheet</quote>-Zeile?
</question>

<answer>
<p>
Die verweist auf die Datei <quote>akffaq.xsl</quote>. Und diese Datei 
ist es, wo die eigentliche Arbeit von AKFFAQ geleistet wird.
</p>

<p>
Tatsächlich bin ich der Meinung, dass <quote>Stylesheet</quote> eine 
ziemlich falsche Bezeichnung ist. Es handelt sich vielmehr um ein 
Skript, dass die &XML;-Datei nach &HTML; umwandelt. Das ist nicht nur 
eine einfache Übersetzung, sondern es ist eine eigentlich richtige kleine 
Programmiersprache. Damit können auch viele Dinge automatisiert werden. 
Zum Beispiel wird bei AKFFAQ auch das Inhaltsverzeichnis automatisch 
erstellt.
</p>

<p>
Neuere Webbrowser können die &XML;-Datei mit diesem Skript auch direkt 
anzeigen. Man kann aber auch externe Programme verwenden, um es nach 
&HTML; umzuwandeln, so dass auch ältere Browser unterstützt werden.
</p>
</answer>

<question id="tools1">
Womit kann man unter GNU/Linux die Datei nach &HTML; umwandeln?
</question>

<answer>
<p>
Auf den meisten GNU/Linux Systemen ist bereits das Programm 
<quote>xsltproc</quote>
vorinstalliert. Man kann es folgendermaßen anwenden:
<kbd>xsltproc akffaq.xsl myfaq.xml &gt; myfaq.html</kbd>.
</p>

<p>
Für weitere Infomationen siehe 
<link>http://xmlsoft.org/XSLT/xsltproc.html</link>.
</p>
</answer>

<question id="id">
Ich möchte mehr über dieses <quote>id</quote>-Attribut erfahren,
</question>

<answer>
<p>
Die <quote>id</quote> sollte ein nur einmal verwendetes Kennwort für die Frage
oder der Abschnitt sein. Sie sollte kurz sein und keine Leerzeichen enthalten.
Man kann aber Bindestriche oder das Unterstrich-Zeichen in dem Bezeichner 
verwenden.
</p>

<p>
Dieser Bezeichner wird für den automatischen Überblick in der &HTML;-Ausgabe
verwendet. Man kann es auch verwenden, um von anderen Webseiten auf eine 
bestimmte Frage oder einen bestimmten Abschnitt zu verweisen.
</p>

<p>
Wenn man die <quote>id</quote> weg lässt, wird falls nötig automatisch ein 
Bezeichner generiert. Das funktioniert für den automatisch erstellten 
Überblick. Aber das ist nicht so gut für Links von anderen Seiten, da der
Bezeichner sich von mal zu mal verändern kann.
</p>
</answer>

<question id="q-overview">
Es wurde ein <quote>automatischer Überblick</quote> erwähnt. Darüber möchte ich 
gerne mehr erfahren.
</question>

<answer>
<p>
Wenn man einen automatisch erstellten Überblick in der &HTML;-Ausgabe haben
möchte, kann man den Befehl <code>&lt;overview back="zurück"/&gt;</code>
entweder vor den ersten Abschnitt, oder hinter dem letzten einfügen.</p>

<p>Zu beachten ist, dass da ein Schrägstrich vor der schließenden spitzen 
Klammer eingefügt werden muss.
</p>

<p>
Mit dem Attribut <quote>back</quote> kann man den Namen für die Links zurück 
festlegen. Man kann auch <code>back="zurück zum Überblick"</code>, oder sowas
schreiben.
</p>
</answer>

<question id="heading">
Wie kann ich eine Überschrift hinzufügen?
</question>

<answer>
<p>
Man kann eine Überschrift zum Beispiel so hinzufügen: 
<code>&lt;heading&gt;Über dieses und jenes&lt;/heading&gt;</code>.
Diese Zeile solle man direkt hinter das öffnende <code>&lt;akffaq&gt;</code>
einfügen.
</p>
</answer>

<question id="paragraph">
Wie kann man in Antworten Absätze machen?
</question>

<answer>
<p>Indem man jeden Absatz in <code>&lt;p&gt;...&lt;/p&gt;</code> einbettet.</p>

<p>Im Gegensatz zu &HTML; muss dieses grundsätzlich immer paarweise
verwendet werden. Man kann nicht einfach das schließende 
<quote>&lt;/p&gt;</quote> auslassen. Wenn man es verwendet, dann sollte 
man es auch konsequent verwenden.</p>

<p><em>Achtung:</em> Fragen können nicht in Absätze unterteilt werden.</p>
</answer>

<question id="links">
Wie kann man Links einfügen?
</question>

<answer>
<p>Es gibt da zwei Möglichkeiten.</p>

<p>
Zum Einen kann man Links zum Beispiel so angeben: 
<code>&lt;link&gt;http://akfoerster.de&lt;/link&gt;</code>.
Dabei ist das Ziel das Links auch gleichzeitig der angezeigte Text.
</p>

<p>
Wenn man einen Text verlinken will, kann man das aber auch ähnlich wie in 
&HTML; machen:</p>
<p><code>&lt;a href="http://akfoerster.de"&gt;Andreas K.
Förster&lt;/a&gt;</code>.</p>
</answer>

<question id="markup">
Welche anderen Markierungen können für die Textauszeichnung verwendet werden?
</question>

<answer>
<p>
Man kann Text hervorheben, indem man ihn mit 
<code>&lt;em&gt;...&lt;/em&gt;</code> einschließt.
Code-Teile können mit <code>&lt;code&gt;...&lt;/code&gt;</code> markiert 
werden. Längere Code-Blöcke können mit 
<code>&lt;code-block&gt;...&lt;/code-block&gt;</code> gekennzeichnet werden. 
Für Tastatur-Eingaben kann man <code>&lt;kbd&gt;...&lt;/kbd&gt;</code>
verwenden.
</p>
</answer>

<question id="any_html">
Es gibt da viele Ähnlichkeiten mit &HTML;. Kann man jedes beliebige 
&HTML;-Tag in AKFFAQ verwenden?
</question>

<answer><p>
Nein. Ich habe viele Tags ähnlich zu &HTML; konzipiert um es für Benutzer, die
bereits &HTML; kennen, einfacher zu machen und weil es einfacher ist das so
nach &HTML; zu konvertieren. Aber man kann nur die Tags und Attribute verwenden,
die speziell für AKFFAQ definiert wurden.
</p></answer>
</section>

</akffaq>

