<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="documl.xsl" type="text/xsl"?>
<article name="Aufbau von Artikeln" id="artikel">
<links/>
<s name="Grundgerüst" a="geruest">
<reference name="&lt;article&gt;"/>
<reference name="&lt;s&gt;"/>
<example>
&lt;?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?&gt;
&lt;?xml-stylesheet href="documl.xsl" type="text/xsl"?&gt;
&lt;article name="Angezeigter Artikelname" id="artikelid"&gt;
&lt;s name="Abschnittsname" a="Ankername" &gt;
Hallo Welt
&lt;/s&gt;
&lt;/article&gt;

</example>
Das ist das Beispiel eines extrem simpel gestrickten Artikels. Er besteht aus
der Angabe, dass es sich um eine XML-Datei handelt, dem Einbinden des
docuML-Stylesheets, Einem Tag "article" mit dem (muss-)Attribut name und id.
<p/>
Wichtig ist, dass jede Datei zusätzlich in der project.xml eingetragen wird, und
dass das dortige "id"-Attribt dem id-Attribut in der Artikeldatei entspricht,
ansonsten wird findet die Transfomation die nächste/vorige Datei beim
Zusammenhängen der Dateien (Link zur nächsten und vorigen Datei) nicht.
<p/>
Das "s"-Tag (Section, also Abschnitt. p wie Paragraph ist schon an das XHTML-p
vergeben) ist an sich optional, es macht jedoch meist nur in einer Indexdatei Sinn,
keinen Abschnitt zu definieren.

</s>

<s name="Abschnittsüberschriften auflisten" a="links">
<reference name="Abschnittsüberschriften"/>
<reference name="Logo"/>
<reference name="&lt;links&gt;"/>
Mit dem Tag links können Sie alle Abschnittsüberschriften mit Links zu den
entsprechenden Abschnitten auflisten. Die docuML-Transformation
geht dabei davon aus, dass Sie einen "schönen Dateikopf" haben möchten
und bindet das entsprechende Logo (in project.xml definiert) ein.
Dieses Tag sollte nicht selst in einem Abschnitt stehen. Eine
um Einiges schönere Datei erhalten Sie also einfach durch Einfügen des
Links-Tag:
<example>
&lt;?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?&gt;
&lt;?xml-stylesheet href="documl.xsl" type="text/xsl"?&gt;
&lt;article name="Angezeigter Artikelname" id="artikelid"&gt;
&lt;links/&gt;
&lt;s name="Abschnittsname" a="Ankername" &gt;
Hallo Welt
&lt;/s&gt;
&lt;/article&gt;

</example>
</s>

<s name="Inhaltsverzeichnis" a="inhaltsverzeichnis">
<reference name="Inhaltsverzeichnis"/>
<reference name="&lt;listtoc/&gt;"/>
<reference name="TOC"/>
Ein Inhaltsverzeichnis mit allen Dateien lassen Sie mit dem Tag &lt;listtoc/&gt;
anzeigen. Dabei werden alle Dateien angezeigt, die in project.xml angegeben sind
und zwar mit den Beschreibungen, die in den Dateien selbst angegeben sind
(dem name-Atttribut des article-Tags).
</s>

<s name="Referenz" a="referenz">
<reference name="Referenz"/>
Eine Referenz können Sie mit dem Tag &lt;listref/&gt; ausgeben. Dabei werden
alle "reference"-Tags aus allen Dateien, die in project.xml angegeben sind,
mit deren Name ausgegeben; dabei werden sie einmal nach Stichwort und einmal
nach Datei sortiert. Dabei verweisen die Links auf den Abschnitt, in dem der
reference-Tag steht, nicht auf die tatsächliche Stelle der Referenz.
</s>

<s name="Beispiele" a="beispiele">
<reference name="Beispiele, Tag für"/>
<reference name="&lt;example&gt;"/>
<reference name="&lt;ex&gt;"/>
Sie können in Ihren Texten Beispiele speziell markieren, indem Sie das
&lt;example&gt;-Tag (auch die Abkürzung: &lt;ex&gt;-Tag) verwenden.
<example>
&lt;example&gt;
Ein Bespiel eines Beispiels...
Nebenbei wird das Beispiel natürlich so angezeigt, wie Ihr Beispiel
auch aussehen würde (z.B. Konstanter Buchstabenabstand)
&lt;/example&gt;
</example>
</s>

