From 6f1c49b780fd9fc90e2b3625c0bba64e5b06a5c5 Mon Sep 17 00:00:00 2001
From: Martin Heinen
Date: Tue, 23 Dec 2003 01:04:36 +0000
Subject: [PATCH] MFbed: "Die Fibel" - The German version of the FDP Primer.
Submitted by: Oliver Fischer
---
de_DE.ISO8859-1/books/fdp-primer/Makefile | 51 +
de_DE.ISO8859-1/books/fdp-primer/book.sgml | 345 +++
de_DE.ISO8859-1/books/fdp-primer/chapter.decl | 2 +
de_DE.ISO8859-1/books/fdp-primer/chapters.ent | 27 +
.../books/fdp-primer/doc-build/chapter.sgml | 54 +
.../books/fdp-primer/examples/appendix.sgml | 54 +
.../books/fdp-primer/overview/chapter.sgml | 348 +++
.../books/fdp-primer/psgml-mode/chapter.sgml | 206 ++
.../books/fdp-primer/see-also/chapter.sgml | 143 ++
.../books/fdp-primer/sgml-markup/chapter.sgml | 55 +
.../books/fdp-primer/sgml-primer/chapter.sgml | 1984 +++++++++++++++++
.../books/fdp-primer/structure/chapter.sgml | 54 +
.../books/fdp-primer/stylesheets/chapter.sgml | 53 +
.../books/fdp-primer/the-website/chapter.sgml | 53 +
.../books/fdp-primer/tools/chapter.sgml | 363 +++
.../fdp-primer/translations/chapter.sgml | 53 +
.../fdp-primer/writing-style/chapter.sgml | 54 +
17 files changed, 3899 insertions(+)
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/Makefile
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/book.sgml
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/chapter.decl
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/chapters.ent
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/doc-build/chapter.sgml
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/examples/appendix.sgml
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/overview/chapter.sgml
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/see-also/chapter.sgml
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/structure/chapter.sgml
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/stylesheets/chapter.sgml
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/the-website/chapter.sgml
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/tools/chapter.sgml
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/translations/chapter.sgml
create mode 100644 de_DE.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml
diff --git a/de_DE.ISO8859-1/books/fdp-primer/Makefile b/de_DE.ISO8859-1/books/fdp-primer/Makefile
new file mode 100644
index 0000000000..593fae312c
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/Makefile
@@ -0,0 +1,51 @@
+#
+# $FreeBSD$
+# $FreeBSDde: de-docproj/books/fdp-primer/Makefile,v 1.2 2003/11/26 01:11:56 mheinen Exp $
+# basiert auf: 1.12
+#
+# Build the FreeBSD Documentation Project Primer.
+#
+MAINTAINER=nik@FreeBSD.org
+
+DOC?= book
+
+FORMATS?= html-split html
+
+INSTALL_COMPRESSED?= gz
+INSTALL_ONLY_COMPRESSED?=
+
+#
+# SRCS lists the individual SGML files that make up the document. Changes
+# to any of these files will force a rebuild
+#
+
+# SGML content
+SRCS= book.sgml
+SRCS+= overview/chapter.sgml
+SRCS+= psgml-mode/chapter.sgml
+SRCS+= see-also/chapter.sgml
+SRCS+= sgml-markup/chapter.sgml
+SRCS+= sgml-primer/chapter.sgml
+SRCS+= stylesheets/chapter.sgml
+SRCS+= structure/chapter.sgml
+SRCS+= doc-build/chapter.sgml
+SRCS+= the-website/chapter.sgml
+SRCS+= tools/chapter.sgml
+SRCS+= translations/chapter.sgml
+SRCS+= writing-style/chapter.sgml
+
+SRCS+= examples/appendix.sgml
+
+# Images from the cross-document image library
+IMAGES_LIB= callouts/1.png
+IMAGES_LIB+= callouts/2.png
+IMAGES_LIB+= callouts/3.png
+IMAGES_LIB+= callouts/4.png
+IMAGES_LIB+= callouts/5.png
+
+# Entities
+SRCS+= chapters.ent
+
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/de_DE.ISO8859-1/books/fdp-primer/book.sgml b/de_DE.ISO8859-1/books/fdp-primer/book.sgml
new file mode 100644
index 0000000000..a42e73ab0b
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/book.sgml
@@ -0,0 +1,345 @@
+
+
+
+%authors;
+
+
+%translators;
+
+
+%mailing-lists;
+
+
+%man;
+
+
+%chapters;
+
+
+
+]>
+
+
+
+ Die Fibel für neue Mitarbeiter des
+ FreeBSD-Dokumentationsprojekts
+
+
+ Nik
+ Clayton
+
+ nik@FreeBSD.org
+
+
+
+
+ 1998
+ 1999
+ 2000
+ 2001
+ 2002
+ 2003
+ Nik Clayton
+
+
+ $FreeBSD$
+
+ $FreeBSD$
+
+
+ Redistribution and use in source (SGML DocBook) and 'compiled'
+ forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+
+
+ Redistributions of source code (SGML DocBook) must retain the
+ above copyright notice, this list of conditions and the following
+ disclaimer as the first lines of this file unmodified.
+
+
+
+ Redistributions in compiled form (transformed to other DTDs,
+ converted to PDF, PostScript, RTF and other formats) must
+ reproduce the above copyright notice, this list of conditions and
+ the following disclaimer in the documentation and/or other
+ materials provided with the distribution.
+
+
+
+
+ THIS DOCUMENTATION IS PROVIDED BY NIK CLAYTON "AS IS" AND ANY
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NIK CLAYTON BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
+
+
+
+
+ Vielen Dank für Ihr Interesse und Ihre Mitarbeit an
+ der FreeBSD-Dokumentation. Jeder Beitrag ist für uns sehr
+ wichtig.
+
+ In dieser Fibel wird von der eingesetzten Software bis hin
+ zu den Vorstellungen des FreeBSD-Dokumentationsprojekts alles
+ behandelt, was Sie wissen müssen, wenn Sie sich am
+ FreeBSD-Dokumentationsprojekt beteiligen wollen.
+
+ Bitte beachten Sie, daß diese Fibel
+ ständig unter Bearbeitung und noch
+ nicht vollständig ist. Die noch nicht abgeschlossenen
+ Kapitel sind mit einem * vor der
+ Kapitelüberschrift gekennzeichnet.
+
+
+ Die noch nicht übersetzten Kapitel sind zusätzlich mit
+ einen # gekennzeichnet.
+
+
+
+
+ Benutzungshinweise
+
+
+ Die Eingabeaufforderungen
+
+ Die folgende Tabelle zeigt die normale Eingabeaufforderung
+ des Systems und die Eingabeaufforderung des Superusers. Die in
+ diesem Buch vorkommenden Beispiele, benutzen die jeweilige
+ Eingabeaufforderung um zu zeigen, unter welchem Benutzer die
+ Beispiele ausgeführt werden sollten.
+
+
+
+
+
+ Benutzer
+ Eingabeaufforderung
+
+
+
+
+
+ Normaler Benutzer
+ &prompt.user;
+
+
+
+ Superuser
+ &prompt.root;
+
+
+
+
+
+
+
+ Typographische Festlegungen
+
+ Um die Lesbarkeit zu erhöhen, werden in diesem
+ Dokument die im folgenden genannten typographischen
+ Festlegungen verwendet:
+
+
+
+
+
+ Bedeutung
+ Beispiel
+
+
+
+
+
+ Kommandonamen, Dateien, Verzeichnisse sowie
+ Bildschirmausgaben.
+ Bearbeiten Sie die Datei
+ .loginFühren
+ Sie ls -a aus, um sich alle
+ Dateien anzeigen zulassen.Sie haben Post.
+
+
+
+ Eingaben und die dazugehörige
+ Computerausgabe.
+ &prompt.user; su
+Paßwort:
+
+
+
+ Referenzen auf Hilfeseiten.
+
+ Mit
+ su
+ 1
+ können Sie sich als anderer
+ Benutzer anmelden.
+
+
+
+ Benutzer- und Gruppennamen.
+
+ Ich bin root, ich darf
+ das.
+
+
+
+ Hervorhebungen
+
+ Hier müssen Sie
+ vorsichtig sein.
+
+
+
+ Argumente auf der Kommandozeile, die durch
+ existierende Namen, Dateien oder Variablen ersetzt
+ werden müssen.
+
+ Dateien können Sie mit dem Befehl
+ rm
+ Dateiname
+ löschen.
+
+
+
+ Umgebungsvariablen
+
+ $HOME ist Ihr
+ Benutzerverzeichnis.
+
+
+
+
+
+
+
+ Anmerkungen, Tips, wichtige Hinweise, Warnungen und
+ Beispiel
+
+ An einigen Stellen innerhalb dieses Buchs werden
+ wichtige oder nützliche Hinweise gegeben, die besonders
+ hervorgehoben sind. Hier ein kurzer Überblick über
+ die verwendeten Darstellungen.
+
+
+
+ Anmerkungen werden so dargestellt. Sie enthalten
+ Informationen die Sie nur zu lesen brauchen, wenn Sie direkt
+ davon betroffen sind.
+
+
+
+ Tipps sind Informationen, die vielleicht hilfreich sein
+ könnten oder aufzeigen, wie bestimmte Dinge einfacher
+ zu bewerkstelligen sind.
+
+
+
+ Besonders wichtige Punkte werden so hervorgehoben. Meist
+ enthalten sie Hinweise auf vielleicht zusätzlich auszuführende
+ Schritte oder Dinge, die besonders zu beachten sind.
+
+
+
+ Warnungen werden wie dieser Abschnitt dargestellt und
+ weisen auf mögliche Schäden hin, die entstehen
+ können, falls die beschriebenen Schritte nicht genau
+ befolgt oder Hinweise nicht beachtet werden. Die Palette der
+ möglichen Schäden reicht von Hardwareschäden
+ bis hin zu Datendatenverlust durch ein versehentliches
+ Löschen von wichtigen Dateien oder ganzen
+ Verzeichnissen.
+
+
+
+ Ein Beispiel
+
+ Beispiele, die so wie hier dargestellt werden, enthalten
+ meist kleine Übungen, die nachvollzogen werden sollten,
+ um das vorher beschriebene besser zu verinnerlichen oder mit
+ den erzeugten Ausgaben vertraut zu werden.
+
+
+
+
+ Danksagungen
+
+ Ich möchte mich bei Sue Blake, Patrick Durusau, Jon
+ Hamilton, Peter Flynn und Christopher Maden bedanken, die sich
+ die Zeit genommen haben, die frühen Entwürfe dieses
+ Dokuments zu lesen und viele hilfreiche Hinweise und
+ Ratschläge gegeben haben.
+
+
+
+ &chap.overview;
+ &chap.tools;
+ &chap.sgml-primer;
+ &chap.sgml-markup;
+ &chap.stylesheets;
+ &chap.structure;
+ &chap.doc-build;
+ &chap.the-website;
+ &chap.translations;
+ &chap.writing-style;
+ &chap.psgml-mode;
+ &chap.see-also;
+
+ &app.examples;
+
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/chapter.decl b/de_DE.ISO8859-1/books/fdp-primer/chapter.decl
new file mode 100644
index 0000000000..3e187a32ee
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/chapter.decl
@@ -0,0 +1,2 @@
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/chapters.ent b/de_DE.ISO8859-1/books/fdp-primer/chapters.ent
new file mode 100644
index 0000000000..431bb633f3
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/chapters.ent
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/doc-build/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/doc-build/chapter.sgml
new file mode 100644
index 0000000000..2e73804628
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/doc-build/chapter.sgml
@@ -0,0 +1,54 @@
+
+
+
+ # Die Erzeugung der Zieldokumente
+
+ Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
+ bitte
+ das Original in englischer Sprache.
+
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/examples/appendix.sgml b/de_DE.ISO8859-1/books/fdp-primer/examples/appendix.sgml
new file mode 100644
index 0000000000..3e24275d58
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/examples/appendix.sgml
@@ -0,0 +1,54 @@
+
+
+
+ # Beispiele
+
+ Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
+ bitte
+ das Original in englischer Sprache.
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/overview/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/overview/chapter.sgml
new file mode 100644
index 0000000000..ee14403824
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/overview/chapter.sgml
@@ -0,0 +1,348 @@
+
+
+
+ Überblick
+
+ Herzlich Willkommen beim FreeBSD-Dokumentationsprojekt.
+ Qualitativ hochwertige Dokumentation ist ein wichtiger
+ Erfolgsfaktor und sehr bedeutend für die Verbreitung von
+ FreeBSD. Die wichtigste Quelle dafür ist das
+ FreeBSD-Dokumentationsprojekt (FDP). Jeder Beitrag, der zu diesem
+ Projekt geleistet wird, ist ungemein wertvoll.
+
+ Es ist das Anliegen dieser Fibel, den Leser mit dem FDP
+ vertraut zu machen und zu erklären, wie das FDP
+ organisiert ist, wie man selber Dokumente
+ erstellt und an das FDP einreicht und wie
+ die verfügbaren Werkzeuge effektiv beim Schreiben
+ eingesetzt werden können.
+
+ Wie jedes Opensourceprojekt, ist auch das FDP auf die Mithilfe
+ vieler angewiesen. Deshalb ist jeder herzlich eingeladen
+ mitzuarbeiten. Die dafür erforderlichen Voraussetzungen sind
+ gering und es gibt keine Verpflichtung eine bestimmte Menge an
+ Dokumenten pro Monat oder Jahr beizusteuern. Das Einzige was Sie
+ tun müssen, ist sich auf der Mailingliste &a.doc; einzutragen.
+
+ Nach dem Lesen der FDP-Fibel sollte man wissen:
+
+
+
+ welche Dokumente durch das FDP betreut werden,
+
+
+
+ wie man SGML-Dokumente liest und den SGML-Quellcode der
+ durch das FDP betreuten Dokumente versteht,
+
+
+
+ wie man selbst Änderungen an Dokumenten vornehmen
+ kann und
+
+
+
+ wie man Änderungen zur Begutachtung durch das FDP
+ einreichen kann.
+
+
+
+
+ Die FreeBSD-Dokumentationsreihe
+
+ Das FDP umfaßt vier verschiedene Kategorien:
+
+
+
+ Hilfeseiten
+
+
+ Die englischen Hilfeseiten wurden nicht vom FDP
+ geschrieben, da sie ein Teil des Basissystems sind. Jedoch
+ können bzw. wurden bereits Teile von existierenden
+ Hilfeseiten umformuliert, um sie verständlicher zu
+ machen oder um Fehler zu beheben.
+
+ Für die Übersetzung der Hilfeseiten des
+ Systems in die verschiedenen Sprachen sind die einzelnen
+ Übersetzergruppen verantwortlich. Alle dabei
+ entstandenen Übersetzungen gehören zum
+ FDP.
+
+
+
+
+ Die FAQ
+
+
+ Das Ziel der FAQ ist es, Fragen, die auf den
+ verschiedenen Maillinglisten und in Newsgruppen
+ regelmäßig diskutiert werden, nach einem
+ einfachen Frage- und Antwort-Muster zu behandeln. Das
+ schließt nicht aus, das auf bestimmte Fragen
+ ausführlich und umfassend eingegangen wird.
+
+
+
+
+ Das Handbuch
+
+
+ Das Ziel des Handbuches ist es, die
+ umfassende Quelle und Referenz im Netz für
+ FreeBSD-Benutzer zu sein.
+
+
+
+
+ Die Webseite
+
+
+ Die Webseite http://www.FreeBSD.org
+ und ihre vielen Spiegel auf der ganzen Welt vertreten das
+ FreeBSD-Projekt im WWW. Für viele Menschen
+ ist sie der erste Kontakt mit FreeBSD.
+
+
+
+
+ Jede dieser vier Kategorien wird im FreeBSD-CVS-Baum
+ verwaltet. Das bedeutet, daß alle Änderungen an den
+ Dateien für jeden verfügbar sind und jeder sich
+ mittels eines Programms wie CVSup
+ oder CTM eine lokale Kopie der
+ Dokumentation anlegen kann.
+
+ Parallel zum FDP haben viele Menschen Anleitungen
+ geschrieben und Webseiten mit Bezug zu FreeBSD erstellt. Einige
+ davon werden im CVS-Archiv verwaltet, sofern der Autor dem
+ zugestimmt hat. In anderen Fällen hat sich der Autor
+ entschlossen, seine Dokumentation außerhalb des zentralen
+ FreeBSD-CVS-Archivs zu verwalten. Das FDP bemüht sich, so
+ viele Verweise wie möglich auf solche Quellen
+ bereitzustellen.
+
+
+
+ Bevor es losgeht
+
+ Zum Verständnis der folgenden Kapitel sollte folgendes
+ bereits bekannt sein:
+
+
+
+ Wie eine aktuelle Kopie der FreeBSD-Dokumentation
+ entweder auf Basis des FreeBSD-CVS-Archivs mittels
+ CVS,
+ CTM oder
+ CVSup angelegt und gepflegt wird,
+ oder wie mit CVSup eine frische
+ Kopie des CVS-Archivs heruntergeladen wird.
+
+
+
+ Wie neue Programme mit Hilfe des
+ FreeBSD-Portsystems oder mittels &man.pkg.add.1;
+ heruntergeladen und installiert werden.
+
+
+
+
+
+ Der Schnellstart
+
+ Falls man einfach loslegen möchte und sich sicher genug
+ fühlt, um alles weitere erst bei Bedarf nachzusehen, kann
+ man einfach den folgenden Anweisungen folgen:
+
+
+
+ Zuerst muß der Metaport textproc/docproj auf dem
+ betreffenden Arbeitsrechner installiert werden.
+
+ &prompt.root; cd /usr/ports/textproc/docproj
+&prompt.root; make JADETEX=no install
+
+
+
+ Anschließend sollte eine lokale Kopie des
+ FreeBSD-doc-Verzeichnisbaumes angelegt
+ werden. Hierfür kann man entweder auf
+ CVSup im
+ checkout-Modus zurückgreifen oder
+ mittels cvs eine komplette Kopie
+ des CVS-Archivs anlegen.
+
+ Wenn man lieber mit einer Kopie des CVS-Archivs arbeiten
+ möchte, werden als Minimum die Verzeichnisse
+ doc/share und
+ doc/de_DE.ISO8859-1/share
+ benötigt.
+
+ &prompt.user; cvs checkout doc/share
+&prompt.user; cvs checkout doc/de_DE.ISO8859-1/share
+
+ Für den Fall, daß ausreichend Platz auf der
+ Festplatte vorhanden ist, kann auch eine eine
+ vollständige Arbeitskopie des gesamten CVS-Baumes anlegt
+ werden.
+
+ &prompt.user; cvs checkout doc
+
+
+
+ Sollte geplant sein, ein existierendes Buch oder einen
+ existierenden Artikel zu ändern, muß
+ natürlich noch zusätzlich das betreffende
+ Verzeichnis aus dem CVS-Archiv geholt werden. Soll hingegen
+ ein neues Buch oder ein neuer Artikel geschrieben werden,
+ empfiehlt es sich, auf bestehende Bücher und Artikel
+ zurückzugreifen und diese als Vorlage zu nutzen.
+
+ Ein Artikel über die Konfiguration eines VPNs
+ zwischen FreeBSD und Windows 2000 kann wie
+ folgt erstellt werden:
+
+
+
+ Zuerst wird das Verzeichnis
+ articles aus dem FreeBSD-CVS-Archiv
+ lokal angelegt:
+
+ &prompt.user; cvs checkout doc/de_DE.ISO8859-1/articles
+
+
+
+ Anschließend kopiert man einen bereits
+ existierenden Artikel und nutzt ihn als Vorlage. In
+ diesem Beispiel soll der neue Artikel im Verzeichnis
+ vpn-w2k liegen:
+
+ &prompt.user; cd doc/de_DE.ISO8859-1/articles
+&prompt.user; cp -r committers-guide vpn-w2k
+
+
+
+ Bereits exisitierende Dokumente, die geändert
+ werden sollen, können direkt aus dem CVS-Archiv
+ geholt werden. Das folgende Beispiel zeigt das
+ für die FAQ aus dem Verzeichnis
+ doc/de_DE.ISO8859-1/books/faq:
+
+ &prompt.user; cvs checkout doc/de_DE.ISO8859-1/books/faq
+
+
+
+ Jetzt können die .sgml Dateien
+ mit einem beliebigen Texteditor bearbeitet werden.
+
+
+
+
+ Danach ist make mit dem Ziel
+ lint aufzurufen, um das gesamte
+ Dokument auf Auszeichnungsfehler hin zu untersuchen, ohne
+ das zeitaufwendige Transformationen vorgenommen
+ werden.
+
+ &prompt.user; make lint
+
+
+
+ Soll anschließend das Zieldokument erstellt
+ werden, kann mit Hilfe der Variable
+ FORMATS bestimmt werden, welche
+ Ausgabeformate erzeugt werden sollen. Unterstützt werden
+ momentan html,
+ html-split, txt,
+ ps, pdf und
+ rtf. Die aktuelle Liste der
+ unterstützten Formate befindet sich am Anfang der Datei
+ doc/share/mk/doc.docbook.mk. Bei der
+ Verwendung dieser Variable ist es wichtig, darauf zu achten,
+ daß die Angabe der gewünschten Formate in
+ Anführungszeichen eingeschlossen wird, sofern mehr als
+ nur ein Format gleichzeitig erstellt werden soll.
+
+ Wenn das Dokument beispielsweise nach
+ HTML konvertiert werden soll, kann dies
+ so vorgenommen werden:
+
+ &prompt.user; make FORMATS=html
+
+ Soll es hingegen in den Formaten html
+ und txt erzeugt werden,
+ kann man entweder
+ &man.make.1; zweimal hintereinander aufrufen:
+
+ &prompt.user; make FORMATS=html
+&prompt.user; make FORMATS=txt
+
+ oder beide Formate mit einem Aufruf von &man.make.1;
+ erzeugen:
+
+ &prompt.user; make FORMATS="html txt"
+
+
+
+ Zum Schluß müssen die Änderungen an das
+ FDP mittels &man.send-pr.1; eingesandt werden.
+
+
+
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml
new file mode 100644
index 0000000000..87fa59330e
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml
@@ -0,0 +1,206 @@
+
+
+
+ sgml-mode und
+ Emacs
+
+ Neuere Emacs- und
+ XEmacs-Versionen verfügen
+ über ein nützliches Lisp-Paket namens PSGML. PSGML ist
+ ein sogenannter Majormode, der
+ Funktionen speziell für den Umgang mit SGML-Dateien,
+ -Elementen und deren Attributen bereit stellt. Emacs aktiviert
+ PSGML automatisch, wenn eine Datei mit der Endung
+ .sgml geladen oder der Befehl M-X
+ sgml-mode eingegeben wird.
+
+ Die Arbeit an SGML-Dokumenten wie dem FreeBSD-Handbuch kann
+ sich wesentlich einfacher gestalten, wenn einige der Funktionen
+ von PSGML gekannt sind:
+
+
+
+ C-c C-e
+
+
+ Ruft die Funktion sgml-insert-element
+ auf, die nach dem Namen des einzufügenden Elements
+ fragt. Ist dieser eingegeben worden und wurde die
+ Eingabetaste gedrückt, fügt die
+ Funktion Start- und Endtag des neuen Elements ein. Sofern
+ das eingefügte Element laut DTD andere Elemente
+ enthalten muß, werden diese ebenfalls
+ miteingefügt.
+
+
+ Falls man unsicher ist, wie der Name des
+ gewünschten Elements lautet oder welche Elemente an der
+ aktuellen Position erlaubt sind, können mittels der
+ Taste Tab alle an dieser
+ Stelle möglichen Elemente angezeigt
+ werden. Ebenso ermöglicht Tab die
+ Vervollständigung eines bereits eingegebenen
+ Elementnamens.
+
+
+
+
+
+
+ C-c =
+
+
+ Ruft die Funktion
+ sgml-change-element-name auf, mit der das
+ aktuelle Element – das Element zwischen dessen Start-
+ und Endtag sich der Cursor befindet – ausgewechselt
+ werden kann. Die Funktion fragt nach dem Namen des neuen
+ Elements und ersetzt anschließend Start- und Endtag
+ des alten Elements durch die des neuen Elements.
+
+
+
+
+ C-c C-r
+
+
+ Ruft die Funktion sgml-tag-region
+ auf, die einen markierten Textabschnitt mit einem Element
+ umschließt. Dazu wird zuerst nach dem Namen des
+ einzufügenden Elements gefragt, und dann dessen
+ Starttag am Anfang und dessen Endtag am Ende des markierten
+ Textes einfügt.
+
+
+
+
+ C-c -
+
+
+ Ruft die Funktion sgml-untag-element
+ auf, die Start- und Endtag des Elements entfernt, innerhalb
+ dessen sich der Cursor befindet.
+
+
+
+
+ C-c C-q
+
+
+ Ruft die Funktion sgml-fill-element
+ auf. Diese Funktion formatiert
+ Formatieren bedeutet in diesem Zusammenhang,
+ daß die Funktion versucht, soviel Zeichen wie
+ möglich in einer Zeile unterzubringen. Die Stelle,
+ bis zu der gefüllt und dann der Zeilemumbruch
+ erfolgt, ist konfigurierbar.
+ den Inhalt des aktuellen Elements neu. Dieser
+ Vorgang betrifft auch Elemente wie
+ programlisting, in denen Leerzeichen und
+ ähnliches Teil der Formatierung sind. Aus diesem Grund
+ ist mit sgml-fill-element bedächtig
+ umzugehen.
+
+
+
+
+ C-c C-a
+
+
+ Ruft die Funktion
+ sgml-edit-attributes auf. Diese
+ öffnet einen zweiten Puffer mit allen Attributen des
+ Elements, innerhalb dessen sich der Cursor befindet.
+ Über Tab kann von einem Attribut zum
+ nächsten gewechselt werden. Ein existierender
+ Attributwert kann mit C-k gelöscht
+ werden. Die Tastenfolge C-c C-c
+ schließt den Puffer und setzt die Attribute des
+ Elements entsprechend den Puffervorgaben.
+
+
+
+
+ C-c C-v
+
+
+ Ruft die Funktion sgml-validate auf,
+ die zuerst fragt, ob das aktuelle Dokument gespeichert
+ werden soll und anschließend einen SGML-Validator
+ aufruft. Die Ausgaben des Validators werden in einem neuen
+ Puffer angezeigt. Dadurch hat der Benutzer die
+ Möglichkeit, eventuell vom Validator gefundene Fehler
+ zu korrigieren.
+
+
+
+
+ Zweifellos hat PSGML noch weitere nützliche Funktionen, doch
+ die hier genannten sind die, die der Autor dieser Fibel am meisten
+ benutzt.
+
+ Um den richtigen Einzug, die Umwandlung von Tabulatoren in
+ Leerzeichen und die maximale Zeilenlänge für Dokumente des FDPs
+ sicherzustellen, kann folgender Eintrag in
+ .emacs vorgenommen werden:
+
+ (setq sgml-mode-hook
+ '(lambda ()
+ (setq fill-column 70
+ indent-tabs-mode nil
+ next-line-add-newlines nil
+ standard-indent 2)
+ (auto-fill-mode t)))
+
+
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/see-also/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/see-also/chapter.sgml
new file mode 100644
index 0000000000..172086ad62
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/see-also/chapter.sgml
@@ -0,0 +1,143 @@
+
+
+
+ Weiterführende Quellen
+
+ In dieser Fibel werden absichtlich nicht alle Aspekte von
+ SGML, der erwähnten DTDs und des
+ FreeBSD-Dokumentationsprojekts behandelt. Interessierten werden daher
+ die nachfolgenden Quellen empfohlen.
+
+
+ Das FreeBSD-Dokumentationsprojekt
+
+
+
+ Die
+ Webseiten des
+ FreeBSD-Dokumentationsprojektes
+
+
+
+ Das
+ FreeBSD-Handbuch
+
+
+
+
+
+ SGML
+
+
+
+ Die
+ SGML/XML-Webseite, eine umfangreiche Quelle zu
+ SGML.
+
+
+
+ Gentle
+ introduction to SGML
+
+
+
+
+
+ HTML
+
+
+
+ Das
+ World-Wide-Web-Konsortium
+
+
+
+ Die
+ HTML 4.0-Spezifikation
+
+
+
+
+
+ DocBook
+
+
+
+ The
+ DocBook Technical Committee, die Betreuer der
+ DocBook-DTD.
+
+
+
+ DocBook: The
+ Definitive Guide, die Online-Dokumentation zur
+ DocBook-DTD.
+
+
+
+
+ The DocBook
+ Open Repository bietet DSSSL-Stilvorlagen und
+ andere Ressourcen für DocBook-Benutzer an.
+
+
+
+
+
+ Das Linux-Dokumentationsprojekt
+
+
+
+ Die Webseiten des Linux-Dokumenationsprojektes.
+
+
+
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml
new file mode 100644
index 0000000000..f4936d6d0c
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml
@@ -0,0 +1,55 @@
+
+
+
+ # Auszeichnung mit SGML
+
+ Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
+ bitte
+ das Original in englischer Sprache.
+
+
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml
new file mode 100644
index 0000000000..7c70a68bd7
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml
@@ -0,0 +1,1984 @@
+
+
+
+
+
+ Die SGML-Fibel
+
+ Die Mehrzahl der Dokumente des FDPs sind in SGML geschrieben.
+ Ziel dieses Kapitels ist es, genau zu erklären, was
+ das bedeutet und wie man die SGML-Quellen liest und versteht.
+ Ebenso werden die in den Quellen genutzten Kniffe erklärt,
+ auf die man beim Lesen der Dokumente stoßen wird.
+
+ Teile dieses Kapitels basieren auf Mark Galassis Get
+ Going With DocBook.
+
+
+ Überblick
+
+ In den guten alten Zeiten war der Umgang mit
+ elektronischem Text einfach. Man mußte
+ lediglich wissen, welcher Zeichensatz (ASCII, EBCDIC oder ein
+ anderer) vorlag. Text war einfach Text und sah so aus, wie man
+ ihn sah. Keine Extras, keine Formatierungen und kein sonstiger
+ Schnickschnack.
+
+
+
+ Unleugbar ist, daß das nicht genug war. Von einem
+ machinenlesbaren Text wird erwartet, daß er auch von
+ Maschinen gelesen und vernünftig verarbeitet werden kann.
+ Einige Stellen sollen hervorgehoben werden, andere sollen in ein
+ Glossar aufgenommen werden oder auf andere Textstellen
+ verweisen. Dateinamen wiederum sollen in einer
+ schreibmaschinenähnlichen Schrift auf dem
+ Bildschirm dargestellt werden, der Ausdruck jedoch soll in
+ Schrägschrift oder einer von hundert anderen
+ möglichen Darstellungsformen erfolgen.
+
+
+
+ Anfänglich gab es die Hoffnung, daß die
+ Künstliche Intelligenz (KI) helfen würde, dieses Ziel
+ zu erreichen. Der Computer sollte den Text lesen und
+ selbstständig in der Lage sein können, wichtige
+ Formulierungen, Dateinamen, Benutzereingaben oder Beispiele zu
+ erkennen. Unglücklicherweise verlief die Entwicklung in der
+ Wirklichkeit nicht wie gewünscht und Computer bedürfen
+ etwas Unterstützung, bevor sie Texte vernünftig
+ verarbeiten können.
+
+ Genauer gesagt, man muß ihnen sagen, was was ist. Sehen
+ wir Menschen uns folgende Zeilen an:
+
+
+
+ fällt es uns leicht zu erkennen, was ein Dateiname, ein
+ einzugebender Befehl oder ein Verweis auf eine Hilfeseite ist. Das
+ kann ein Computer, der einen Text verarbeitet, nicht. Aus diesem
+ Grund ist es notwendig, Texte mit weiteren Informationen
+ auszuzeichnen.
+
+
+
+ Der Begriff AuszeichnungIm
+ angelsächischschen Sprachraum wird von
+ markup
+ gesprochen. bedeutet, daß
+ sich der Wert eines Textes erhöht, aber auch seine Kosten.
+ Durch Auszeichnungen wird einem Dokument zusätzlicher Text
+ hinzugefügt, der aber von dem eigentlichen Dokumenteninhalt
+ auf eine bestimmte Art und Weise unterschieden werden kann, so
+ daß Programme die Auszeichnung erkennen können und
+ mittels dieser Informationen während der Verarbeitung in
+ der Lage sind, Entscheidungen zu treffen. Texteditoren
+ können diese Auszeichnungselemente vor dem Benutzer
+ verbergen, um zu vermeiden, daß er durch sie abgelenkt
+ wird.
+
+
+
+
+ Die durch die Auszeichnungselemente im Textdokument
+ zusätzlich abgelegten Informationen erhöhen den Wert
+ des Dokuments. Allerdings muß diese Arbeit in den meisten
+ Fällen von einem Menschen getan werden – wären
+ Maschinen dazu fähig, wären zusätzliche
+ Auszeichnungselemente unnötig. Der damit verbundene Aufwand
+ erhöht die Kosten, die durch die
+ Erstellung des Dokuments entstehen.
+
+ Das etwas weiter oben gegebene Beispiel sieht im Quelltext
+ so aus:
+
+ Löschen Sie /tmp/foo mittels &man.rm.1;.
+
+&prompt.user; rm /tmp/foo]]>
+
+ Die Auszeichnungselemente sind deutlich vom eigentlichen
+ Inhalt zu unterscheiden.
+
+ Leicht ist zu erkennen, daß die Einführung von
+ Auszeichnungselementen es nötig macht, irgendwo festzulegen
+ was die einzelnen Auszeichungselemente bedeuten und wie sie zu
+ interpretieren sind. Letztendlich wird ein ganzes Bündel
+ von Auszeichnungselementen benötigt, die selbst eine eigene
+ Auszeichnungssprache darstellen, derer man sich bedienen kann,
+ wenn man seine Dokumente schreibt.
+
+ Natürlich kann es keine universelle
+ Auszeichnungssprache geben und eine einzige mag nicht
+ ausreichend für alle möglichen Anwendungsfälle
+ sein. Eine Sprache für technische Dokumente wird sich
+ wahrscheinlich stark von einer für Kochrezepte
+ unterscheiden. Die universelle Lösung ist eine
+ Basissprache, mit deren Hilfe weitere Sprachen entwickelt werden
+ können – eine
+ Meta-Auszeichungssprache also.
+
+ Genau diese Anforderung wird von der Standard Generalized
+ Markup Language (SGML) erfüllt. Mit ihrer
+ Hilfe wurden viele andere Auszeichungssprachen wie
+ beispielsweise HTML und DocBook, welche beide von FDP genutzt
+ werden, entwickelt.
+
+ Die eigentliche Sprachdefinition erfolgt in einer
+ Dokumenten-Typ-Definition (DTD). Innerhalb dieser DTD werden die
+ Namen der einzelnen Elemente, deren mögliche Reihenfolge
+ und Verschachtelung sowie weitere Informationen
+ festgelegt.
+
+
+
+
+
+ Eine DTD ist eine
+ vollständige Definition aller
+ möglichen Sprachelemente, ihrer
+ ReihenfolgeBei natürlichen Sprachen spricht
+ man vom Satzbau – demjenigen Konstrukt, das unter
+ anderem die Position des Subjekts, Objekts und
+ Prädikats in einem Satz festlegt.,
+ optionaler Elemente und so weiter und so weiter. Dank dieser
+ recht formalen Festlegung ist es möglich,
+ SGML-Parser zu entwickeln, die sowohl ein
+ Dokument als auch seine DTD einlesen und anhand dieser DTD
+ prüfen können, ob das Dokument allen Anforderungen der
+ DTD entspricht. Dieser Vorgang wird allgemein als
+ Validierung des Dokuments
+ bezeichnet.
+
+
+ Das Validieren eines SGML-Dokuments gegen eine DTD
+ überprüft lediglich die korrekte Syntax des
+ Dokuments, daß heißt, ob nur gültige
+ Auszeichnungselemente verwendet wurden und ihre Reihenfolge
+ stimmt. Dabei wird nicht geprüft, ob
+ die Elemente der DTD sinngemäß
+ verwandt wurden. Sollten beispielsweise alle Dateinamen als
+ Funktionsnamen ausgezeichnet worden sein, so würde der
+ Parser keinen Fehler signalisieren. Formaler ausgedrückt:
+ Der Parser prüft die Syntax, aber nicht die
+ Semantik.
+
+
+ Es ist anzunehmen, daß, wenn man selber vor hat
+ Dokumentation für das FDP zu schreiben, der
+ größte Teil davon mit Hilfe von HTML oder DocBook
+ geschrieben werden wird. Aus diesem Grunde wird an dieser Stelle
+ nicht erklärt, wie eine DTD entwickelt wird.
+
+
+
+ Von Elementen, Tags und Attributen
+
+
+
+ Alle in SGML geschriebenen DTDs haben bestimmte gemeinsame
+ Eigenschaften. Das ist nicht verwunderlich, da sich die hinter
+ SGML stehende Idee unweigerlich bemerkbar macht. Zwei der
+ markantesten Merkmale dieser Idee sind die Begriffe
+ Inhalt und
+ Element.
+
+
+
+
+
+
+ Von einem Dokument, unabhängig, ob es sich um eine
+ einzelne Webseite oder ein langes Buch handelt, wird angenommen,
+ daß es einen wie auch immer gearteten Inhalt hat. Dieser
+ läßt sich selbst wiederum in Teilelemente
+ aufspalten, die ebenso zerlegbar sind. Durch die Aufnahme von
+ Auszeichnungselementen in einen Text, werden diese einzelnen
+ Elemente eindeutig benannt und voneinander abgegrenzt.
+
+
+
+
+
+ Nimmt man zum Beispiel ein typisches Buch, so kann man es
+ auf der obersten Ebene als ein Ganzes, als ein Element
+ betrachten. Dieses Buch-Element enthält nun
+ sicherlich Kapitel, die selbst zu Recht als Elemente bezeichnet
+ werden können. Jedes einzelne Kapitel enthält weitere
+ Elemente. So gibt es beispielsweise Absätze, Zitate und
+ Fußnoten. Jeder Absatz kann wiederum selbst Elemente
+ enthalten, die helfen, den Absatzinhalt als direkte Rede oder
+ als Namen eines der Protagonisten einer Geschichte zu
+ identifizieren.
+
+ Wenn man möchte, kann man sich das als
+ UnterteilungIm
+ angelsächsichen Sprachraum wird hier von
+ chunking gesprochen. des
+ Inhalts vorstellen. Auf der obersten Ebene gibt es ein Element:
+ das Buch selbst. Schaut man ein wenig tiefer, findet man weitere
+ Teilelemente: die einzelnen Kapitel. Diese sind wiederum
+ unterteilt in Absätze, Fußnoten, Namen und so weiter
+ und so weiter.
+
+ Anzumerken ist an dieser Stelle, daß das eben gesagte
+ ohne weiteres auf jeden Inhaltstyp angewandt werden kann, auch
+ ohne daß von SGML die Rede ist. Man
+ könnte beispielsweise einfach verschiedene Stifte nehmen
+ und einen Ausdruck dieser Fibel vor sich hinlegen und dann mit
+ verschiedenen Farben die einzelnen Abschnitte des Buchinhalts
+ markieren.
+
+ Leider gibt es keinen elektronischen Stift, um das zu tun.
+ Deshalb muß ein anderer Weg gewählt werden, um zu
+ bestimmen, zu welchem Element die einzelnen Inhalte
+ gehören. In SGML-basierten Auszeichnungssprachen wie HTML
+ und DocBook werden dafür sogenannte
+ Tags eingesetzt.
+
+ Mit einem solchen Tag wird eindeutig festgelegt, wo ein
+ bestimmtes Element beginnt und wo es endet. Allerdings
+ gehört der Tag selber nicht zum Element. Er
+ legt lediglich die Grenzen des Elements fest. Da jede DTD mit dem Ziel
+ entwickelt wurde, einen speziellen Inhaltstyp auszuzeichnen,
+ wird jede DTD verschiedene Elemente kennen, die daher
+ natürlich auch unterschiedlich benannt sein werden.
+
+ Der Starttag für ein imaginäres Element mit dem
+ Namen elementname ist
+ <elementname>.
+ Sein Gegenstück, der schließende Endtag, ist
+ </elementname>.
+
+
+ Verwendung eines Elements (Start- und Endtag)
+
+ HTML kennt das Element p, um
+ festzulegen, daß ein bestimmter abgegrenzter Bereich
+ einen Absatz darstellt. Dieses Element hat sowohl einen Start-
+ als auch einen Endtag.
+
+ Das ist ein Absatz. Er beginnt mit Starttag
+ für das Element 'p' und endet mit dem Endtag für
+ das Element 'p'.
+
+
Das ist ein etwas kürzerer Absatz.
]]>
+
+
+
+ Elemente müssen nicht notwendigerweise einen Endtag
+ haben. Ebenso ist es nicht notwendig, daß Elemente einen
+ Inhalt haben. Beispielsweise kann in HTML-Dokumenten mittels
+ eines speziellen Elements festgelegt werden, daß eine
+ horizontale Linie an einer bestimmten Stelle erscheinen soll. Da
+ dieses Element offensichtlich keinen Inhalt hat, wird auch kein
+ Endtag benötigt.
+
+
+ Verwendung eines Elements (nur Starttag)
+
+ In HTML kann man mit dem Element hr
+ festlegen, daß an einer bestimmten Stelle eine
+ horizontale Linie angezeigt werden soll. Da dieses Element
+ keinen Inhalt umschließt, hat es nur einen
+ Starttag.
+
+ Das ist ein Abschnitt.
+
+
+
+
Das ist ein weiterer Absatz. Eine horizontale Linie
+ trennt ihn vom vorherigen Absatz.
]]>
+
+
+ Elemente können andere Elemente enthalten. Im
+ anfangs erwähnten Buch enthielt das Buch-Element
+ alle Kapitel-Elemente, die wiederum alle Absatz-Elemente
+ enthielten und so fort.
+
+
+ Verschachtelte Elemente: em
+
+ Das ist ein einfacher Abschnitt, in dem
+ einige Wortehervorgehoben wurden.]]>
+
+
+ Welche Elemente andere Elemente enthalten können und
+ welche das sind, wird innerhalb der DTD eines Dokuments
+ festgelegt.
+
+
+
+
+ Viele Leute sind oft verwirrt, wenn es um die richtige
+ Benutzung der Begriffe Tag und Element geht. Im Ergebnis werden
+ sie oft so genutzt, als wären sie austauschbar.
+ Allerdings sind sie das nicht.
+
+ Ein Element ist ein konzeptioneller Teil eines Dokuments
+ und hat einen festgelegten Anfang und ein festgelegtes
+ Ende. Ein Tag hingegen markiert die Stelle, an der ein Element
+ beginnt und endet.
+
+ Wenn in diesem Dokument von dem Tag
+ <p> gesprochen wird, ist damit der Text
+ gemeint, der aus den drei Zeichen <,
+ p und > besteht. Wird
+ hingegen von dem Element <p> gesprochen,
+ ist damit das gesamte Element gemeint.
+
+ Diese Unterscheidung ist sicherlich subtil. Trotzdem
+ sollte man sie sich vergegenwärtigen.
+
+
+ Elemente können selber Attribute haben, die aus einem
+ Namen und einem Wert bestehen. Die Attribute haben die Aufgabe,
+ dem Element zusätzliche Informationen hinzuzufügen.
+ Denkbar sind hier Festlegungen über die Darstellung,
+ Bezeichner, über die das Element eindeutig identifiziert
+ werden kann, oder beliebige andere Informationen.
+
+ Elementattribute werden in den Starttag
+ eingefügt und haben die Form
+ Attributename="Wert".
+
+ Bei einigen HTML-Versionen kennt das Element
+ p das Attribut align, mit
+ dessen Hilfe die Textausrichtung eines Absatzes bestimmt werden
+ kann. align akzeptiert einen von vier
+ vorgegebenen Werten: left,
+ center, right und
+ justify. Ist align nicht
+ angegeben, wird vom Standardwert left
+ ausgegangen.
+
+
+ Elemente mit Attributen nutzen
+
+ Die Verwendung des align-Attributs
+ für diesen Absatz ist überflüssig, da left
+ der Standardwert ist.
+
+
Dieser Absatz wird hoffentlich mittig dargestellt.
]]>
+
+
+
+ Einige Attribute akzeptieren nur bestimmte Werte, wie
+ beispielsweise left oder
+ justify. Andere akzeptieren jeden beliebigen
+ Wert. Enthält der Wert des Attributs Anführungszeichen
+ ("), sollte er in einfachen
+ Anführungszeichen angegeben werden.
+
+
+ Attribute mit einfachen Anführungszeichen
+
+ Ich stehe rechts!]]>
+
+
+
+
+
+
+ Die Informationen über Attribute, Elemente und Tags
+ sind in SGML-Katalogen abgelegt und werden von den verschiedenen
+ Werkzeugen des Dokumentationsprojektes genutzt, um die
+ geschriebenen Dokumente zu validieren. Die Programme die durch
+ textproc/docproj installiert
+ werden, bringen ihre eigenen Katalogvarianten mit, zudem pflegt
+ das FDP seine eigenen Kataloge. Beide Katalogarten müssen
+ von allen Programmen gefunden werden können.
+
+
+ Was dafür getan werden muß…
+
+ Damit die Beispiele dieser Fibel ausgeführt werden
+ können, ist es notwendig, daß einige Programme auf
+ dem Rechner installiert sind und das eine Umgebungsvariable
+ korrekt gesetzt wird.
+
+
+
+ Der erste Schritt ist die Installation des Ports
+ textproc/docproj
+ über das FreeBSD-Portsystem. textproc/docproj ist ein
+ Metaport, der alle vom FDP
+ benötigten Programme und Daten aus dem Netz laden und
+ installieren sollte.
+
+
+
+ Anschließend muß in den Shellkonfigurationsdateien die
+ Variable SGML_CATALOG_FILES
+ Sofern man nicht an der deutschen
+ Dokumentation arbeitet, müssen die
+ Verzeichnisangaben entsprechend anpaßt
+ werden.
+ gesetzt werden.
+
+
+ .profile, für &man.sh.1; und
+ &man.bash.1; Benutzer
+
+ SGML_ROOT=/usr/local/share/sgml
+SGML_CATALOG_FILES=${SGML_ROOT}/jade/catalog
+SGML_CATALOG_FILES=${SGML_ROOT}/iso8879/catalog:$SGML_CATALOG_FILES
+SGML_CATALOG_FILES=${SGML_ROOT}/html/catalog:$SGML_CATALOG_FILES
+SGML_CATALOG_FILES=${SGML_ROOT}/docbook/4.1/catalog:$SGML_CATALOG_FILES
+SGML_CATALOG_FILES=/usr/doc/share/sgml/catalog:$SGML_CATALOG_FILES
+SGML_CATALOG_FILES=/usr/doc/en_US.ISO8859-1/share/sgml/catalog:$SGML_CATALOG_FILES
+SGML_CATALOG_FILES=/usr/doc/de_DE.ISO8859-1/share/sgml/catalog:$SGML_CATALOG_FILES
+export SGML_CATALOG_FILES
+
+
+
+
+ .cshrc, für &man.csh.1;- und
+ &man.tcsh.1;-Benutzer
+
+ setenv SGML_ROOT /usr/local/share/sgml
+setenv SGML_CATALOG_FILES ${SGML_ROOT}/jade/catalog
+setenv SGML_CATALOG_FILES ${SGML_ROOT}/iso8879/catalog:$SGML_CATALOG_FILES
+setenv SGML_CATALOG_FILES ${SGML_ROOT}/html/catalog:$SGML_CATALOG_FILES
+setenv SGML_CATALOG_FILES ${SGML_ROOT}/docbook/4.1/catalog:$SGML_CATALOG_FILES
+setenv SGML_CATALOG_FILES /usr/doc/share/sgml/catalog:$SGML_CATALOG_FILES
+setenv SGML_CATALOG_FILES /usr/doc/en_US.ISO8859-1/share/sgml/catalog:$SGML_CATALOG_FILES
+setenv SGML_CATALOG_FILES /usr/doc/de_DE.ISO8859-1/share/sgml/catalog:$SGML_CATALOG_FILES
+
+
+ Damit die Änderungen wirksam werden, muß
+ man sich abmelden und anschließend wieder anmelden
+ – oder die obigen Anweisungen direkt in der Shell
+ ausführen und so die Umgebungsvariable
+ setzten.
+
+
+
+
+
+
+ Nun sollte man eine Datei
+ beispiel.sgml anlegen, die den
+ folgenden Text enthält:
+
+
+
+
+
+ Eine Beispieldatei in HTML
+
+
+
+
Das ist ein Absatz mit etwas Text.
+
+
Das ist ein Absatz mit anderem Text.
+
+
Dieser Absatz wird rechtsbündig
+ ausgerichtet.
+
+]]>
+
+
+
+ Nachdem die Datei abgespeichert wurde, kann sie
+ mit Hilfe eines SGML-Parsers validiert werden.
+
+ Bestandteil von textproc/docproj
+ ist &man.nsgmls.1; - ein validierender Parser.
+ &man.nsgmls.1; liest ein Dokument entsprechend einer SGML-DTD
+ ein und gibt anschließend ein Element-Structure-Information-Set
+ (ESIS) aus. Allerdings ist das an dieser Stelle nicht weiter
+ wichtig.
+
+ Wird &man.nsgmls.1; mit der Option
+ aufgerufen, werden nur Fehlermeldungen ausgegeben. Dadurch
+ kann leicht geprüft werden, ob ein Dokument gültig
+ ist oder nicht.
+
+ So prüft man mit &man.nsgmls.1;, ob die neuangelegte
+ Beispieldatei gültig ist:
+
+ &prompt.user; nsgmls -s beispiel.sgml
+
+ Sofern das Beispiel korrekt abgetippt wurde, wird sich
+ &man.nsgmls.1; ohne jegliche Ausgabe beenden. Das bedeutet,
+ daß das Dokument erfolgreich validiert werden konnte
+ und somit gültig ist.
+
+
+
+ Jetzt sollten die Tags title und
+ /title aus dem Dokument gelöscht
+ und das Dokument erneut validiert werden:
+
+ &prompt.user; nsgmls -s beispiel.sgml
+nsgmls:beispiel.sgml:5:4:E: character data is not allowed here
+nsgmls:beispiel.sgml:6:8:E: end tag for "HEAD" which is not finished
+
+ Die Fehlermeldungen die von &man.nsgmls.1; ausgegeben
+ werden, sind in durch Doppelpunkte getrennte Spalten
+ unterteilt.
+
+
+
+
+
+ Spalte
+ Bedeutung
+
+
+
+
+
+ 1
+ Der Name des Programms, das den Fehler
+ meldet. Hier wird immer nsgmls
+ stehen.
+
+
+
+ 2
+ Der Name der fehlerhaften Datei.
+
+
+
+ 3
+ Die Zeilennummer des Fehlers.
+
+
+
+ 4
+ Die Spaltenummer des Fehlers.
+
+
+
+ 5
+ Ein einbuchstabiger Code, der über die
+ Art des Fehlers informiert. I
+ steht für eine informelle Meldung,
+ W für eine Warnung und
+ E für Fehler
+ Nicht immer besteht eine Meldung aus
+ fünf Spalten. Die Ausgabe von
+ nsgmls -sv ist
+ beispielsweise nsgmls:I: SP version
+ "1.3" (natürlich
+ abhängig von der Version). Wie man sehen
+ kann, handelt es sich hier um eine informelle
+ Meldung.
+ und X für
+ einen Querverweis. Bei den oben stehenden Ausgaben
+ handelt es sich also um Fehlermeldungen.
+
+
+
+ 6
+ Die Fehlermeldung.
+
+
+
+
+
+ Durch das Weglassen des Tags title
+ sind zwei unterschiedliche Fehler entstanden.
+
+ Der erste Fehler besagt, daß Inhalt (in diesem
+ Falle Zeichen anstatt eines Starttags) an einer Stelle
+ gefunden wurde, an der der Parser etwas anderes erwartet
+ hat. Genauer gesagt wurde der Starttag eines Elements
+ erwartet, das innerhalb von head
+ auftreten kann.
+
+ Der zweite Fehler wurde dadurch verursacht, daß
+ das Element head ein
+ Element title enthalten
+ muß und &man.nsgmls.1; nicht
+ berücksichtigt, daß dieser Fehler auf dem
+ vorhergehenden beruht. Es wird lediglich festgestellt,
+ daß der Endtag von head auftritt,
+ obwohl nicht alle notwendigen Elemente vorhanden sind.
+
+
+
+ Zum Schluß sollte der Tag
+ title wieder in die Beispieldatei
+ eingefügt werden.
+
+
+
+
+
+
+
+ Die DOCTYPE-Deklaration
+
+ Am Anfang jedes Dokuments muß der Name der dem
+ Dokument zugrundeliegenden DTD angegeben werden. Mit Hilfe
+ dieser Information können SGML-Parser die verwendete DTD
+ feststellen und prüfen, ob das Dokument zu ihr konform ist.
+
+ Üblicherweise steht diese Information in einer Zeile,
+ die als DOCTYPE-Deklaration bezeichnet wird.
+
+
+ Eine Deklaration für ein HTML-Dokument, das nach den
+ Vorgaben der DTD für HTML 4.0 geschrieben wurde, sieht so
+ aus:
+
+ ]]>
+
+ und besteht aus verschiedenen Teilen.
+
+
+
+
+
+
+
+ <!
+
+
+ Die Zeichenkette <! dient hier
+ als Indikator, daß es sich bei
+ diesem Ausdruck um eine SGML-Deklaration handelt und diese
+ Zeile den Dokumententyp festlegt.
+
+
+
+
+ DOCTYPE
+
+
+ Zeigt an, daß dies die SGML-Deklaration für
+ den Dokumententyp ist.
+
+
+
+
+ html
+
+
+ Nennt das erste Element, das im
+ Dokument auftaucht.
+
+
+
+
+ PUBLIC "-//W3C//DTD HTML 4.0//EN"
+
+
+ Nennt den Formalen Öffentlichen Bezeichner
+
+ auf Englisch Formal Public
+ Identifier (FPI)
+ der DTD des Dokuments. Diese Information wird
+ von SGML-Parsern ausgewertet, um die von dem Dokument
+ referenzierte DTD zu bestimmen.
+
+ Das Schlüsselwort PUBLIC
+ gehört nicht zum öffentlichen Bezeichner,
+ sondern legt fest, wie ein SGML-Parser die DTD finden
+ kann. Alternative Wege eine DTD zu referenzieren werden
+ später
+ gezeigt.
+
+
+
+
+ >
+
+
+ Schließt den mit <! begonnenen
+ Ausdruck ab.
+
+
+
+
+
+ Formale Öffentliche Bezeichner
+
+
+
+ Dieser Abschnitt braucht nicht unbedingt zu gelesen zu
+ werden. Dennoch ist es empfehlenswert, da er nützliche
+ Hintergrundinformationen enthält, die hilfreich sein
+ können, falls der SGML-Prozessor die genutzte DTD nicht
+ finden kann.
+
+
+ Jeder öffentliche Bezeichner muß eine bestimmte Syntax
+ haben, die wie folgt lautet:
+
+
+
+ "Besitzer//SchlüsselwortBeschreibung//Sprache"
+
+
+
+ Besitzer
+
+
+ Nennt den Besitzer des öffentlichen Bezeichners.
+
+ Falls diese Zeichenkette mit ISO
+ beginnt, gehört der Bezeichner dem ISO-Kommitee.
+ Der Bezeichner "ISO 8879:1986//ENTITIES Greek
+ Symbols//EN" nennt ISO
+ 8879:1986 als den Besitzer des Satzes von
+ Entitäten für griechische Zeichen. ISO
+ 8879:1986 ist die ISO-Bezeichnung für den
+ SGML-Standard.
+
+
+
+ Beginnt die Zeichenkette nicht mit
+ ISO, sieht sie entweder so
+ -//Besitzer
+ oder so
+ +//Besitzer
+ aus. Beide Varianten unterscheiden sich also nur durch
+ das anfängliche + bzw.
+ -.
+
+ Sofern am Anfang ein - steht, ist
+ der Bezeichner nicht öffentlich registriert, steht
+ hingegen ein + am Anfang, ist er
+ registriert.
+
+
+
+
+
+ Im ISO-Standard ISO 9070:1991 wurde festgelegt, wie
+ registrierte Namen erzeugt werden können. Unter
+ anderem können sie von den Bezeichnungen von
+ ISO-Publikationen, von ISBN-Nummern oder einer
+ Organisationsbezeichnungen entsprechend ISO 6523
+ abgeleitet werden. Anträge für neue offiziell
+ registrierte Bezeichner werden vom ISO-Kommitee an das
+ American National Standards Institute (ANSI)
+ weitergeleitet.
+
+
+
+
+
+ Da das FreeBSD-Projekt seine Bezeichner nicht hat
+ registrieren lassen, ist der Besitzer
+ -//FreeBSD. Unter anderem kann man
+ daran auch sehen, daß das W3C sich nicht hat
+ registrieren lassen.
+
+
+
+
+
+ Schlüsselwort
+
+
+ Es gibt verschiedene Schlüsselwörter mit
+ denen man die Art der gegebenen Informationen beschreiben
+ kann. Einige der üblichsten sind
+ DTD, ELEMENT,
+ ENTITIES und TEXT.
+ DTD wird nur für Dateien mit
+ DTDs verwandt, ELEMENT findet
+ für Dateien mit Fragmenten von DTDs Verwendung, die
+ nur Deklarationen für Entitäten und Elemente
+ enthalten. TEXT wird für
+ SGML-Inhalte (Texte und Tags) verwendet.
+
+
+
+
+ Beschreibung
+
+
+ Eine frei wählbare Beschreibung des Inhalts der
+ referenzierten Datei. Möglich sind hier
+ Versionsnummern oder ein kurzer und sinnvoller Text, der
+ innerhalb der SGML-Welt eindeutig ist.
+
+
+
+
+
+ Sprache
+
+
+ Ein ISO-Code aus zwei Buchstaben, der die für
+ die Datei verwendete Sprache nennt.
+ EN steht hier für Englisch,
+ DE für Deutsch.
+
+
+
+
+
+ Die catalog-Dateien
+
+ Wenn man die oben beschriebene Syntax für
+ Bezeichner verwendet und ein Dokument durch einen
+ SGML-Prozessor schickt, muß dieser die
+ Möglichkeit haben, den Bezeichner auf eine real
+ existierende Datei abzubilden, die die benötigte DTD
+ enthält.
+
+ Einer der möglichen Wege hierfür sind
+ Katalogdateien. Eine solche Datei, die üblicherweise
+ catalog heißt, besteht aus
+ einzelnen Zeilen, die Bezeichner auf Dateinamen abbilden.
+ Enthält ein Katalog beispielsweise die Zeile
+
+ PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"
+
+ kann ein SGML-Prozessor darüber feststellen, daß die
+ benötigte DTD in der Datei strict.dtd
+ im Unterverzeichnis 4.0
+ des Verzeichnisses des Katalogs zu finden ist.
+
+ Ein gutes Beispiel für einen Katalog ist
+ /usr/local/share/sgml/html/catalog.
+ Diese Datei enthält den Katalog für alle HTML
+ DTDs, die im Zuge der Installation von textproc/docproj installiert
+ wurden.
+
+
+
+
+ Die Variable SGML_CATALOG_FILES
+
+ Natürlich muß einem SGML-Prozessor noch
+ mitgeteilt werden können, wo er seine Kataloge finden
+ kann. Viele Programme bieten hierfür
+ Kommandozeilenoptionen an, über die man einen oder
+ mehrere Kataloge angeben kann.
+
+ Zusätzlich besteht noch die Möglichkeit mit
+ der Umgebungsvariablen SGML_CATALOG_FILES auf
+ SGML-Kataloge zu verweisen. Die Einträge von
+ SGML_CATALOG_FILES müssen aus den
+ vollständigen Pfadnamen der Kataloge, jeweils durch
+ Komma getrennt, bestehen.
+
+
+
+ Üblicherweise werden die folgenden Kataloge über
+ SGML_CATALOG_FILES für
+ die Arbeit an den Dokumenten des FDPs eingebunden:
+
+
+
+ /usr/local/share/sgml/docbook/4.1/catalog
+
+
+
+ /usr/local/share/sgml/html/catalog
+
+
+
+ /usr/local/share/sgml/iso8879/catalog
+
+
+
+ /usr/local/share/sgml/jade/catalog
+
+
+
+ Allerdings sollte das
+ schon geschehen
+ sein.
+
+
+
+
+
+ Alternativen zu Formalen Öffentlichen Bezeichnern
+
+ Anstatt mit einem Bezeichner die zum Dokument
+ gehörende DTD zu referenzieren, kann auch explizit auf
+ die Datei der DTD verwiesen werden.
+
+ Die Syntax des DOCTYPE-Deklaration ist in diesem Falle
+ anders:
+
+
+ ]]>
+
+ Das Schlüsselwort SYSTEM legt
+ fest, daß ein SGML-Prozessor die DTD auf
+ systemspezifische Art und Weise bestimmen soll.
+ Meistens, aber nicht immer, wird so auf eine Datei im
+ Dateisystem verwiesen.
+
+ Allerdings sollte man öffentliche Bezeichner aus
+ Gründen der Portabilität bevorzugen, da man so
+ nicht eine Kopie der DTD mit dem Dokument selber verteilen
+ muß, beziehungsweise da man, wenn man mit
+ SYSTEM arbeitet, nicht davon ausgehen kann,
+ daß die benötigte DTD auf anderen Systemen genau
+ unter dem gleichen Pfad verfügbar ist.
+
+
+
+
+
+ Die Rückkehr zu SGML
+
+ An einer früheren Stelle wurde erwähnt, daß
+ man SGML nur benötigt, falls man selbst eine DTD entwickeln
+ möchte. Genaugenommen ist das nicht 100%ig richtig. Einige
+ Teile der SGML-Syntax können auch in normalen Dokumenten
+ verwendet werden, falls dies gewünscht oder notwendig
+ ist.
+
+ In diesem Falle muß dafür Sorge getragen werden,
+ daß ein SGML-Prozessor feststellen kann, daß ein
+ bestimmter Abschnitt des Inhalts SGML ist, das er verarbeiteten
+ muß.
+
+ Solche SGML-Abschnitte werden mittels
+ <! ... > in Dokumenten
+ besonders gekennzeichnet. Alles, was sich zwischen diesen
+ Begrenzungen befindet, ist SGML, wie es auch in DTDs gefunden
+ werden kann.
+
+ Demnach ist die DOCTYPE-Deklaration
+ ein gutes Beispiel für SGML, das in Dokumenten verwendet
+ werden muß…
+
+
+
+
+ Kommentare
+
+ Kommentare sind SGML-Konstrukte, die normalerweise nur
+ in DTDs gültig sind. Dennoch ist es, wie in
+ gezeigt,
+ möglich Fragmente mit SGML-Syntax in Dokumenten zu
+ verwenden.
+
+ Zum Abgrenzen von SGML-Kommentaren wird ein doppelter
+ Bindestrich -- verwendet. Mit
+ seinem ersten Auftreten öffnet er einen Kommentar, mit
+ seinem zweiten schließt er ihn wieder.
+
+
+ Beispiele für Kommentare in SGML
+
+ <!-- Testkommentar -->
+
+
+
+
+
+
+
+]]>
+
+
+
+
+ Es sind zwei Bindestriche
+
+ Es gibt ein Problem mit den PostScript- oder
+ PDF-Versionen dieses Dokuments. Das obige Beispiel
+ zeigt vielleicht nur einen Bindestrich (-)
+ hinter <! und vor
+ >.
+
+ Es müssen zwei Bindestriche
+ und nicht nur einer benutzt werden.
+ Die PostScript- und PDF-Versionen haben vielleicht
+ beide Bindestriche zu einem längeren Strich, dem
+ em-dash, zusammengefaßt.
+
+ Die HTML-, nur-Text und RTF-Versionen dieses Dokuments
+ sind nicht von diesem Problem betroffen.
+
+ ]]>
+
+ Hat man früher schon Erfahrungen mit HTML gesammelt,
+ wird man vielleicht andere Regeln für den Gebrauch von
+ Kommentaren kennengelernt haben. Beispielsweise wird oft
+ angenommen, daß Kommentare mit <!--
+ begonnen und nur mit --> beendet
+ werden.
+
+ Dies ist nicht der Fall. Viele
+ Webbrowser haben fehlerhafte HTML-Parser, die dies akzeptieren.
+ Die SGML-Parser, die vom FDP verwendet werden, halten sich
+ strenger an die SGML-Spezifikation und verwerfen Dokumente mit
+ solchen Fehlern.
+
+
+ Fehlerhafte SGML-Kommentare
+
+ ]]>
+
+ SGML-Parser würden die mittlere Zeile wie folgt
+ interpretieren:
+
+
+ <!DIES IST NICHT TEIL EINES KOMMENTARS>
+
+ Da es sich hierbei nicht um gültiges SGML handelt, kann
+ diese Zeile zur verwirrenden Fehlermeldungen führen.
+
+ ]]>
+
+ Wie das Beispiel zeigt, sollten solche Kommentare
+ tunlichst vermieden werden.
+
+
+
+ ]]>
+
+ Ein solcher Kommentar ist (ein wenig) besser, kann aber
+ jemanden, der mit SGML noch nicht so vertraut ist,
+ verwirren.
+
+
+
+
+ Fingerübungen…
+
+
+
+ Zur Übung können Sie einige Kommentare in
+ die Datei beispiel.sgml einfügen
+ und überprüfen, ob die Datei nun noch erfolgreich
+ von &man.nsgmls.1; validiert werden kann.
+
+
+
+ Zu Testzwecken sollten Sie
+ auch noch ein paar fehlerhafte Kommentare hinzufügen
+ und sich die resultierenden Fehlermeldungen von
+ &man.nsgmls.1; ansehen.
+
+
+
+
+
+
+ Entitäten
+
+ Entitäten stellen einen Mechanismus dar, mit dem
+ einzelnen Dokumententeilen ein Name zugewiesen werden kann.
+ Findet ein SGML-Parser während des Parsens eine
+ Entität, ersetzt er diese durch den ihr zugewiesenen
+ Inhalt.
+
+ Dadurch steht eine einfache Möglichkeit zur
+ Verfügung, mit der variabler Inhalt in SGML-Dokumenten
+ eingebunden werden kann. Zusätzlich sind Entitäten der
+ einzige Weg, über den eine Datei in eine andere Datei mit
+ SGML-Mitteln eingebunden werden kann.
+
+ Es werden zwei Arten von Entitäten unterschieden:
+ Allgemeine Entitäten und
+ Parameterentitäten.
+
+
+ Allgemeine Entitäten
+
+ Allgemeine Entitäten können nur in
+ Dokumenten benutzt werden. Sie können zwar im
+ SGML-Kontext definiert aber dort nicht benutzt
+ werden. Vergleichen Sie dies mit
+ Im Parameterentitäten.
+
+ Jede allgemeine Entität hat einen Namen, über
+ den sie angesprochen werden kann, um den von ihr
+ referenzierten Inhalt in ein Dokument einzubinden. Dafür
+ muß an der betreffenden Stelle der Namen der
+ Entität per
+ &entitaetenname;
+ einfügt werden. Eine Entität
+ current.version könnte beispielsweise
+ durch die aktuelle Versionsnummer eines Programms ersetzt
+ werden. Man könnte also schreiben:
+
+
+
+
+
+ Die aktuelle Version des
+ Programms ist ¤t.version;.]]>
+
+ Wenn sich die Versionsnummer ändert, muß
+ nur die Entität angepaßt und anschließend
+ das Dokument neu erzeugt werden.
+
+ Eine weitere Einsatzmöglichkeit für Allgemeine
+ Entitäten ist das Einbinden von Zeichen, die auf andere
+ Weise nicht in ein SGML-Dokument eingefügt werden
+ könnten. Ein Beispiel für solche Zeichen sind
+ < und &, die normalerweise nicht direkt in
+ SGML-Dokumenten erlaubt sind. Stößt ein SGML-Parser
+ bei seiner Arbeit auf das Symbol <, nimmt er an, daß
+ der Anfang eines Start- oder Endtags gefunden wurde. Bei einem
+ & wird er annehmen, den Anfang einer Entität gefunden
+ zu haben.
+
+ Wenn eines der beiden Zeichen benötigt wird, werden
+ die allgemeinen Entitäten < und &
+ verwendet.
+
+ Allgemeine Entitäten können nur in einem
+ SGML-Kontext definiert werden. Üblich ist es, dies direkt
+ nach der DOCTYPE-Deklaration zu tun:
+
+
+ Allgemeine Entitäten festlegen
+
+
+
+]>]]>
+
+ Wichtig ist an dieser Stelle, daß die
+ DOCTYPE-Deklaration durch eine eckige Klammer am Ende der
+ ersten Zeile erweitert wurde. Die beiden Entitäten
+ selber werden in den folgenden zwei Zeilen definiert, bevor
+ in der letzten Zeile die eckige Klammer und die
+ DOCTYPE-Deklaration wieder geschlossen werden.
+
+
+
+ Die eckigen Klammern sind notwendig um festzulegen, daß
+ man die über DOCTYPE genannte DTD erweitern möchte.
+
+
+
+
+
+ Parameterentitäten
+
+ Genau wie Allgemeine
+ Entitäten werden Parameterentitäten
+ eingesetzt um wiederverwendbare Inhaltsteile mit Namen zu
+ versehen. Im Gegensatz zu Allgemeinen Entitäten
+ können sie aber nur innerhalb eines SGML-Kontextes
+ genutzt werden.
+
+ Die Definition von Parameterentitäten erfolgt
+ ähnlich zu der Allgemeiner Entitäten. Sie werden
+ lediglich mit
+ %entitaetenname;
+ anstelle von
+ &entitaetenname;
+ referenziert
+ Es wird das Prozentzeichen anstelle des
+ kaufmännischen Unds verwendet.
+ . Wichtig ist, daß das
+ %-Zeichen zwischen
+ ENTITY und dem Entitätennamen ein Teil
+ der Definition ist.
+
+
+ Parameterentitäten festlegen
+
+
+
+
+
+
+]>]]>
+
+
+
+
+
+
+
+ Fingerübungen…
+
+
+
+ Fügen Sie in beispiel.sgml
+ eine Allgemeine Entität ein.
+
+
+]>
+
+
+
+ Eine HTML-Beispieldatei
+
+
+
+
Das ist ein Absatz mit etwas Text.
+
+
Das ist ein Absatz mit anderem Text.
+
+
Dieser Absatz wird rechtsbündig
+ ausgerichtet.
+
+
Die aktuelle Version ist: &version;
+
+]]>
+
+
+
+ Validieren Sie diese Datei mit &man.nsgmls.1;
+
+
+
+ Öffnen Sie nun beispiel.sgml
+ mit Ihrem Webbrowser. Es kann notwendig sein, daß
+ Sie die Datei vorher in beispiel.html
+ umbenennen müssen, damit die Datei auch als
+ HTML-Dokument erkannt wird.
+
+ Nur wenn Sie einen sehr modernen Browser haben, werden
+ Sie sehen können, daß
+ &version; durch die Versionsnummer
+ ersetzt wurde. Leider haben die meisten Webbrowser
+ sehr einfache SGML-Parser, die nicht richtig mit SGML
+ umgehen können
+ Eigentlich ist das eine Schande. Man stelle sich
+ vor, welche Probleme und Hacks, wie beispielsweise
+ Server Side Includes, man an dieser Stelle hätte
+ vermeiden können.
+ .
+
+
+
+ Die Lösung hierfür ist, das Dokument zu
+ normalisieren. Zu diesem Zweck liest
+ ein Normer
+ das Dokument ein und gibt anschließend semantisch
+ gleichwertiges SGML wieder aus, daß auf verschiedene
+ Arten transformiert worden sein kann. Eine dieser
+ möglichen Transformationen ist das Ersetzen der
+ Referenzen auf Entitäten mit dem von ihnen
+ präsentierten Inhalt.
+
+ Versuchen Sie die Beispieldatei mittels &man.sgmlnorm.1;
+ zu normalisieren:
+
+
+
+ &prompt.user; sgmlnorm beispiel.sgml > beispiel.html
+
+ Anschließend sollten Sie eine normalisierte
+ Version, daß heißt eine, bei der die
+ Entitäten gegen ihren Inhalt ersetzt wurden, in der
+ Datei beispiel.html finden. Diese
+ Datei können Sie sich nun mit Ihrem Browser
+ ansehen.
+
+
+
+
+ Wenn Sie sich die Ausgaben von &man.sgmlnorm.1; ansehen,
+ werden Sie feststellen, daß die DOCTYPE-Deklaration am
+ Anfang der Datei nicht mehr enthalten ist. Möchten Sie
+ die Deklaration behalten, muß &man.sgmlnorm.1; mit der Option
+ aufrufen werden:
+
+ &prompt.user; sgmlnorm -d beispiel.sgml > beispiel.html
+
+
+
+
+
+
+ Dateien mit Entitäten einbinden
+
+
+
+ Sowohl Allgemeine als
+ auch Parameterentitäten
+ sind nützliche Helfer, wenn es darum geht, eine Datei in
+ eine andere einzubinden.
+
+
+ Dateien mit Allgemeinen Entitäten einbinden
+
+ Angenommen man hat ein Buch geschrieben, dessen Inhalt
+ auf mehrere Dateien aufgeteilt und mittels SGML
+ ausgezeichnet. Jedes Kapitel wurde dazu in einer eigenen Datei
+ (kapitel1.sgml,
+ kapitel2.sgml usw.) abgelegt und
+ über eine Datei buch.sgml sollen
+ alle physischen Dateien wieder mit der Hilfe von
+ Entitäten zu einem logischen Dokument
+ zusammengeführt werden.
+
+ Damit der Inhalt der Dateien mit Entitäten
+ eingebunden werden kann, muß die Deklaration der
+ Entitäten das Schlüsselwort
+ SYSTEM enthalten. SGML-Parser werden so
+ angewiesen, den Inhalt der referenzierten Datei als Wert
+ für die jeweilige Entität zu nehmen.
+
+
+ Dateien mit Allgemeinen Entitäten einbinden
+
+
+
+
+
+]>
+
+
+
+
+ &kapitel.1;
+ &kapitel.2;
+ &kapitel.3;
+]]>
+
+
+
+ Wenn man Allgemeine Entitäten benutzt, um andere
+ Dateien einzubinden, dürfen diese Dateien
+ (kapitel1.sgml,
+ kapitel2.sgml, ...)
+ keine eigene DOCTYPE-Deklaration
+ haben.
+
+
+
+
+ Dateien mit Parameterentitäten einbinden
+
+ Wie bereits festgestellt, können
+ Parameterentitäten nur innerhalb eines SGML-Kontexts
+ genutzt werden. Warum möchte man aber Dateien innerhalb
+ eines SGML-Kontexts einbinden? Der Vorteil liegt in der
+ Möglichkeit, die Deklaration von Entitäten in eine
+ andere Datei auslagern zu können, wodurch diese leichter
+ wiederverwendbar sind.
+
+ Angenommen das Buch aus dem vorherigen Kapitel besteht aus
+ sehr vielen Kapiteln und diese sollen auch in einem anderen
+ Buch, aber in einer anderen Reihenfolge, verwendet werden.
+ Eine Möglichkeit wäre es, die dafür notwendigen
+ Entitäten am Anfang jedes Buches einzeln festzulegen
+ – was allerdings mit der Zeit unhandlich und
+ fehlerträchtig wird.
+
+ Alternativ bietet sich dazu an, die Deklarationen in eine
+ separate Datei auszulagern und deren Inhalt anschließend
+ in beide Bücher über Parameterentitäten
+ einzubinden.
+
+
+ Dateien mit Parameterentitäten einbinden
+
+ Zuerst werden die Entitäten in einer separaten
+ Datei namens kapitel.ent deklariert.
+ kapitel.ent enthält für
+ dieses Beispiel die folgenden Zeilen:
+
+
+
+]]>
+
+ Im zweiten Schritt fügt man in beide Bücher
+ eine Parameterentität ein, die den Inhalt von
+ kapitel.ent referenziert, und lädt
+ über diese dann die Deklarationen. Anschließend
+ können die so geladenen Entitäten wie gewohnt
+ genutzt werden.
+
+
+
+
+
+
+%kapitel;
+]>
+
+
+ &kapitel.1;
+ &kapitel.2;
+ &kapitel.3;
+]]>
+
+
+
+
+ Fingerübungen…
+
+
+ Binden Sie Dateien über Allgemeine Entitäten ein
+
+
+
+ Legen Sie drei Dateien (absatz1.sgml,
+ absatz2.sgml und absatz3.sgml)
+ mit jeweils einer Zeile wie
+
+
+
+
+
+ Erster Absatz.]]>
+ an.
+
+
+
+ Ändern Sie beispiel.sgml so ab, daß sie wie folgt
+ aussieht:
+
+
+
+
+
+]>
+
+
+
+ Eine HTML-Beispieldatei
+
+
+
+
Die aktuelle Version dieses Dokuments ist &version;
+
+ &absatz1;
+ &absatz2;
+ &absatz3;
+
+]]>
+
+
+
+ Erzeugen Sie nun die Datei
+ beispiel.html, indem Sie
+ beispiel.sgml normalisieren:
+
+ &prompt.user; sgmlnorm -d beispiel.sgml > beispiel.html
+
+
+
+ Öffnen Sie beispiel.html
+ nun mit einem Webbrowser und vergewissern Sie sich,
+ daß der Inhalt der Dateien
+ absatzN.sgml
+ in beispiel.html übernommen
+ wurde.
+
+
+
+
+
+ Binden Sie Dateien mit Parameterentitäten ein
+
+
+ Hierfür müssen Sie die vorherige Fingerübung gemacht haben.
+
+
+
+
+ Ändern Sie beispiel.sgml so ab, daß es wie
+ folgt aussieht:
+
+ %entitaeten;
+]>
+
+
+
+ Eine HTML-Beispieldatei
+
+
+
+
Die aktuelle Version dieses Dokuments ist &version;
+
+ &absatz1;
+ &absatz2;
+ &absatz3;
+
+]]>
+
+
+
+ Legen Sie eine weitere Datei entitaeten.sgml an,
+ die folgenden Inhalt hat:
+
+
+
+
+]]>
+
+
+
+ Erzeugen Sie die Datei
+ beispiel.html, indem Sie
+ beispiel.sgml normalisieren:
+
+ &prompt.user; sgmlnorm -d beispiel.sgml > beispiel.html
+
+
+
+ Öffnen Sie beispiel.html
+ nun mit einem Webbrowser und vergewissern Sie sich,
+ daß der Inhalt der Dateien
+ absatzN.sgml
+ in beispiel.html übernommen
+ wurde.
+
+
+
+
+
+
+
+ Markierte Bereiche
+
+ SGML erlaubt es, daß bestimmte Dokumentabschnitte
+ während der Verarbeitung besonders behandelt werden sollen.
+ Diese Abschnitte werden als markierte Bereiche
+ auf Englisch marked
+ sections
+
+ bezeichnet.
+
+
+ Aufbau eines markierten Bereiches
+
+ <![ SCHLÜSSELWORT [
+ Inhalt des markierten Bereiches
+]]>
+
+
+ Da es sich bei markierten Bereichen um SGML-Konstrukte
+ handelt, werden sie mit <! eingeleitet.
+ Der eigentliche Anfang des markierten Bereiches wird von der
+ folgenden eckigen Klammer bestimmt. Das darauf folgende
+ SCHLÜSSELWORT legt fest, wie der
+ markierte Inhalt durch einen SGML-Prozessor
+ während der Verarbeitung behandelt werden soll. Der
+ markierte Inhalt selbst beginnt erst nach der
+ zweiten eckigen Klammer und erstreckt sich bis zu den zwei
+ schließenden eckigen Klammern am Ende des Bereiches. Mit
+ Hilfe des > Zeichens wird der mit
+ <! begonnene SGML-Kontext wieder
+ verlassen.
+
+
+ Schlüsselworte für markierte Bereiche
+
+
+ CDATA und RCDATA
+
+ Die Schlüsselworte CDATA und
+ RCDATA bestimmen das
+ Inhaltsmodell für markierte
+ Bereiche. Dadurch ist es möglich, vom Standardmodell
+ abzuweichen.
+
+ Ein SGML-Prozessor muß während der
+ Verarbeitung eines Dokuments zu jedem Zeitpunkt wissen,
+ welches Inhaltsmodell gerade anzuwenden
+ ist.
+
+ Was ist ein Inhaltsmodell? Kurz gesagt beschreibt das
+ Inhaltsmodell, welche Art von Inhalt der Parser zu erwarten
+ und wie er damit umzugehen hat.
+
+ Bei CDATA und
+ RCDATA handelt es sich wahrscheinlich um
+ die nützlichsten Inhaltsmodelle.
+ CDATA steht für
+ Zeichendaten
+ auf Englisch character
+ data. Trifft ein
+ Parser auf dieses Inhaltsmodell, wird er annehmen, daß
+ sich im zugehörigen Dokumentenbereich nur
+ gewöhnliche Zeichen befinden. Das
+ bedeutet, daß < und & ihre besondere Bedeutung
+ verlieren und als einfache Zeichen behandelt werden.
+
+ RCDATA steht für
+ Entitätenreferenzen und Zeichendatenauf
+ Englisch
+ Entity references and character
+ data. Für einen
+ Bereich mit diesem Inhaltsmodell, wird ein Parser davon
+ ausgehen, daß er sowohl Zeichen als auch
+ Enitätenreferenzen finden kann. < verliert hier zwar
+ auch seine besondere Bedeutung, doch & wird weiterhin
+ als Anfang einer Entität interpretiert.
+
+ Nützlich ist das CDATA-Modell
+ vor allem dann, wenn es darum geht Texte eins-zu-eins zu
+ übernehmen, in denen < und & gehäuft
+ auftreten. Zwar kann man solche Texte überarbeiten und
+ jedes < durch ein < und jedes & durch ein
+ & ersetzen, doch es wird in den meisten Fällen
+ einfacher sein, für den betreffenden Text
+ CDATA als Inhaltsmodell festzulegen. Ein
+ SGML-Parser wird dann, sobald er auf < und & trifft,
+ diese als Zeichen in einem Text betrachten.
+
+
+ Bei der Verwendung von CDATA und
+ RCDATA als Inhaltsmodell für
+ SGML-Beispiele, wie sie in diesem Dokument enthalten sind,
+ muß bedacht werden, daß der Inhalt eines
+ CDATA-Bereiches nicht validiert wird.
+ Daß das SGML in diesen Bereichen gültig ist,
+ muß auf andere Weise sichergestellt werden. Denkbar ist
+ beispielsweise, es in einem separaten Dokument zu
+ erstellen, dort zu prüfen und erst dann in das
+ eigentliche Dokument einzufügen.
+
+
+
+
+ CDATA als Inhaltsmodell für markierte Bereiche
+
+ <para>Das ist ein Beispiel, wie man einen Text,
+ der viele < und & Entitäten enthält, in ein
+ Dokument einbinden kann.
+ Das Beispiel selbst, das sich innerhalb des markierten Bereiches befindet,
+ ist ein HTML-Fragment. Der diesen Text umschließende Tag, beginnend mit
+ mit para und endend mit /para, stammt aus der DocBook DTD.</para>
+
+<programlisting>
+ <![ RCDATA [ Dieses Beispiel demonstriert die Verwendung von HTML-Elementen.
+ Da spitze Klammern so oft vorkommen, ist es einfacher, das
+ gesamte Beispiel als CDATA Abschnitt auszuweisen, als die
+ entsprechenden Entitäten zu nutzen.
+
+
+
Das ist ein Listenelement.
+
Das ist ein zweites Listenelement.
+
Das ist ein drittes Listenelement.
+
+
+
Und das hier, das ist das Ende des Beispiels.
]]>
+ ]]>
+</programlisting>
+
+ Liest man die Quellen dieser Fibel, wird man
+ feststellen, daß diese Technik durchgängig
+ angewandt wurde.
+
+
+
+
+
+ INCLUDE und
+ IGNORE
+
+ Das Schlüsselwort INCLUDE legt
+ fest, daß der Inhalt des betreffenden Abschnittes
+ mitverarbeitet wird. Demgegenüber bestimmt
+ IGNORE, daß er ignoriert wird,
+ daß heißt, daß er bei der Verarbeitung
+ übergangen wird und in der Ausgabe nicht enthalten
+ ist.
+
+
+ Anwendung von INCLUDE und
+ IGNORE in markierten
+ Abschnitten
+
+ <![ INCLUDE [
+ Dieser Text wird verarbeitet und eingebunden.
+]]>
+
+<![ IGNORE [
+ Dieser Text wird weder verarbeitet noch eingebunden.
+]]>
+
+
+ Für sich alleine ist IGNORE als
+ Anweisung nicht besonders nützlich, da ein Bereich, der
+ von der Verarbeitung ausgenommen sein soll, auch
+ auskommentiert werden kann.
+
+ Kombiniert man IGNORE hingegen mit
+ Parameterentitäten,
+ steht so ein Weg zur Verfügung, um dessen Anwendung
+ besser steuern zu können. Zwar können
+ Parameterentitäten nur in einem SGML-Kontext einsetzt
+ werden, da aber markierte Bereiche ebenfalls SGML-Konstrukte
+ sind, ist diese Einschränkung irrelevant.
+
+ Soll beispielsweise ein und dasselbe Dokument in zwei
+ unterschiedlichen Varianten produziert werden, einer
+ gedruckten und einer digitalen, und soll nur die digitale
+ zusätzliche Informationen enthalten, kann dies mit
+ einem Trick erreicht werden.
+
+ Man definiert eine Parameterentität, der man als
+ Wert die Zeichenkette INCLUDE zuweist und
+ deklariert den betreffenden Bereich, der nur in der
+ digitalen Variante erscheinen soll, als markierten Abschnitt
+ und setzt als Schlüsselwort die zuvor definierte
+ Parameterentität ein.
+
+ Soll anstelle der digitalen die gedruckte Variante
+ produziert werden, muß lediglich der Entität
+ IGNORE als Wert zugewiesen und das
+ Ursprungsdokument erneut durch den SGML-Prozessor geschickt
+ werden.
+
+
+ Kontrolle von markierten Bereichen über
+ Parameterentitäten
+
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [
+<!ENTITY % digitale.kopie "INCLUDE">
+]]>
+
+...
+
+<![ %digitale.kopie [
+ Dieser Satz sollte nur in der digitalen Version enthalten sein.
+]]>
+
+ Bei der Produktion der gedruckten Variante muß
+ der Wert der Entität geändert werden.
+
+ <!ENTITY % digitale.kopie "IGNORE">
+
+ Bei der Verarbeitung wird als Schlüsselwort in
+ beiden Fällen der von
+ %digitale.kopie repräsentierte
+ Wert verwendet. Im ersten Fall wird der Inhalt des
+ markierten Bereichs mitverarbeitet, im zweiten Fall
+ nicht.
+
+
+
+
+
+
+ Fingerübung…
+
+
+
+ Legen Sie eine neue Datei
+ abschnitt.sgml an, die folgenden
+ Inhalt hat:
+
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [
+<!ENTITY % text.ausgabe "INCLUDE">
+]>
+
+<html>
+ <head>
+ <title>Ein Beispiel mit markierten Abschnitten</title>
+ </head>
+
+ <body>
+ <p>Dieser Absatz <![ CDATA [beinhaltet viele <
+ Zeichen (< < < < <). Weshalb es einfacher ist,
+ ihn als CDATA Bereich auszuweisen. ]></p>
+
+ <![ IGNORE [
+ <p>Dieser Absatz wird NICHT in der Ausgabe enthalten sein.</p>
+ ]]>
+
+ <![ [
+ <p>Dieser Absatz wird in Abhängigkeit von %text.ausgabe
+ mitausgegeben.</p>
+ ]]>
+ </body>
+</html>
+
+
+
+ Normalisieren Sie den Inhalt dieser Datei mit Hilfe
+ von &man.sgmlnorm.1; und sehen Sie sich das Ergebnis an.
+ Achten Sie dabei darauf, welche Absätze enthalten beziehungsweise
+ nicht enthalten sind und was aus den
+ CDATA-Bereichen geworden ist.
+
+
+
+ Ändern Sie die Definition von
+ text.ausgabe so, daß es den
+ Wert IGNORE zugewiesen bekommt.
+ Verarbeiten Sie dann die Datei erneut mit &man.sgmlnorm.1;
+ und vergleichen die Ausgabe mit der vom ersten
+ &man.sgmlnorm.1; Lauf.
+
+
+
+
+
+
+
+ Schlußbemerkung
+
+ Aus Platzgründen, und um der Verständlichkeit
+ Willen, wurden viele Gesichtspunkte nicht in aller Tiefe
+ beziehungsweise gar nicht besprochen. Trotzdem sollte in den
+ bisherigen Kapiteln genügend Wissen über SGML
+ vermittelt worden sein, um den Aufbau der Dokumentation des FDPs
+ zu verstehen.
+
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/structure/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/structure/chapter.sgml
new file mode 100644
index 0000000000..ec525e1778
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/structure/chapter.sgml
@@ -0,0 +1,54 @@
+
+
+
+ # Verzeichnisstruktur unter doc/
+
+ Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
+ bitte
+ das Original in englischer Sprache.
+
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/stylesheets/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/stylesheets/chapter.sgml
new file mode 100644
index 0000000000..3c9972dcf5
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/stylesheets/chapter.sgml
@@ -0,0 +1,53 @@
+
+
+
+ #* Die Stylesheets
+
+ Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
+ bitte
+ das Original in englischer Sprache.
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/the-website/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/the-website/chapter.sgml
new file mode 100644
index 0000000000..9a79f241ba
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/the-website/chapter.sgml
@@ -0,0 +1,53 @@
+
+
+
+ # Die Webseite
+
+ Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
+ bitte
+ das Original in englischer Sprache.
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/tools/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/tools/chapter.sgml
new file mode 100644
index 0000000000..e24b0c108f
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/tools/chapter.sgml
@@ -0,0 +1,363 @@
+
+
+
+ Die Werkzeuge
+
+ Innerhalb des FDPs werden verschiedene Programme für die
+ Verwaltung der FreeBSD-Dokumentation, ihrer Transformation in
+ verschiede Formate und weitere Aufgaben eingesetzt. Wer an der
+ FreeBSD-Dokumentation mitarbeiten möchte, wird diese
+ Programme benötigen.
+
+ Doch dies ist kein Grund zur Angst, da alle notwendigen
+ Programme als FreeBSD-Ports und fertige Pakete vorhanden sind,
+ wodurch sich die Installation drastisch vereinfacht.
+
+ Allerdings müssen diese Programme installiert werden,
+ bevor alle Beispiele der folgenden Kapitel ausprobiert werden
+ können.
+
+
+
+ Wenn es möglich ist, sollte der Port
+ textproc/docproj
+ verwendet werden
+
+
+ Durch die Installation des Ports textproc/docproj kann die
+ Installation vereinfacht und eine Menge Zeit gespart werden. Bei
+ diesem Port handelt es sich um einen
+ Metaport, der selbst keine Programme oder
+ ähnliches installiert. Stattdessen enthält er eine
+ Vielzahl von Abhängigkeiten zu anderen Ports und setzt
+ deren korrekte Installation voraus. Durch seine Installation
+ sollten automatisch alle Pakete, die in
+ diesem Kapitel genannt werden, auf den Rechner geladen und dort
+ installiert werden.
+
+ Ein nur unter bestimmten Umständen benötigter Port
+ ist das JadeTeX-Makro-Paket, das seinerseits eine
+ TeX-Installation voraussetzt. TeX ist ein ziemlich großes
+ Programmpaket und sollte nur installiert werden, sofern
+ Zieldokumente im PostScript- oder PDF-Format generiert werden
+ sollen.
+
+ Um den Platz und die Zeit für die Installation von
+ JadeTeX und TeX zu sparen, muß bei der Installation
+ angeben werden, ob JadeTeX (und damit auch Tex) installiert
+ werden soll oder nicht.
+
+ Daher sollte der docproj-Port entweder mit
+
+ &prompt.root; make JADETEX=yes install
+
+ oder mit
+
+ &prompt.root; make JADETEX=no install
+
+ installiert werden, je nachdem was gewünscht wird.
+ Bedacht werden sollte, daß wenn der Port mit mit
+ JADETEX=no installiert wird, nur die
+ Formate HTML und ASCII erzeugen können. Für
+ PostScript und PDF wird TeX benötigt.
+
+
+
+ Notwendige Werkzeuge
+
+
+ Software
+
+ Die folgenden Programme sind notwendig, bevor man sinnvoll
+ an der FreeBSD-Dokumentation arbeiten und diese in andere
+ Formate wie HTML, reinen Text und RTF umwandeln kann.
+
+
+
+
+
+
+
+
+ SP
+ (textproc/sp)
+
+
+ Eine Gruppe von Anwendungen, einschließlich
+ eines validierenden SGML-Parsers und eines
+ SGML-Normers.
+
+
+
+
+ Jade (textproc/jade)
+
+
+ Eine DSSSL-Implementierung. Sie wird gebraucht, um
+ Dokumente in andere Formate wie HTML und TeX zu
+ übersetzen.
+
+
+
+
+ Tidy
+ (www/tidy)
+
+
+ Ein Formatierer, mit dem man Teile der automatisch
+ generierten HTML-Dateien neuformatieren kann, um ihre
+ Lesbarkeit zu erhöhen.
+
+
+
+
+
+
+ Links (www/links)
+
+
+ Ein Textbrowser, der HTML-Dateien in einfache Textdateien
+ umwandeln kann.
+
+
+
+
+ peps
+ (graphics/peps)
+
+
+ Einige der Dokumente enthalten Grafiken, die nur im
+ EPS-Format vorliegen. Damit diese von dem meisten
+ Webbrowsern angezeigt werden können, müssen
+ sie nach PNG konvertiert werden.
+
+
+
+
+
+
+ Die DTDs und die Entitäten
+
+ Das FDP benutzt verschiedene DTDs und
+ Entitätensätze, die installiert sein müssen,
+ bevor mit der Arbeit an einem beliebigen Dokument begonnen
+ werden kann.
+
+
+
+ HTML DTD (textproc/html)
+
+
+ HTML ist die bevorzugte
+ Auszeichnungssprache des World Wide Web und wird
+ durchgängig für die FreeBSD-Webseite
+ genutzt.
+
+
+
+
+ DocBook DTD (textproc/docbook)
+
+
+ DocBook ist als Auszeichnungssprache für
+ technische Dokumentationen entwickelt worden. Die
+ gesamte FreeBSD-Dokumentation wird mittels DocBook
+ erstellt.
+
+
+
+
+ ISO 8879-Entitäten
+ (textproc/iso8879)
+
+
+ 19 der ISO 8879:1986-Zeichensätze, die von
+ vielen DTDs benötigt werden. Darin enthalten sind
+ mathematische Symbole, zusätzliche Zeichen, die
+ für auf dem lateinischen beruhende Alphabete
+ benötigt werden und griechische Zeichen.
+
+
+
+
+
+
+
+
+ Die Stilvorlagen
+
+ Die Stilvorlagen werden während der Transformation und
+ der Formatierung von Dokumenten, beispielsweise für die
+ Bildschirmdarstellung oder den Druck, benutzt.
+
+
+
+ Modular DocBook Stylesheets (textproc/dsssl-docbook-modular)
+
+
+ Die Modular DocBook Stylesheets werden
+ benötigt, wenn mittels DocBook erstellte Dokumente
+ in Formate wie HTML oder RTF konvertiert werden
+ sollen.
+
+
+
+
+
+
+
+ Optionale Werkzeuge
+
+ Die in diesem Kapitel genannten Programme müssen nicht
+ unbedingt installiert werden. Allerdings können sie die
+ Arbeit an der Dokumentation erleichtern und die Anzahl an
+ möglichen Ausgabeformaten erhöhen.
+
+
+ Software
+
+
+
+ JadeTeX und
+ teTeX (print/jadetex und print/teTeX)
+
+
+ Jade und
+ teTeX werden eingesetzt, um
+ DocBook-Dokumente nach DVI, Postscript und PDF zu
+ konvertieren. Hierfür müssen die
+ JadeTeX Makros installiert
+ sein.
+
+ Ist es nicht geplant, die Dokumente in einem dieser
+ Formate zu erzeugen, wenn also HTML, Text und RTF
+ ausreichend sind, brauchen
+ JadeTeX und
+ teTeX nicht installiert zu
+ werden. Da die Installation von
+ teTeX insgesamt 30 MB
+ benötigt, kann so Zeit und Plattenplatz gespart
+ werden.
+
+
+
+ Wird sich für die Installation von
+ JadeTeX und
+ teTeX entschieden,
+ muß teTeX
+ anschließend noch eingerichtet werden. Die Datei
+ print/jadetex/pkg-message
+ enthält detailierte Angaben zu den dafür
+ notwendigen Schritten.
+
+
+
+
+
+
+ Emacs oder
+ XEmacs (editors/emacs oder editors/xemacs)
+
+
+ Beide Texteditoren haben einen speziellen Modus zur
+ Bearbeitung von SGML-Dokumenten entsprechend den
+ Vorgaben einer SGML-DTD. Zusätzlich bieten sie
+ Funktionen an, mit denen sich der Tippaufwand reduzieren
+ und Fehlerwahrscheinlichkeit senken
+ läßt.
+
+
+
+ Natürlich muß nicht mit einem dieser
+ Texteditoren gearbeitet werden; jeder andere Editor kann
+ dafür genausogut genutzt werden, doch vielleicht
+ wird die Arbeit durch sie als effektiver empfunden
+ werden.
+
+
+
+
+
+
+
+
+ Sofern Sie Vorschläge haben, welche andere
+ Software für die Verarbeitung oder Bearbeitung von
+ SGML-Dokumenten in diese Liste mitaufgenommen werden sollte,
+ senden Sie diese bitte an &a.nik;.
+
+
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/translations/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/translations/chapter.sgml
new file mode 100644
index 0000000000..8770d2792b
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/translations/chapter.sgml
@@ -0,0 +1,53 @@
+
+
+
+ # Übersetzungen in andere Sprachen
+
+ Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
+ bitte
+ das Original in englischer Sprache.
+
+
+
+
diff --git a/de_DE.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml b/de_DE.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml
new file mode 100644
index 0000000000..16e3c3fedc
--- /dev/null
+++ b/de_DE.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml
@@ -0,0 +1,54 @@
+
+
+
+ # Der Schreibstil
+
+ Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie
+ bitte
+ das Original in englischer Sprache.
+
+
+
+
+