<s name="Beispiele im Text" a="inlineexample">
<reference name="Beispiele, Inline"/>
<reference name="&lt;inlineexample&gt;"/>
<reference name="&lt;inex&gt;"/>
Innerhalb des Fließtextes können Sie Ihr Beispiel ohne Zeilenumbrüche mit
inlineexample darstellen. Das sieht dann <inlineexample>etwa so</inlineexample> aus.
Verwenden Sie dafür das &lt;inlineexample&gt;-Tag, oder die
Abkürzung, &lt;inex&gt;.<br/>
Beispiel:
<example>
Ein Text sollte bei äußerst kleinen &lt;inlineexample&gt;Beispielen&lt;/inlineexample&gt; nicht umbrechen.
</example>
</s>


<s name="Übungen mit Multiple Choice" a="uebungen">
<reference name="Übungen, Multiple Choice, definieren von"/>
<reference name="&lt;exercise&gt;"/>
<reference name="&lt;Multiple Choice, Übungen per&gt;"/>
Sie können Übungen definieren, die per Javascript abgefragt werden, wenn in
der project.xml nicht Druckversion angegeben ist (bei Druckversionen wird
eine Lösungszeile ausgegeben). Dazu verwenden Sie das Tag &lt;exercise&gt;,
mit question und answer.
<example>

&lt;exercise type="multiplechoice" clue="true" numanswers="3"&gt;
&lt;hint&gt;Der korrekte Wert ist das Ergebnis aus a modulo 3&lt;/hint&gt;
&lt;question&gt;Wenn a mit 5 belegt ist, welchen Wert hat
a nach der Operation a%=3&lt;/question&gt;
&lt;answer correct="true"&gt;2&lt;/answer&gt;
&lt;answer correct="false"&gt;0&lt;/answer&gt;
&lt;answer correct="false"&gt;15&lt;/answer&gt;
&lt;answer correct="false"&gt;8&lt;/answer&gt;
&lt;/exercise&gt;
</example>

<exercise type="multiplechoice" clue="true" numanswers="3">

<hint>Der korrekte Wert ist das Ergebnis aus a modulo 3</hint>
<question>Wenn a mit 5 belegt ist, welchen Wert hat
a nach der Operation a%=3</question>
<answer correct="true">2</answer>
<answer correct="false">0</answer>
<answer correct="false">15</answer>
<answer correct="false">8</answer>
</exercise>

Der Typ kann derzeit <i>multiplechoice</i> oder <i>gaptext</i> sein, das
hint-Tag zeigt einen Hinweis auf die richtige Antwort, wenn eine falsche
Antwort angeklickt wurde. Beachten Sie, dass es hint sowohl als
Tag innerhalb der question als auch als Attribut innerhalb der answer-Tags
geben kann. Bei der Tag-Version wird der Hint wird bei jeder falschen
Antwort gezeigt, bei der Attribut-Version nur der jeweilige Link der
Antwort angezeigt, die nicht korrekt beantwortet wurde.
Sind für alle Antworten hints angegeben, wird jeder Hint ausgegeben, wenn
eine Antwort angekreuzt wurde, die nicht hätte angekreuzt werden sollen, und
wenn eine Antwort nicht angekreuzt wurde, die als korrekt markiert ist. <p/>
Das Attribut "hint" zeigt bei Multiple Choice, wie viele Kreuze vom Anwender
erwartet werden. Es können mehrere answers correct=(true|false) sein.

</s>

<s name="Übungen mit Lückentext" a="lueckentext">
<reference name="Übungen, Lückentext, definieren von"/>
<reference name="&lt;Lückentext, Übungen per&gt;"/>
Lückentexte können Sie ebenfalls per Javascript abfragen, in dem Fall
schreiben Sie einfach den Lückentext in das exercise-Tag und verwenden
answer-Tags wo Lücken entstehen sollen.
<example>
&lt;exercise type="gaptext" clue="true"&gt;
Hallo dies ist ein &lt;answer hint="Anderes Wort für Übung" correct="Test"/&gt;
&lt;/exercise&gt;
</example>
<exercise type="gaptext" clue="true">
Hallo dies ist ein <answer hint="Anderes Wort für Übung" correct="Test"/>
</exercise>

hier bedeutet clue (optional), dass die Länge des Eingabefeldes anzeigt, wie
viele Zeichen erwartet werden (ansonsten weist es eine Standardlänge auf und
akzeptiert beliebig viele Zeichen). Es versteht sich (und stehta uch so im Beispiel),
dass das correct-Attribut hier andere Werte als true und false annehmen darf.
Hint ist wieder optional und auch als Tag möglich.

</s>
<s name="Download-Links" a="downloadlink">
<reference name="&lt;downloadlink/&gt;"/>
<reference name="Downloadlink, einfügen eines"/>
Einen Downloadlink auf das in project.xml spezifizierte Ziel können Sie durch
das Tag downloadlink einfügen. Der Grund für ein spezielles Tag ist, dass in
der project.xml ebenfalls geregelt sein kann, ob es sich um die Onlineversion handelt
oder nicht - und der downloadlink ist nur in der Onlineversion sichtbar.
<example>
&lt;downloadlink/&gt;
</example>
<downloadlink/>

</s>
<s name="Version" a="version">
<reference name="&lt;version/&gt;"/>
<reference name="Version, einfügen der -Nummer"/>
Ebenfalls in der project.xml liegt zentral die Versionsnummer des Dokumentes
- bei diesem Dokument nebenbei <version/>.

<example>
&lt;version/&gt;
</example>

</s>

<s name="HTML in docuML" a="html">
<reference name="HTML, Einbinden von"/>
<reference name="XHTML, Einbinden von"/>
<reference name="Verweisen auf Abschnitte"/>
Sie können XHTML in docuML-Dokumenten auf zwei Arten einbinden - mit Namespaces
oder indem Sie die Tags direkt in die Datei schreiben.<br/>
Genau genommen gibt es nicht einmal einen eigenen Link-Tag in docuML.
Wenn Sie auf andere Abschnitte verweisen möchten, müssen Sie
ein konventionelles Anker-Tag verwenden und auf die entsprechende HTML-Datei
(da aus der XML-Datei eine HTML-Datei generiert wird) mit dem Ankernamen des
Abschnitts verweisen.
<example>
&lt;!-- In der Datei diesedatei.xml --&gt;
&lt;s name="Abschnittsname" a="Ankername" &gt;
&lt;a href="diesedatei.html#Ankername"&gt;Dieser Link&lt;/a&gt; verweist auf sich selbst.
&lt;/s&gt;
</example>
</s>

<s name="Tabellen in docuML" a="tabellen">
<reference name="Tabellen"/>
<reference name="&lt;dmltable&gt;"/>
<reference name="&lt;dmlrow&gt;"/>
<reference name="&lt;dmlcol&gt;"/>
Tabellen können Sie natürlich als XHTML-Tabellen mit &lt;table&gt;, &lt;tr&gt; und
&lt;td&gt; definieren, jedoch ist oft eine Anforderung, dass das Aussehen von
Tabellen in einem Dokument zentral geändert werden soll. Dafür ist die
Verwendung von dmltable vorgesehen, die zusammen mit dmlrow und dmlcol eine
Tabelle mit leicht grauem Hintergrund darstellt. Allerdings soll noch keinem
der Kopf abgesägt worden sein, weil er dieses Aussehen in documl.xsl geändert hätte...

<example>
&lt;dmltable&gt;
&lt;dmlrow&gt; &lt;dmlcol&gt;Hallo&lt;/dmlcol&gt; &lt;dmlcol&gt;Welt&lt;/dmlcol&gt; &lt;/dmlrow&gt;
&lt;dmlrow&gt; &lt;dmlcol colspan="2"&gt;Fließtext&lt;/dmlcol&gt; &lt;/dmlrow&gt;
&lt;/dmltable&gt;
</example>
So wie dmlrow rowspan akzeptiert, funktioniert auch colspan bei dmlcol.
</s>
<s name="Neue Artikel anlegen" a="neue">
Um neue Artikel anzulegen, erstellen Sie bitte eine neue XML-Datei (mit einer neuen,
einmaligen ID) und
verlinken diese im  <a href="projectdesc.html#files">files-Bereich der Projektdatei</a>.
Gegebenenfalls sollten Sie sie auch in Ihrem <a href="kompilieren.html#script">Script</a>
erwähnen.<p/>
Diese neue Datei sollte mindestens <a href="artikel.html#geruest">ein Grundgerüst</a>
beinhalten, ein <a href="artikel.html#links">erweitertes Grundgerüst</a> ist empfehlenswert.
<p/>


</s>

</article>

