diff options
author | Martin Heinen <mheinen@FreeBSD.org> | 2003-12-23 01:04:36 +0000 |
---|---|---|
committer | Martin Heinen <mheinen@FreeBSD.org> | 2003-12-23 01:04:36 +0000 |
commit | 6f1c49b780fd9fc90e2b3625c0bba64e5b06a5c5 (patch) | |
tree | 1b19bbbe5907f5e25225a8cff37aa4f04565944b /de_DE.ISO8859-1 | |
parent | 43245fda9212ace3a16c26a5e34e16058d1e6693 (diff) |
Notes
Diffstat (limited to 'de_DE.ISO8859-1')
17 files changed, 3899 insertions, 0 deletions
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 @@ +<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved. + + 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: + + 1. 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. + + 2. 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. + + $FreeBSD$ + $FreeBSDde$ + basiert auf: 1.20 +--> + +<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ + +<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN"> +%authors; + +<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//DE"> +%translators; + +<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//DE"> +%mailing-lists; + +<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> +%man; + +<!ENTITY % chapters SYSTEM "chapters.ent"> +%chapters; + +<!ENTITY % not.published "INCLUDE"> +<!-- ENTITY index SYSTEM "index.sgml" --> +]> + +<book lang="de"> + <bookinfo> + <title>Die Fibel für neue Mitarbeiter des + FreeBSD-Dokumentationsprojekts</title> + + <author> + <firstname>Nik</firstname> + <surname>Clayton</surname> + <affiliation> + <address><email>nik@FreeBSD.org</email></address> + </affiliation> + </author> + + <copyright> + <year>1998</year> + <year>1999</year> + <year>2000</year> + <year>2001</year> + <year>2002</year> + <year>2003</year> + <holder role="mailto:nik@FreeBSD.org">Nik Clayton</holder> + </copyright> + + <pubdate role="rcs">$FreeBSD$</pubdate> + + <releaseinfo>$FreeBSD$</releaseinfo> + + <legalnotice> + <para>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:</para> + + <orderedlist> + <listitem> + <para>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.</para> + </listitem> + + <listitem> + <para>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.</para> + </listitem> + </orderedlist> + + <important> + <para>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.</para> + </important> + </legalnotice> + + <abstract> + <para>Vielen Dank für Ihr Interesse und Ihre Mitarbeit an + der FreeBSD-Dokumentation. Jeder Beitrag ist für uns sehr + wichtig.</para> + + <para>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.</para> + + <para>Bitte beachten Sie, daß diese Fibel + <emphasis>ständig</emphasis> unter Bearbeitung und noch + nicht vollständig ist. Die noch nicht abgeschlossenen + Kapitel sind mit einem <literal>*</literal> vor der + Kapitelüberschrift gekennzeichnet.</para> + + <!--? Entfernen, wenn UEbersetzung abgeschlossen. Oliver Fischer --> + <para>Die noch nicht übersetzten Kapitel sind zusätzlich mit + einen <literal>#</literal> gekennzeichnet.</para> + </abstract> + </bookinfo> + + <preface id="preface"> + <title>Benutzungshinweise</title> + + <sect1 id="preface-prompts"> + <title>Die Eingabeaufforderungen</title> + + <para>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.</para> + + <informaltable frame="none"> + <tgroup cols="2"> + <thead> + <row> + <entry>Benutzer</entry> + <entry>Eingabeaufforderung</entry> + </row> + </thead> + + <tbody> + <row> + <entry><username>Normaler Benutzer</username></entry> + <entry>&prompt.user;</entry> + </row> + + <row> + <entry><username>Superuser</username></entry> + <entry>&prompt.root;</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect1> + + <sect1 id="preface-conventions"> + <title>Typographische Festlegungen</title> + + <para>Um die Lesbarkeit zu erhöhen, werden in diesem + Dokument die im folgenden genannten typographischen + Festlegungen verwendet:</para> + + <informaltable frame="none"> + <tgroup cols="2"> + <thead> + <row> + <entry>Bedeutung</entry> + <entry>Beispiel</entry> + </row> + </thead> + + <tbody> + <row> + <entry>Kommandonamen, Dateien, Verzeichnisse sowie + Bildschirmausgaben.</entry> + <entry><para>Bearbeiten Sie die Datei + <filename>.login</filename></para><para>Führen + Sie <command>ls -a</command> aus, um sich alle + Dateien anzeigen zulassen.</para><para><screen>Sie haben Post.</screen></para></entry> + </row> + + <row> + <entry>Eingaben und die dazugehörige + Computerausgabe.</entry> + <entry><screen>&prompt.user; <userinput>su</userinput> +Paßwort:</screen></entry> + </row> + + <row> + <entry>Referenzen auf Hilfeseiten.</entry> + + <entry>Mit <citerefentry> + <refentrytitle>su</refentrytitle> + <manvolnum>1</manvolnum> + </citerefentry> können Sie sich als anderer + Benutzer anmelden.</entry> + </row> + + <row> + <entry>Benutzer- und Gruppennamen.</entry> + + <entry>Ich bin <username>root</username>, ich darf + das.</entry> + </row> + + <row> + <entry>Hervorhebungen</entry> + + <entry>Hier <emphasis>müssen</emphasis> Sie + vorsichtig sein.</entry> + </row> + + <row> + <entry>Argumente auf der Kommandozeile, die durch + existierende Namen, Dateien oder Variablen ersetzt + werden müssen.</entry> + + <entry>Dateien können Sie mit dem Befehl + <command>rm + <filename><replaceable>Dateiname</replaceable></filename></command> + löschen.</entry> + </row> + + <row> + <entry>Umgebungsvariablen</entry> + + <entry><envar>$HOME</envar> ist Ihr + Benutzerverzeichnis.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect1> + + <sect1 id="preface-notes"> + <title>Anmerkungen, Tips, wichtige Hinweise, Warnungen und + Beispiel</title> + + <para>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.</para> + + + <note> + <para>Anmerkungen werden so dargestellt. Sie enthalten + Informationen die Sie nur zu lesen brauchen, wenn Sie direkt + davon betroffen sind.</para> + </note> + + <tip> + <para>Tipps sind Informationen, die vielleicht hilfreich sein + könnten oder aufzeigen, wie bestimmte Dinge einfacher + zu bewerkstelligen sind.</para> + </tip> + + <important> + <para>Besonders wichtige Punkte werden so hervorgehoben. Meist + enthalten sie Hinweise auf vielleicht zusätzlich auszuführende + Schritte oder Dinge, die besonders zu beachten sind.</para> + </important> + + <warning> + <para>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.</para> + </warning> + + <example> + <title>Ein Beispiel</title> + + <para>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.</para> + </example> + </sect1> + + <sect1 id="preface-acknowledgements"> + <title>Danksagungen</title> + + <para>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.</para> + </sect1> + </preface> + + &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; + +<!-- + &index; +--> +</book> + +<!-- + Local Variables: + mode: sgml + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + End: +--> 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 @@ +<!-- $FreeBSD$ --> +<!DOCTYPE chapter PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN"> 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 @@ +<!-- + Creates entities for each chapter in the Documentation Project Primer. + Each entity is named chap.foo, where foo is the value of the id + attribute on that chapter, and corresponds to the name of the + directory in which that chapter's .sgml file is stored. + + Chapters should be listed in the order in which they are referenced. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/chapters.ent,v 1.1 2003/10/27 23:06:27 mheinen Exp $ + basiert auf: 1.6 +--> + +<!ENTITY chap.overview SYSTEM "overview/chapter.sgml"> +<!ENTITY chap.sgml-primer SYSTEM "sgml-primer/chapter.sgml"> +<!ENTITY chap.tools SYSTEM "tools/chapter.sgml"> +<!ENTITY chap.sgml-markup SYSTEM "sgml-markup/chapter.sgml"> +<!ENTITY chap.stylesheets SYSTEM "stylesheets/chapter.sgml"> +<!ENTITY chap.structure SYSTEM "structure/chapter.sgml"> +<!ENTITY chap.the-website SYSTEM "the-website/chapter.sgml"> +<!ENTITY chap.translations SYSTEM "translations/chapter.sgml"> +<!ENTITY chap.writing-style SYSTEM "writing-style/chapter.sgml"> +<!ENTITY chap.psgml-mode SYSTEM "psgml-mode/chapter.sgml"> +<!ENTITY chap.see-also SYSTEM "see-also/chapter.sgml"> +<!ENTITY chap.doc-build SYSTEM "doc-build/chapter.sgml"> + +<!ENTITY app.examples SYSTEM "examples/appendix.sgml"> 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 @@ +<!-- Copyright (c) 1999 Neil Blakey-Milner, All rights reserved. + + 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: + + 1. 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. + + 2. 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 THE AUTHOR "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. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/doc-build/chapter.sgml,v 1.2 2003/11/25 23:13:22 mheinen Exp $ +--> + +<chapter id="doc-build"> + <title># Die Erzeugung der Zieldokumente</title> + + <para>Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie + bitte <ulink + url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/doc-build.html"> + das Original in englischer Sprache</ulink>.</para> + +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> + 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 @@ +<!-- Copyright (c) 2000 Nik Clayton, All rights reserved. + + 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: + + 1. 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. + + 2. 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. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/examples/appendix.sgml,v 1.3 2003/12/02 00:22:45 mheinen Exp $ + +--> + +<appendix id="examples"> + <title># Beispiele</title> + + <para>Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie + bitte <ulink + url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/examples.html"> + das Original in englischer Sprache</ulink>.</para> + +</appendix> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../appendix.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "appendix") + End: +--> 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 @@ +<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved. + + 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: + + 1. 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. + + 2. 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. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/overview/chapter.sgml,v 1.7 2003/12/05 00:03:08 mheinen Exp $ + basiert auf: 1.19 + +--> + +<chapter id="overview"> + <title>Überblick</title> + + <para>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.</para> + + <para>Es ist das Anliegen dieser Fibel, den Leser mit dem FDP + vertraut zu machen und zu erklären, <emphasis>wie das FDP + organisiert ist</emphasis>, <emphasis>wie man selber Dokumente + erstellt und an das FDP einreicht</emphasis> und <emphasis>wie + die verfügbaren Werkzeuge effektiv beim Schreiben + eingesetzt werden können</emphasis>.</para> + + <para>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.</para> + + <para>Nach dem Lesen der FDP-Fibel sollte man wissen:</para> + + <itemizedlist> + <listitem> + <para>welche Dokumente durch das FDP betreut werden,</para> + </listitem> + + <listitem> + <para>wie man SGML-Dokumente liest und den SGML-Quellcode der + durch das FDP betreuten Dokumente versteht,</para> + </listitem> + + <listitem> + <para>wie man selbst Änderungen an Dokumenten vornehmen + kann und</para> + </listitem> + + <listitem> + <para>wie man Änderungen zur Begutachtung durch das FDP + einreichen kann.</para> + </listitem> + </itemizedlist> + + <sect1 id="overview-doc"> + <title>Die FreeBSD-Dokumentationsreihe</title> + + <para>Das FDP umfaßt vier verschiedene Kategorien:</para> + + <variablelist> + <varlistentry> + <term>Hilfeseiten</term> + + <listitem> + <para>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.</para> + + <para>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.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Die FAQ</term> + + <listitem> + <para>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.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Das Handbuch</term> + + <listitem> + <para>Das Ziel des Handbuches ist es, die + umfassende Quelle und Referenz im Netz für + FreeBSD-Benutzer zu sein.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Die Webseite</term> + + <listitem> + <para>Die Webseite <ulink + url="../../../../index.html">http://www.FreeBSD.org</ulink> + 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.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>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 <application>CVSup</application> + oder <application>CTM</application> eine lokale Kopie der + Dokumentation anlegen kann.</para> + + <para>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.</para> + </sect1> + + <sect1 id="overview-before"> + <title>Bevor es losgeht</title> + + <para>Zum Verständnis der folgenden Kapitel sollte folgendes + bereits bekannt sein:</para> + + <itemizedlist> + <listitem> + <para>Wie eine aktuelle Kopie der FreeBSD-Dokumentation + entweder auf Basis des FreeBSD-CVS-Archivs mittels + <application>CVS</application>, + <application>CTM</application> oder + <application>CVSup</application> angelegt und gepflegt wird, + oder wie mit <application>CVSup</application> eine frische + Kopie des CVS-Archivs heruntergeladen wird.</para> + </listitem> + + <listitem> + <para>Wie neue Programme mit Hilfe des + FreeBSD-Portsystems oder mittels &man.pkg.add.1; + heruntergeladen und installiert werden.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="overview-quick-start"> + <title>Der Schnellstart</title> + + <para>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:</para> + + <procedure> + <step> + <para>Zuerst muß der Metaport <filename + role="package">textproc/docproj</filename> auf dem + betreffenden Arbeitsrechner installiert werden.</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/textproc/docproj</userinput> +&prompt.root; <userinput>make JADETEX=no install</userinput></screen> + </step> + + <step> + <para>Anschließend sollte eine lokale Kopie des + FreeBSD-<filename>doc</filename>-Verzeichnisbaumes angelegt + werden. Hierfür kann man entweder auf + <application>CVSup</application> im + <literal>checkout</literal>-Modus zurückgreifen oder + mittels <application>cvs</application> eine komplette Kopie + des CVS-Archivs anlegen.</para> + + <para>Wenn man lieber mit einer Kopie des CVS-Archivs arbeiten + möchte, werden als Minimum die Verzeichnisse + <filename>doc/share</filename> und + <filename>doc/de_DE.ISO8859-1/share</filename> + benötigt.</para> + + <screen>&prompt.user; <userinput>cvs checkout doc/share</userinput> +&prompt.user; <userinput>cvs checkout doc/de_DE.ISO8859-1/share</userinput></screen> + + <para>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.</para> + + <screen>&prompt.user; <userinput>cvs checkout doc</userinput></screen> + </step> + + <step> + <para>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.</para> + + <para>Ein Artikel über die Konfiguration eines VPNs + zwischen FreeBSD und Windows 2000 kann wie + folgt erstellt werden:</para> + + <procedure> + <step> + <para>Zuerst wird das Verzeichnis + <filename>articles</filename> aus dem FreeBSD-CVS-Archiv + lokal angelegt:</para> + + <screen>&prompt.user; <userinput>cvs checkout doc/de_DE.ISO8859-1/articles</userinput></screen> + </step> + + <step> + <para>Anschließend kopiert man einen bereits + existierenden Artikel und nutzt ihn als Vorlage. In + diesem Beispiel soll der neue Artikel im Verzeichnis + <filename>vpn-w2k</filename> liegen:</para> + + <screen>&prompt.user; <userinput>cd doc/de_DE.ISO8859-1/articles</userinput> +&prompt.user; <userinput>cp -r committers-guide vpn-w2k</userinput></screen> + </step> + </procedure> + + <para>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 + <filename>doc/de_DE.ISO8859-1/books/faq</filename>:</para> + + <screen>&prompt.user; <userinput>cvs checkout doc/de_DE.ISO8859-1/books/faq</userinput></screen> + </step> + + <step> + <para>Jetzt können die <filename>.sgml</filename> Dateien + mit einem beliebigen Texteditor bearbeitet werden.</para> + </step> + + <step> + <!--? + Vielleicht besser als Befehl auf der Kommandozeile + darstellen? + Oliver Fischer + --> + <para>Danach ist <command>make</command> mit dem Ziel + <maketarget>lint</maketarget> aufzurufen, um das gesamte + Dokument auf Auszeichnungsfehler hin zu untersuchen, ohne + das zeitaufwendige Transformationen vorgenommen + werden.</para> + + <screen>&prompt.user; <userinput>make lint</userinput></screen> + + <!--? + Glossar sollte vorhanden sein. Darin dann erklären, + was mit Ziel- und Quelldokument gemeint ist. + Oliver Fischer + --> + + <para>Soll anschließend das Zieldokument erstellt + werden, kann mit Hilfe der Variable + <varname>FORMATS</varname> bestimmt werden, welche + Ausgabeformate erzeugt werden sollen. Unterstützt werden + momentan <literal>html</literal>, + <literal>html-split</literal>, <literal>txt</literal>, + <literal>ps</literal>, <literal>pdf</literal> und + <literal>rtf</literal>. Die aktuelle Liste der + unterstützten Formate befindet sich am Anfang der Datei + <filename>doc/share/mk/doc.docbook.mk</filename>. 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.</para> + + <para>Wenn das Dokument beispielsweise nach + <literal>HTML</literal> konvertiert werden soll, kann dies + so vorgenommen werden:</para> + + <screen>&prompt.user; <userinput>make FORMATS=html</userinput></screen> + + <para>Soll es hingegen in den Formaten <literal>html</literal> + und <literal>txt</literal> erzeugt werden, + kann man entweder + &man.make.1; zweimal hintereinander aufrufen:</para> + + <screen>&prompt.user; <userinput>make FORMATS=html</userinput> +&prompt.user; <userinput>make FORMATS=txt</userinput></screen> + + <para>oder beide Formate mit einem Aufruf von &man.make.1; + erzeugen:</para> + + <screen>&prompt.user; <userinput>make FORMATS="html txt"</userinput></screen> + </step> + + <step> + <para>Zum Schluß müssen die Änderungen an das + FDP mittels &man.send-pr.1; eingesandt werden.</para> + </step> + </procedure> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> + 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 @@ +<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved. + + 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: + + 1. 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. + + 2. 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. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/psgml-mode/chapter.sgml,v 1.5 2003/12/03 21:24:47 mheinen Exp $ + + basiert auf: 1.7 + + Anmerkungen: + Dieser Text wurde nach dem Lesen von "Technisches Schreiben + (nicht nur) fuer Informatiker" ueberarbeitet. + +--> + +<chapter id="psgml-mode"> + <title><literal>sgml-mode</literal> und + <application>Emacs</application></title> + + <para>Neuere <application>Emacs</application>- und + <application>XEmacs</application>-Versionen verfügen + über ein nützliches Lisp-Paket namens PSGML. PSGML ist + ein sogenannter <foreignphrase>Majormode</foreignphrase>, 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 + <filename>.sgml</filename> geladen oder der Befehl <command>M-X + sgml-mode</command> eingegeben wird.</para> + + <para>Die Arbeit an SGML-Dokumenten wie dem FreeBSD-Handbuch kann + sich wesentlich einfacher gestalten, wenn einige der Funktionen + von PSGML gekannt sind:</para> + + <variablelist> + <varlistentry> + <term><command>C-c C-e</command></term> + + <listitem> + <para>Ruft die Funktion <literal>sgml-insert-element</literal> + auf, die nach dem Namen des einzufügenden Elements + fragt. Ist dieser eingegeben worden und wurde die + <keycap>Eingabetaste</keycap> 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.</para> + + <!--? "man" muß weg! Oliver Fischer --> + <para>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 <keycap>Tab</keycap> alle <emphasis>an dieser + Stelle</emphasis> möglichen Elemente angezeigt + werden. Ebenso ermöglicht <keycap>Tab</keycap> die + Vervollständigung eines bereits eingegebenen + Elementnamens.</para> + + + </listitem> + </varlistentry> + + <varlistentry> + <term><command>C-c =</command></term> + + <listitem> + <para>Ruft die Funktion + <literal>sgml-change-element-name</literal> 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.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>C-c C-r</command></term> + + <listitem> + <para>Ruft die Funktion <literal>sgml-tag-region</literal> + 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.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>C-c -</command></term> + + <listitem> + <para>Ruft die Funktion <literal>sgml-untag-element</literal> + auf, die Start- und Endtag des Elements entfernt, innerhalb + dessen sich der Cursor befindet.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>C-c C-q</command></term> + + <listitem> + <para>Ruft die Funktion <literal>sgml-fill-element</literal> + auf. Diese Funktion formatiert<footnote> + <para>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.</para> + </footnote> den Inhalt des aktuellen Elements neu. Dieser + Vorgang betrifft auch Elemente wie + <sgmltag>programlisting</sgmltag>, in denen Leerzeichen und + ähnliches Teil der Formatierung sind. Aus diesem Grund + ist mit <literal>sgml-fill-element</literal> bedächtig + umzugehen.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>C-c C-a</command></term> + + <listitem> + <para>Ruft die Funktion + <literal>sgml-edit-attributes</literal> auf. Diese + öffnet einen zweiten Puffer mit allen Attributen des + Elements, innerhalb dessen sich der Cursor befindet. + Über <keycap>Tab</keycap> kann von einem Attribut zum + nächsten gewechselt werden. Ein existierender + Attributwert kann mit <command>C-k</command> gelöscht + werden. Die Tastenfolge <command>C-c C-c</command> + schließt den Puffer und setzt die Attribute des + Elements entsprechend den Puffervorgaben.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>C-c C-v</command></term> + + <listitem> + <para>Ruft die Funktion <literal>sgml-validate</literal> 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.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Zweifellos hat PSGML noch weitere nützliche Funktionen, doch + die hier genannten sind die, die der Autor dieser Fibel am meisten + benutzt.</para> + + <para>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 + <filename>.emacs</filename> vorgenommen werden:</para> + + <programlisting>(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)))</programlisting> + +</chapter> + + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> + 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 @@ +<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved. + + 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: + + 1. 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. + + 2. 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. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/see-also/chapter.sgml,v 1.6 2003/12/02 01:43:29 mheinen Exp $ + + basiert auf: 1.10 +--> + +<chapter id="see-also"> + <title>Weiterführende Quellen</title> + + <para>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.</para> + + <sect1 id="see-also-fdp"> + <title>Das FreeBSD-Dokumentationsprojekt</title> + + <itemizedlist> + <listitem> + <para><ulink url="../../../../docproj/index.html">Die + Webseiten des + FreeBSD-Dokumentationsprojektes</ulink></para> + </listitem> + + <listitem> + <para><ulink url="../handbook/index.html">Das + FreeBSD-Handbuch</ulink></para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="see-also-sgml"> + <title>SGML</title> + + <itemizedlist> + <listitem> + <para><ulink url="http://www.oasis-open.org/cover/">Die + SGML/XML-Webseite</ulink>, eine umfangreiche Quelle zu + SGML.</para> + </listitem> + + <listitem> + <para><ulink + url="http://etext.virginia.edu/bin/tei-tocs?div=DIV1&id=SG">Gentle + introduction to SGML</ulink></para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="see-also-html"> + <title>HTML</title> + + <itemizedlist> + <listitem> + <para><ulink url="http://www.w3.org/">Das + World-Wide-Web-Konsortium</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="http://www.edition-w3.de/TR/1999/REC-html401-19991224/">Die + HTML 4.0-Spezifikation</ulink></para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="see-also-docbook"> + <title>DocBook</title> + + <itemizedlist> + <listitem> + <para><ulink url="http://www.oasis-open.org/docbook/">The + DocBook Technical Committee</ulink>, die Betreuer der + DocBook-DTD.</para> + </listitem> + + <listitem> + <para><ulink url="http://www.docbook.org/">DocBook: The + Definitive Guide</ulink>, die Online-Dokumentation zur + DocBook-DTD.</para> + + </listitem> + + <listitem> + <para><ulink url="http://docbook.sourceforge.net/">The DocBook + Open Repository</ulink> bietet DSSSL-Stilvorlagen und + andere Ressourcen für DocBook-Benutzer an.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="see-also-linuxdoc"> + <title>Das Linux-Dokumentationsprojekt</title> + + <itemizedlist> + <listitem> + <para>Die Webseiten des <ulink + url="http://www.linuxdoc.org/">Linux-Dokumenationsprojektes</ulink>.</para> + </listitem> + </itemizedlist> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> + 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 @@ +<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved. + + 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: + + 1. 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. + + 2. 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. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/sgml-markup/chapter.sgml,v 1.2 2003/11/25 23:13:22 mheinen Exp $ +--> + +<chapter id="sgml-markup"> + <title># Auszeichnung mit SGML</title> + + <para>Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie + bitte <ulink + url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/sgml-markup.html"> + das Original in englischer Sprache</ulink>.</para> + +</chapter> + + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> + 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 @@ +<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved. + + 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: + + 1. 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. + + 2. 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. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/sgml-primer/chapter.sgml,v 1.9 2003/12/05 00:03:09 mheinen Exp $ + basiert auf: 1.36 +--> + +<!--? +o SGML-Kontext sollte besser mit Umgebung uebersetzt werden. + +Oliver Fischer + +--> + +<chapter id="sgml-primer"> + <title>Die SGML-Fibel</title> + + <para>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.</para> + + <para>Teile dieses Kapitels basieren auf Mark Galassis <quote><ulink + url="http://nis-www.lanl.gov/~rosalia/mydocs/docbook-intro/docbook-intro.html">Get + Going With DocBook</ulink></quote>.</para> + + <sect1 id="sgml-primer-overview"> + <title>Überblick</title> + + <para>In den guten alten Zeiten war der Umgang mit + <quote>elektronischem</quote> 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.</para> + + + <!--? Diesen Satz noch einmal Wort fuer Wort untersuchen!!! Oliver Fischer --> + <para>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 + <quote>schreibmaschinenähnlichen</quote> Schrift auf dem + Bildschirm dargestellt werden, der Ausdruck jedoch soll in + <quote>Schrägschrift</quote> oder einer von hundert anderen + möglichen Darstellungsformen erfolgen.</para> + + <!--<para>Inevitably, this was not enough. Once you have text in a + machine-usable format, you expect machines to be able to use it and + manipulate it intelligently. You would like to indicate that certain + phrases should be emphasised, or added to a glossary, or be hyperlinks. + You might want filenames to be shown in a <quote>typewriter</quote> style + font for viewing on screen, but as <quote>italics</quote> when printed, + or any of a myriad of other options for presentation.</para>--> + + <para>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.</para> + + <para>Genauer gesagt, man muß ihnen sagen, was was ist. Sehen + wir Menschen uns folgende Zeilen an: + + <blockquote> + <para>Löschen Sie <filename>/tmp/foo</filename> mittels &man.rm.1;.</para> + + <screen>&prompt.user; <userinput>rm /tmp/foo</userinput></screen> + </blockquote> + + 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 + <quote>auszuzeichnen</quote>.</para> + + <!-- Hier bin ich mir nicht sicher, ob die Übersetzung + sprachlich genau bzw. richtig ist. + Oliver Fischer --> + + <para>Der Begriff <quote>Auszeichnung<footnote> <para>Im + angelsächischschen Sprachraum wird von + <quote>markup</quote> + gesprochen.</para></footnote></quote> 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.</para> + + <!--<para><quote>Markup</quote> is commonly used to describe <quote>adding + value</quote> or <quote>increasing cost</quote>. The term takes on both + these meanings when applied to text. Markup is additional text included + in the document, distinguished from the document's content in some way, + so that programs that process the document can read the markup and use + it when making decisions about the document. Editors can hide the + markup from the user, so the user is not distracted by it.</para>--> + + + <para>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 + <emphasis>erhöht die Kosten</emphasis>, die durch die + Erstellung des Dokuments entstehen.</para> + + <para>Das etwas weiter oben gegebene Beispiel sieht im Quelltext + so aus:</para> + + <programlisting><![ RCDATA [ +<para>Löschen Sie <filename>/tmp/foo</filename> mittels &man.rm.1;.</para> + +<screen>&prompt.user; <userinput>rm /tmp/foo</userinput></screen>]]></programlisting> + + <para>Die Auszeichnungselemente sind deutlich vom eigentlichen + Inhalt zu unterscheiden.</para> + + <para>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.</para> + + <para>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 + <emphasis>Meta-Auszeichungssprache</emphasis> also.</para> + + <para>Genau diese Anforderung wird von der Standard Generalized + Markup Language (<abbrev>SGML</abbrev>) erfüllt. Mit ihrer + Hilfe wurden viele andere Auszeichungssprachen wie + beispielsweise HTML und DocBook, welche beide von FDP genutzt + werden, entwickelt.</para> + + <para>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.</para> + + <!-- Der letzte Satz dieses Absatzes muß noch übersetzt werden. + Ich habe keine gute Übersetzung dafür bis jetzt + gefunden. Oliver Fischer --> + + <!--<para>Each language definition is more properly called a Document Type + Definition (DTD). The DTD specifies the name of the elements that can + be used, what order they appear in (and whether some markup can be used + inside other markup) and related information. A DTD is sometimes + referred to as an <emphasis>application</emphasis> of SGML.</para>--> + + <para id="sgml-primer-validating">Eine DTD ist eine + <emphasis>vollständige</emphasis> Definition aller + möglichen Sprachelemente, ihrer + Reihenfolge<footnote><para>Bei natürlichen Sprachen spricht + man vom Satzbau – demjenigen Konstrukt, das unter + anderem die Position des Subjekts, Objekts und + Prädikats in einem Satz festlegt.</para></footnote>, + optionaler Elemente und so weiter und so weiter. Dank dieser + recht formalen Festlegung ist es möglich, + SGML-<emphasis>Parser</emphasis> 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 + <emphasis>Validierung des Dokuments</emphasis> + bezeichnet.</para> + + <note> + <para>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 <emphasis>nicht</emphasis> geprüft, ob + die Elemente der DTD <emphasis>sinngemäß</emphasis> + 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.</para> + </note> + + <para>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.</para> + </sect1> + + <sect1 id="sgml-primer-elements"> + <title>Von Elementen, Tags und Attributen</title> + + <!-- Bei der Übersetzung des ersten Satzes bin ich mir nicht + sicher, ob es einee bessere gibt. Oliver Fischer --> + + <para>Alle in SGML geschriebenen DTDs haben bestimmte gemeinsame + Eigenschaften. Das ist nicht verwunderlich, da sich die hinter + SGML stehende Idee unweigerlich bemerkbar macht. <!--? + Kandidat fuer ein Umformulierung. Oliver Fischer --> Zwei der + markantesten Merkmale dieser Idee sind die Begriffe + <emphasis>Inhalt</emphasis> und + <emphasis>Element</emphasis>.</para> + + <!--<para>All the DTDs written in SGML share certain characteristics. This is + hardly surprising, as the philosophy behind SGML will inevitably show + through. One of the most obvious manifestations of this philosophy is + that of <emphasis>content</emphasis> and + <emphasis>elements</emphasis>.</para>--> + + <!--? Vielleicht sollte man nicht von Elementen sondern von Teilen + sprechen. Oliver Fischer --> + + <!--? + Hier muß die endlose Rekursion noch besser zum Ausdruck kommen. + --> + <para>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.</para> + + <!--<para>Your documentation (whether it is a single web page, or a lengthy + book) is considered to consist of content. This content is then divided + (and further subdivided) into elements. The purpose of adding markup is + to name and identify the boundaries of these elements for further + processing.</para>--> + + <!--? Begriff Element erscheint hier ploetzlich. Sollte + besser eingefuehrt werden. Oliver Fischer --> + + <para>Nimmt man zum Beispiel ein typisches Buch, so kann man es + auf der obersten Ebene als ein Ganzes, als ein Element + betrachten. Dieses <quote>Buch</quote>-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.</para> + + <para>Wenn man möchte, kann man sich das als + <quote>Unterteilung</quote><footnote><para>Im + angelsächsichen Sprachraum wird hier von + <quote>chunking</quote> gesprochen.</para></footnote> 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.</para> + + <para>Anzumerken ist an dieser Stelle, daß das eben gesagte + ohne weiteres auf jeden Inhaltstyp angewandt werden kann, auch + ohne daß von <acronym>SGML</acronym> 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.</para> + + <para>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 + <emphasis>Tags</emphasis> eingesetzt.</para> + + <para>Mit einem solchen Tag wird eindeutig festgelegt, wo ein + bestimmtes Element beginnt und wo es endet. <emphasis>Allerdings + gehört der Tag selber nicht zum Element.</emphasis> 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.</para> + + <para>Der Starttag für ein imaginäres Element mit dem + Namen <replaceable>elementname</replaceable> ist + <literal><<replaceable>elementname</replaceable>></literal>. + Sein Gegenstück, der schließende Endtag, ist + <literal></<replaceable>elementname</replaceable>></literal>.</para> + + <example> + <title>Verwendung eines Elements (Start- und Endtag)</title> + + <para>HTML kennt das Element <literal>p</literal>, um + festzulegen, daß ein bestimmter abgegrenzter Bereich + einen Absatz darstellt. Dieses Element hat sowohl einen Start- + als auch einen Endtag.</para> + + <programlisting><![ RCDATA [<p>Das ist ein Absatz. Er beginnt mit Starttag + für das Element 'p' und endet mit dem Endtag für + das Element 'p'.</p> + +<p>Das ist ein etwas kürzerer Absatz.</p>]]></programlisting> + </example> + + <!--? + Klingt nicht so gut. Mit Orginal vergleichen. + Oliver Fischer + --> + <para>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.</para> + + <example> + <title>Verwendung eines Elements (nur Starttag)</title> + + <para>In HTML kann man mit dem Element <sgmltag>hr</sgmltag> + festlegen, daß an einer bestimmten Stelle eine + horizontale Linie angezeigt werden soll. Da dieses Element + keinen Inhalt umschließt, hat es nur einen + Starttag.</para> + + <programlisting><![ CDATA [<p>Das ist ein Abschnitt.</p> + +<hr> + +<p>Das ist ein weiterer Absatz. Eine horizontale Linie + trennt ihn vom vorherigen Absatz.</p>]]></programlisting> + </example> + + <para>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.</para> + + <example> + <title>Verschachtelte Elemente: <sgmltag>em</sgmltag></title> + + <programlisting><![ RCDATA [<p>Das ist ein einfacher <em>Abschnitt</em>, in dem + einige <em>Worte</em> <em>hervorgehoben</em> wurden.]]></programlisting> + </example> + + <para>Welche Elemente andere Elemente enthalten können und + welche das sind, wird innerhalb der DTD eines Dokuments + festgelegt.</para> + + <!-- + <para>The DTD will specify the rules detailing which elements can contain + other elements, and exactly what they can contain.</para> + --> + + <important> + <para>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.</para> + + <para>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.</para> + + <para>Wenn in diesem Dokument von dem <quote>Tag + <p></quote> gesprochen wird, ist damit der Text + gemeint, der aus den drei Zeichen <literal><</literal>, + <literal>p</literal> und <literal>></literal> besteht. Wird + hingegen von dem <quote>Element <p></quote> gesprochen, + ist damit das gesamte Element gemeint.</para> + + <para>Diese Unterscheidung ist sicherlich subtil. Trotzdem + sollte man sie sich vergegenwärtigen.</para> + </important> + + <para>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.</para> + + <para>Elementattribute werden in den <emphasis>Starttag</emphasis> + eingefügt und haben die Form + <literal><replaceable>Attributename</replaceable>="<replaceable>Wert</replaceable>"</literal>.</para> + + <para>Bei einigen HTML-Versionen kennt das Element + <sgmltag>p</sgmltag> das Attribut <literal>align</literal>, mit + dessen Hilfe die Textausrichtung eines Absatzes bestimmt werden + kann. <literal>align</literal> akzeptiert einen von vier + vorgegebenen Werten: <literal>left</literal>, + <literal>center</literal>, <literal>right</literal> und + <literal>justify</literal>. Ist <literal>align</literal> nicht + angegeben, wird vom Standardwert <literal>left</literal> + ausgegangen.</para> + + <example> + <title>Elemente mit Attributen nutzen</title> + + <programlisting><![ RCDATA [<p align="left">Die Verwendung des align-Attributs + für diesen Absatz ist überflüssig, da left + der Standardwert ist.</p> + +<p align="center">Dieser Absatz wird hoffentlich mittig dargestellt.</p>]]></programlisting> + </example> + + <!--? Optimierungskandidat. Oliver Fischer --> + <para>Einige Attribute akzeptieren nur bestimmte Werte, wie + beispielsweise <literal>left</literal> oder + <literal>justify</literal>. Andere akzeptieren jeden beliebigen + Wert. Enthält der Wert des Attributs Anführungszeichen + (<literal>"</literal>), sollte er in einfachen + Anführungszeichen angegeben werden.</para> + + <example> + <title>Attribute mit einfachen Anführungszeichen</title> + + <programlisting><![ CDATA [<p align='right'>Ich stehe rechts!</p>]]></programlisting> + </example> + + + <!--? Noch nich übersetzt. Oliver Fischer --> + <!--<para>Sometimes you do not need to use quotes around attribute values at + all. However, the rules for doing this are subtle, and it is far + simpler just to <emphasis>always</emphasis> quote your attribute + values.</para>--> + + <para>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 + <filename role="package">textproc/docproj</filename> 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.</para> + + <sect2> + <title>Was dafür getan werden muß…</title> + + <para>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.</para> + + <procedure> + <step> + <para>Der erste Schritt ist die Installation des Ports + <filename role="package">textproc/docproj</filename> + über das FreeBSD-Portsystem. <filename + role="package">textproc/docproj</filename> ist ein + <emphasis>Metaport</emphasis>, der alle vom FDP + benötigten Programme und Daten aus dem Netz laden und + installieren sollte.</para> + </step> + + <step> + <para>Anschließend muß in den Shellkonfigurationsdateien die + Variable <envar>SGML_CATALOG_FILES</envar> + <footnote><simpara>Sofern man nicht an der deutschen + Dokumentation arbeitet, müssen die + Verzeichnisangaben entsprechend anpaßt + werden.</simpara> + </footnote> gesetzt werden.</para> + + <example id="sgml-primer-envars"> + <title><filename>.profile</filename>, für &man.sh.1; und + &man.bash.1; Benutzer</title> + + <programlisting>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</programlisting> + </example> + <!--? + Hier muesste geprueft werden, ob sich die letzten beiden Zeilen + vertragen oder nicht. Gibt es Entitaeten, die in beiden + vorhanden sind, aber unterschiedliche Uebersetzungen haben? + + Oliver Fischer + --> + + <example> + <title><filename>.cshrc</filename>, für &man.csh.1;- und + &man.tcsh.1;-Benutzer</title> + + <programlisting>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</programlisting> + </example> + + <para>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.</para> + + </step> + </procedure> + + <procedure> + <step> + <para>Nun sollte man eine Datei + <filename>beispiel.sgml</filename> anlegen, die den + folgenden Text enthält:</para> + + <programlisting><![ RCDATA [<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> + +<html> + <head> + <title>Eine Beispieldatei in HTML</title> + </head> + + <body> + <p>Das ist ein Absatz mit etwas Text.</p> + + <p>Das ist ein Absatz mit anderem Text.</p> + + <p align="right">Dieser Absatz wird rechtsbündig + ausgerichtet.</p> + </body> +</html>]]></programlisting> + </step> + + <step> + <para>Nachdem die Datei abgespeichert wurde, kann sie + mit Hilfe eines SGML-Parsers validiert werden.</para> + + <para>Bestandteil von <filename role="package">textproc/docproj</filename> + ist &man.nsgmls.1; - ein <link + linkend="sgml-primer-validating">validierender Parser</link>. + &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.</para> + + <para>Wird &man.nsgmls.1; mit der Option <option>-s</option> + aufgerufen, werden nur Fehlermeldungen ausgegeben. Dadurch + kann leicht geprüft werden, ob ein Dokument gültig + ist oder nicht.</para> + + <para>So prüft man mit &man.nsgmls.1;, ob die neuangelegte + Beispieldatei gültig ist:</para> + + <screen>&prompt.user; <userinput>nsgmls -s beispiel.sgml</userinput></screen> + + <para>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.</para> + </step> + + <step> + <para>Jetzt sollten die Tags <sgmltag>title</sgmltag> und + <sgmltag>/title</sgmltag> aus dem Dokument gelöscht + und das Dokument erneut validiert werden:</para> + + <screen>&prompt.user; <userinput>nsgmls -s beispiel.sgml</userinput> +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</screen> + + <para>Die Fehlermeldungen die von &man.nsgmls.1; ausgegeben + werden, sind in durch Doppelpunkte getrennte Spalten + unterteilt.</para> + + <informaltable frame="none"> + <tgroup cols="2"> + <thead> + <row> + <entry>Spalte</entry> + <entry>Bedeutung</entry> + </row> + </thead> + + <tbody> + <row> + <entry>1</entry> + <entry>Der Name des Programms, das den Fehler + meldet. Hier wird immer <literal>nsgmls</literal> + stehen.</entry> + </row> + + <row> + <entry>2</entry> + <entry>Der Name der fehlerhaften Datei.</entry> + </row> + + <row> + <entry>3</entry> + <entry>Die Zeilennummer des Fehlers.</entry> + </row> + + <row> + <entry>4</entry> + <entry>Die Spaltenummer des Fehlers.</entry> + </row> + + <row> + <entry>5</entry> + <entry>Ein einbuchstabiger Code, der über die + Art des Fehlers informiert. <literal>I</literal> + steht für eine informelle Meldung, + <literal>W</literal> für eine Warnung und + <literal>E</literal> für Fehler<footnote> + <para>Nicht immer besteht eine Meldung aus + fünf Spalten. Die Ausgabe von + <command>nsgmls -sv</command> ist + beispielsweise <literal>nsgmls:I: SP version + "1.3"</literal> (natürlich + abhängig von der Version). Wie man sehen + kann, handelt es sich hier um eine informelle + Meldung.</para> + </footnote> und <literal>X</literal> für + einen Querverweis. Bei den oben stehenden Ausgaben + handelt es sich also um Fehlermeldungen.</entry> + </row> + + <row> + <entry>6</entry> + <entry>Die Fehlermeldung.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Durch das Weglassen des Tags <sgmltag>title</sgmltag> + sind zwei unterschiedliche Fehler entstanden.</para> + + <para>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 <sgmltag>head</sgmltag> + auftreten kann.</para> + + <para>Der zweite Fehler wurde dadurch verursacht, daß + das Element <sgmltag>head</sgmltag> ein + Element <sgmltag>title</sgmltag> enthalten + <emphasis>muß</emphasis> und &man.nsgmls.1; nicht + berücksichtigt, daß dieser Fehler auf dem + vorhergehenden beruht. Es wird lediglich festgestellt, + daß der Endtag von <sgmltag>head</sgmltag> auftritt, + obwohl nicht alle notwendigen Elemente vorhanden sind.</para> + </step> + + <step> + <para>Zum Schluß sollte der Tag + <literal>title</literal> wieder in die Beispieldatei + eingefügt werden.</para> + </step> + </procedure> + </sect2> + </sect1> + + <sect1 id="sgml-primer-doctype-declaration"> + <!--? Oliver Fischer: Man sollte mal feststellen, welche Bezeichung + von w3c.de oder so hier verwendet wird.--> + <title>Die DOCTYPE-Deklaration</title> + + <para>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.</para> + + <para>Üblicherweise steht diese Information in einer Zeile, + die als DOCTYPE-Deklaration bezeichnet wird.</para> + + + <para>Eine Deklaration für ein HTML-Dokument, das nach den + Vorgaben der DTD für HTML 4.0 geschrieben wurde, sieht so + aus:</para> + + <programlisting><![ CDATA [<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN">]]></programlisting> + + <para>und besteht aus verschiedenen Teilen.</para> + + <!--<para>That line contains a number of different components.</para>--> + + <!--? + Hier bin ich mir nicht sicher, ob ich genau übersetzt habe oder + das Orginal sprachlich ungenau ist. Man sollte hier mal + in den Standardspezikationen nachschlagen und gegebenenfalls + das Orginal korrigieren. + Oliver Fischer + --> + + <variablelist> + <varlistentry> + <term><literal><!</literal></term> + + <listitem> + <para>Die Zeichenkette <literal><!</literal> dient hier + als <emphasis>Indikator</emphasis>, daß es sich bei + diesem Ausdruck um eine SGML-Deklaration handelt und diese + Zeile den Dokumententyp festlegt.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>DOCTYPE</literal></term> + + <listitem> + <para>Zeigt an, daß dies die SGML-Deklaration für + den Dokumententyp ist.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>html</literal></term> + + <listitem> + <para>Nennt das erste <link + linkend="sgml-primer-elements">Element</link>, das im + Dokument auftaucht.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>PUBLIC "-//W3C//DTD HTML 4.0//EN"</literal></term> + + <listitem> + <para>Nennt den Formalen Öffentlichen Bezeichner + <footnote> + <simpara>auf Englisch <foreignphrase>Formal Public + Identifier (FPI) </foreignphrase></simpara> + </footnote> der DTD des Dokuments. Diese Information wird + von SGML-Parsern ausgewertet, um die von dem Dokument + referenzierte DTD zu bestimmen.</para> + + <para>Das Schlüsselwort <literal>PUBLIC</literal> + gehört nicht zum öffentlichen Bezeichner, + sondern legt fest, wie ein SGML-Parser die DTD finden + kann. Alternative Wege eine DTD zu referenzieren werden + <link linkend="sgml-primer-fpi-alternatives">später + gezeigt</link>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>></literal></term> + + <listitem> + <para>Schließt den mit <literal><!</literal> begonnenen + Ausdruck ab.</para> + </listitem> + </varlistentry> + </variablelist> + + <sect2> + <title>Formale Öffentliche Bezeichner</title> + + <!--? --> + <note> + <para>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.</para> + </note> + + <para>Jeder öffentliche Bezeichner muß eine bestimmte Syntax + haben, die wie folgt lautet:</para> + + <!-- Oliver Fischer: Ich habe hier Owner mit Besitzer uebersetzt. + Mein Gefühl sagt mir, dass dies nicht 100% richtig ist. + Vielleicht ist Aussteller bessert? --> + + <programlisting>"<replaceable>Besitzer</replaceable>//<replaceable>Schlüsselwort</replaceable> <replaceable>Beschreibung</replaceable>//<replaceable>Sprache</replaceable>"</programlisting> + + <variablelist> + <varlistentry> + <term><replaceable>Besitzer</replaceable></term> + + <listitem> + <para>Nennt den Besitzer des öffentlichen Bezeichners.</para> + + <para>Falls diese Zeichenkette mit <quote>ISO</quote> + beginnt, gehört der Bezeichner dem ISO-Kommitee. + Der Bezeichner <literal>"ISO 8879:1986//ENTITIES Greek + Symbols//EN"</literal> nennt <quote>ISO + 8879:1986</quote> als den Besitzer des Satzes von + Entitäten für griechische Zeichen. ISO + 8879:1986 ist die ISO-Bezeichnung für den + SGML-Standard.</para> + + + <!--? Die Formulierung gefällt mir nicht. Oliver Fischer --> + <para>Beginnt die Zeichenkette nicht mit + <quote>ISO</quote>, sieht sie entweder so + <literal>-//<replaceable>Besitzer</replaceable></literal> + oder so + <literal>+//<replaceable>Besitzer</replaceable></literal> + aus. Beide Varianten unterscheiden sich also nur durch + das anfängliche <literal>+</literal> bzw. + <literal>-</literal>.</para> + + <para>Sofern am Anfang ein <literal>-</literal> steht, ist + der Bezeichner nicht öffentlich registriert, steht + hingegen ein <literal>+</literal> am Anfang, ist er + registriert.</para> + + + <!--? Vielleicht besser: Wie Namen registeriert werden? + Oliver Fischer --> + <!--? Mit der Übersetzung des letzten Satzes bin ich mir + nicht sicher.... Das muß irgendwie besser ausgedrückt + werden.... --> + + <para>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.</para> + + + + <!--? + Eine Zeichenkette kann kein Besitzer sein. + Wie koennte man das besser ausdruecken? + --> + + <para>Da das FreeBSD-Projekt seine Bezeichner nicht hat + registrieren lassen, ist der Besitzer + <literal>-//FreeBSD</literal>. Unter anderem kann man + daran auch sehen, daß das W3C sich nicht hat + registrieren lassen.</para> + + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable>Schlüsselwort</replaceable></term> + + <listitem> + <para>Es gibt verschiedene Schlüsselwörter mit + denen man die Art der gegebenen Informationen beschreiben + kann. Einige der üblichsten sind + <literal>DTD</literal>, <literal>ELEMENT</literal>, + <literal>ENTITIES</literal> und <literal>TEXT</literal>. + <literal>DTD</literal> wird nur für Dateien mit + DTDs verwandt, <literal>ELEMENT</literal> findet + für Dateien mit Fragmenten von DTDs Verwendung, die + nur Deklarationen für Entitäten und Elemente + enthalten. <literal>TEXT</literal> wird für + SGML-Inhalte (Texte und Tags) verwendet.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable>Beschreibung</replaceable></term> + + <listitem> + <para>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.</para> + + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable>Sprache</replaceable></term> + + <listitem> + <para>Ein ISO-Code aus zwei Buchstaben, der die für + die Datei verwendete Sprache nennt. + <literal>EN</literal> steht hier für Englisch, + <literal>DE</literal> für Deutsch.</para> + </listitem> + </varlistentry> + </variablelist> + + <sect3> + <title>Die <filename>catalog</filename>-Dateien</title> + + <para>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.</para> + + <para>Einer der möglichen Wege hierfür sind + Katalogdateien. Eine solche Datei, die üblicherweise + <filename>catalog</filename> heißt, besteht aus + einzelnen Zeilen, die Bezeichner auf Dateinamen abbilden. + Enthält ein Katalog beispielsweise die Zeile</para> + + <programlisting>PUBLIC "-//W3C//DTD HTML 4.0//EN" "4.0/strict.dtd"</programlisting> + + <para>kann ein SGML-Prozessor darüber feststellen, daß die + benötigte DTD in der Datei <filename>strict.dtd</filename> + im Unterverzeichnis <filename role="directory">4.0</filename> + des Verzeichnisses des Katalogs zu finden ist.</para> + + <para>Ein gutes Beispiel für einen Katalog ist + <filename>/usr/local/share/sgml/html/catalog</filename>. + Diese Datei enthält den Katalog für alle HTML + DTDs, die im Zuge der Installation von <filename + role="package">textproc/docproj</filename> installiert + wurden.</para> + + </sect3> + + <sect3> + <title>Die Variable <envar>SGML_CATALOG_FILES</envar></title> + + <para>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.</para> + + <para>Zusätzlich besteht noch die Möglichkeit mit + der Umgebungsvariablen <envar>SGML_CATALOG_FILES</envar> auf + SGML-Kataloge zu verweisen. Die Einträge von + <envar>SGML_CATALOG_FILES</envar> müssen aus den + vollständigen Pfadnamen der Kataloge, jeweils durch + Komma getrennt, bestehen.</para> + + + <!--? Stimmt die Formulierung? Oliver Fischer --> + <para>Üblicherweise werden die folgenden Kataloge über + <envar>SGML_CATALOG_FILES</envar> für + die Arbeit an den Dokumenten des FDPs eingebunden:</para> + + <itemizedlist> + <listitem> + <para><filename>/usr/local/share/sgml/docbook/4.1/catalog</filename></para> + </listitem> + + <listitem> + <para><filename>/usr/local/share/sgml/html/catalog</filename></para> + </listitem> + + <listitem> + <para><filename>/usr/local/share/sgml/iso8879/catalog</filename></para> + </listitem> + + <listitem> + <para><filename>/usr/local/share/sgml/jade/catalog</filename></para> + </listitem> + </itemizedlist> + + <para>Allerdings sollte das + <link linkend="sgml-primer-envars">schon geschehen + sein</link>.</para> + + </sect3> + </sect2> + + <sect2 id="sgml-primer-fpi-alternatives"> + <title>Alternativen zu Formalen Öffentlichen Bezeichnern</title> + + <para>Anstatt mit einem Bezeichner die zum Dokument + gehörende DTD zu referenzieren, kann auch explizit auf + die Datei der DTD verwiesen werden.</para> + + <para>Die Syntax des DOCTYPE-Deklaration ist in diesem Falle + anders:</para> + <!--<para>The syntax for this is slightly different:</para>--> + + <programlisting><![ RCDATA [<!DOCTYPE html SYSTEM "/pfad/zur/dokumenten.dtd">]]></programlisting> + + <para>Das Schlüsselwort <literal>SYSTEM</literal> legt + fest, daß ein SGML-Prozessor die DTD auf + <quote>systemspezifische</quote> Art und Weise bestimmen soll. + Meistens, aber nicht immer, wird so auf eine Datei im + Dateisystem verwiesen.</para> + + <para>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 + <literal>SYSTEM</literal> arbeitet, nicht davon ausgehen kann, + daß die benötigte DTD auf anderen Systemen genau + unter dem gleichen Pfad verfügbar ist.</para> + + </sect2> + </sect1> + + <sect1 id="sgml-primer-sgml-escape"> + <title>Die Rückkehr zu SGML</title> + + <para>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.</para> + + <para>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ß.</para> + + <para>Solche SGML-Abschnitte werden mittels + <literal><! ... ></literal> in Dokumenten + besonders gekennzeichnet. Alles, was sich zwischen diesen + Begrenzungen befindet, ist SGML, wie es auch in DTDs gefunden + werden kann.</para> + + <para>Demnach ist die <link + linkend="sgml-primer-doctype-declaration">DOCTYPE-Deklaration</link> + ein gutes Beispiel für SGML, das in Dokumenten verwendet + werden muß…</para> + + </sect1> + + <sect1 id="sgml-primer-comments"> + <title>Kommentare</title> + + <para>Kommentare sind SGML-Konstrukte, die normalerweise nur + in DTDs gültig sind. Dennoch ist es, wie in + <xref linkend="sgml-primer-sgml-escape"> gezeigt, + möglich Fragmente mit SGML-Syntax in Dokumenten zu + verwenden.</para> + + <para>Zum Abgrenzen von SGML-Kommentaren wird ein doppelter + Bindestrich <quote><literal>--</literal></quote> verwendet. Mit + seinem ersten Auftreten öffnet er einen Kommentar, mit + seinem zweiten schließt er ihn wieder.</para> + + <example> + <title>Beispiele für Kommentare in SGML</title> + + <programlisting><!-- Testkommentar --></programlisting> + + <programlisting><![ RCDATA [ +<!-- Text innerhalb eines Kommentars --> + +<!-- Ein anderer Kommentar --> + +<!-- So können mehrzeilige Kommentare + genutzt werden --> + +<!-- Eine andere Möglichkeit für -- + -- mehrzeilige Kommentare. -->]]></programlisting> + </example> + + <!--? Noch zu uebersetzen. Oliver Fischer --> + <![ %output.print; [ + <important> + <title>Es sind zwei Bindestriche</title> + + <para>Es gibt ein Problem mit den PostScript- oder + PDF-Versionen dieses Dokuments. Das obige Beispiel + zeigt vielleicht nur einen Bindestrich (<literal>-</literal>) + hinter <literal><!</literal> und vor + <literal>></literal>.</para> + + <para>Es <emphasis>müssen</emphasis> zwei Bindestriche + und <emphasis>nicht</emphasis> nur einer benutzt werden. + Die PostScript- und PDF-Versionen haben vielleicht + beide Bindestriche zu einem längeren Strich, dem + <emphasis>em-dash</emphasis>, zusammengefaßt.</para> + + <para>Die HTML-, nur-Text und RTF-Versionen dieses Dokuments + sind nicht von diesem Problem betroffen.</para> + </important> + ]]> + + <para>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 <literal><!--</literal> + begonnen und nur mit <literal>--></literal> beendet + werden.</para> + + <para>Dies ist <emphasis>nicht</emphasis> 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.</para> + + <example> + <title>Fehlerhafte SGML-Kommentare</title> + + <programlisting><![ RCDATA [ +<!-- Innerhalb eines Kommentars -- + + DIES IST NICHT TEIL EINES KOMMENTARS + + -- Wieder innerhalb eines Kommentars -->]]></programlisting> + + <para>SGML-Parser würden die mittlere Zeile wie folgt + interpretieren:</para> + <!--<para>The SGML parser will treat this as though it were actually;</para>--> + + <programlisting><!DIES IST NICHT TEIL EINES KOMMENTARS></programlisting> + + <para>Da es sich hierbei nicht um gültiges SGML handelt, kann + diese Zeile zur verwirrenden Fehlermeldungen führen.</para> + + <programlisting><![ CDATA [<!--------------- Eine wirklich schlechte Idee --------------->]]></programlisting> + + <para>Wie das Beispiel zeigt, sollten solche Kommentare + tunlichst vermieden werden.</para> + + <!--<para>As the example suggests, <emphasis>do not</emphasis> write + comments like that.</para>--> + + <programlisting><![ RCDATA [<!--===================================================-->]]></programlisting> + + <para>Ein solcher Kommentar ist (ein wenig) besser, kann aber + jemanden, der mit SGML noch nicht so vertraut ist, + verwirren.</para> + + </example> + + <sect2> + <title>Fingerübungen…</title> + + <procedure> + <step> + <para>Zur Übung können Sie einige Kommentare in + die Datei <filename>beispiel.sgml</filename> einfügen + und überprüfen, ob die Datei nun noch erfolgreich + von &man.nsgmls.1; validiert werden kann.</para> + </step> + + <step> + <para>Zu Testzwecken sollten Sie + auch noch ein paar fehlerhafte Kommentare hinzufügen + und sich die resultierenden Fehlermeldungen von + &man.nsgmls.1; ansehen.</para> + </step> + </procedure> + </sect2> + </sect1> + + <sect1 id="sgml-primer-entities"> + <title>Entitäten</title> + + <para>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.</para> + + <para>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.</para> + + <para>Es werden zwei Arten von Entitäten unterschieden: + <emphasis>Allgemeine Entitäten</emphasis> und + <emphasis>Parameterentitäten</emphasis>.</para> + + <sect2 id="sgml-primer-general-entities"> + <title>Allgemeine Entitäten</title> + + <para>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 <link linkend="sgml-primer-parameter-entities">Parameterentitäten</link>.</para> + + <para>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 + <literal>&<replaceable>entitaetenname</replaceable>;</literal> + einfügt werden. Eine Entität + <literal>current.version</literal> könnte beispielsweise + durch die aktuelle Versionsnummer eines Programms ersetzt + werden. Man könnte also schreiben:</para> + + <!--? + Der vorhergehende Satz ist nicht 100% sinngemaeß uebersetzt. + Klingt zudem doof. + Oliver Fischer + --> + + <!--<para>Each general entity has a name. When you want to reference a + general entity (and therefore include whatever text it represents in + your document), you write + <literal>&<replaceable>entity-name</replaceable>;</literal>. For + example, suppose you had an entity called + <literal>current.version</literal> which expanded to the current + version number of your product. You could write;</para>--> + + <programlisting><![ CDATA [<para>Die aktuelle Version des + Programms ist ¤t.version;.</para>]]></programlisting> + + <para>Wenn sich die Versionsnummer ändert, muß + nur die Entität angepaßt und anschließend + das Dokument neu erzeugt werden.</para> + + <para>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.</para> + + <para>Wenn eines der beiden Zeichen benötigt wird, werden + die allgemeinen Entitäten &lt; und &amp; + verwendet.</para> + + <para>Allgemeine Entitäten können nur in einem + SGML-Kontext definiert werden. Üblich ist es, dies direkt + nach der DOCTYPE-Deklaration zu tun:</para> + + <example> + <title>Allgemeine Entitäten festlegen</title> + + <programlisting><![ CDATA [<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [ +<!ENTITY current.version "3.0-RELEASE"> +<!ENTITY last.version "2.2.7-RELEASE"> +]>]]></programlisting> + + <para>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.</para> + + <!--? + UEbersetzung mit dem Orginal vergleichen und nach einer + besseren UEbersetzung suchen. + --> + + <para>Die eckigen Klammern sind notwendig um festzulegen, daß + man die über DOCTYPE genannte DTD erweitern möchte.</para> + + </example> + </sect2> + + <sect2 id="sgml-primer-parameter-entities"> + <title>Parameterentitäten</title> + + <para>Genau wie <link + linkend="sgml-primer-general-entities">Allgemeine + Entitäten</link> werden Parameterentitäten + eingesetzt um wiederverwendbare Inhaltsteile mit Namen zu + versehen. Im Gegensatz zu Allgemeinen Entitäten + können sie aber nur innerhalb eines <link + linkend="sgml-primer-sgml-escape">SGML-Kontextes</link> + genutzt werden.</para> + + <para>Die Definition von Parameterentitäten erfolgt + ähnlich zu der Allgemeiner Entitäten. Sie werden + lediglich mit + <literal>%<replaceable>entitaetenname</replaceable>;</literal> + anstelle von + <literal>&<replaceable>entitaetenname</replaceable>;</literal> + referenziert<footnote> + <para>Es wird das Prozentzeichen anstelle des + kaufmännischen Unds verwendet.</para> + </footnote>. Wichtig ist, daß das + <literal>%</literal>-Zeichen zwischen + <literal>ENTITY</literal> und dem Entitätennamen ein Teil + der Definition ist.</para> + + <example> + <title>Parameterentitäten festlegen</title> + + <programlisting><![ CDATA [<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [ +<!ENTITY % param.etwas "etwas"> +<!ENTITY % param.text "Text"> +<!ENTITY % param.neu "%param.etwas mehr %param.text"> + +<!-- %param.neu ist jetzt "etwas mehr Text" --> +]>]]></programlisting> + </example> + + <!--? Noch nicht übersetzt. Oliver Fischer --> + <!--<para>This may not seem particularly useful. It will be.</para>--> + </sect2> + + <sect2> + <title>Fingerübungen…</title> + + <procedure> + <step> + <para>Fügen Sie in <filename>beispiel.sgml</filename> + eine Allgemeine Entität ein.</para> + + <programlisting><![ RCDATA [<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [ +<!ENTITY version "1.1"> +]> + +<html> + <head> + <title>Eine HTML-Beispieldatei</title> + </head> + + <body> + <p>Das ist ein Absatz mit etwas Text.</p> + + <p>Das ist ein Absatz mit anderem Text.</p> + + <p align="right">Dieser Absatz wird rechtsbündig + ausgerichtet.</p> + + <p>Die aktuelle Version ist: &version;</p> + </body> +</html>]]></programlisting> + </step> + + <step> + <para>Validieren Sie diese Datei mit &man.nsgmls.1;</para> + </step> + + <step> + <para>Öffnen Sie nun <filename>beispiel.sgml</filename> + mit Ihrem Webbrowser. Es kann notwendig sein, daß + Sie die Datei vorher in <filename>beispiel.html</filename> + umbenennen müssen, damit die Datei auch als + HTML-Dokument erkannt wird.</para> + + <para>Nur wenn Sie einen sehr modernen Browser haben, werden + Sie sehen können, daß + <literal>&version;</literal> durch die Versionsnummer + ersetzt wurde. Leider haben die meisten Webbrowser + sehr einfache SGML-Parser, die nicht richtig mit SGML + umgehen können<footnote> + <para>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.</para> + </footnote>.</para> + </step> + + <step> + <para>Die Lösung hierfür ist, das Dokument zu + <emphasis>normalisieren</emphasis>. Zu diesem Zweck liest + ein Normer <!--? Sehr freie Übersetzung. Oliver --> + 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.</para> + + <para>Versuchen Sie die Beispieldatei mittels &man.sgmlnorm.1; + zu normalisieren:</para> + + <!--<para>You can use &man.sgmlnorm.1; to do this.</para>--> + + <screen>&prompt.user; <userinput>sgmlnorm beispiel.sgml > beispiel.html</userinput></screen> + + <para>Anschließend sollten Sie eine normalisierte + Version, daß heißt eine, bei der die + Entitäten gegen ihren Inhalt ersetzt wurden, in der + Datei <filename>beispiel.html</filename> finden. Diese + Datei können Sie sich nun mit Ihrem Browser + ansehen.</para> + + </step> + + <step> + <para>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 + <option>-d</option> aufrufen werden:</para> + + <screen>&prompt.user; <userinput>sgmlnorm -d beispiel.sgml > beispiel.html</userinput></screen> + </step> + </procedure> + </sect2> + </sect1> + + <sect1 id="sgml-primer-include"> + <title>Dateien mit Entitäten einbinden</title> + + <!--? + Dieser kleine Absatz klingt ziemlich hölzern. + Oliver Fischer + --> + + <para>Sowohl <link + linkend="sgml-primer-general-entities">Allgemeine</link> als + auch <link + linkend="sgml-primer-parameter-entities">Parameterentitäten</link> + sind nützliche Helfer, wenn es darum geht, eine Datei in + eine andere einzubinden.</para> + + <sect2 id="sgml-primer-include-using-gen-entities"> + <title>Dateien mit Allgemeinen Entitäten einbinden</title> + + <para>Angenommen man hat ein Buch geschrieben, dessen Inhalt + auf mehrere Dateien aufgeteilt und mittels SGML + ausgezeichnet. Jedes Kapitel wurde dazu in einer eigenen Datei + (<filename>kapitel1.sgml</filename>, + <filename>kapitel2.sgml</filename> usw.) abgelegt und + über eine Datei <filename>buch.sgml</filename> sollen + alle physischen Dateien wieder mit der Hilfe von + Entitäten zu einem logischen Dokument + zusammengeführt werden.</para> + + <para>Damit der Inhalt der Dateien mit Entitäten + eingebunden werden kann, muß die Deklaration der + Entitäten das Schlüsselwort + <literal>SYSTEM</literal> enthalten. SGML-Parser werden so + angewiesen, den Inhalt der referenzierten Datei als Wert + für die jeweilige Entität zu nehmen.</para> + + <example> + <title>Dateien mit Allgemeinen Entitäten einbinden</title> + + <programlisting><![ RCDATA [<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [ +<!ENTITY kapitel.1 SYSTEM "kapitel1.sgml"> +<!ENTITY kapitel.2 SYSTEM "kapitel2.sgml"> +<!ENTITY kapitel.3 SYSTEM "kapitel3.sgml"> +<!-- Und so weiter... --> +]> + +<html> + <!-- Jetzt werden die Kapitel über die Entitäten eingebunden --> + + &kapitel.1; + &kapitel.2; + &kapitel.3; +</html>]]></programlisting> + </example> + + <warning> + <para>Wenn man Allgemeine Entitäten benutzt, um andere + Dateien einzubinden, dürfen diese Dateien + (<filename>kapitel1.sgml</filename>, + <filename>kapitel2.sgml</filename>, ...) + <emphasis>keine</emphasis> eigene DOCTYPE-Deklaration + haben.</para> + </warning> + </sect2> + + <sect2> + <title>Dateien mit Parameterentitäten einbinden</title> + + <para>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.</para> + + <para>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.</para> + + <para>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.</para> + + <example> + <title>Dateien mit Parameterentitäten einbinden</title> + + <para>Zuerst werden die Entitäten in einer separaten + Datei namens <filename>kapitel.ent</filename> deklariert. + <filename>kapitel.ent</filename> enthält für + dieses Beispiel die folgenden Zeilen:</para> + + <programlisting><![ CDATA [<!ENTITY kapitel.1 SYSTEM "kapitel1.sgml"> +<!ENTITY kapitel.2 SYSTEM "kapitel2.sgml"> +<!ENTITY kapitel.3 SYSTEM "kapitel3.sgml">]]></programlisting> + + <para>Im zweiten Schritt fügt man in beide Bücher + eine Parameterentität ein, die den Inhalt von + <filename>kapitel.ent</filename> referenziert, und lädt + über diese dann die Deklarationen. Anschließend + können die so geladenen Entitäten wie gewohnt + genutzt werden.</para> + + <programlisting><![ RCDATA [<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [ +<!-- Definieren einer Parameterentität um die Allgemeinen Entitäten für --> +<!-- die Kapitel laden zu können --> +<!ENTITY % kapitel SYSTEM "kapitel.ent"> + +<!-- Nun wird der Inhalt der referenzierten Datei geladen --> +%kapitel; +]> + +<html> + &kapitel.1; + &kapitel.2; + &kapitel.3; +</html>]]></programlisting> + </example> + </sect2> + + <sect2> + <title>Fingerübungen…</title> + + <sect3> + <title>Binden Sie Dateien über Allgemeine Entitäten ein</title> + + <procedure> + <step> + <para>Legen Sie drei Dateien (<filename>absatz1.sgml</filename>, + <filename>absatz2.sgml</filename> und <filename>absatz3.sgml</filename>) + mit jeweils einer Zeile wie + + <!-- <para>Create three files, <filename>para1.sgml</filename>, + <filename>para2.sgml</filename>, and + <filename>para3.sgml</filename>.</para>--> + + <!--<para>Put content similar to the following in each file;</para>--> + + <programlisting><![ CDATA [<p>Erster Absatz.</p>]]></programlisting> + an.</para> + </step> + + <step> + <para>Ändern Sie <filename>beispiel.sgml</filename> so ab, daß sie wie folgt + aussieht:</para> + + <programlisting><![ CDATA [<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [ +<!ENTITY version "1.1"> +<!ENTITY absatz1 SYSTEM "absatz1.sgml"> +<!ENTITY absatz2 SYSTEM "absatz2.sgml"> +<!ENTITY absatz3 SYSTEM "absatz3.sgml"> +]> + +<html> + <head> + <title>Eine HTML-Beispieldatei</title> + </head> + + <body> + <p>Die aktuelle Version dieses Dokuments ist &version;</p> + + &absatz1; + &absatz2; + &absatz3; + </body> +</html>]]></programlisting> + </step> + + <step> + <para>Erzeugen Sie nun die Datei + <filename>beispiel.html</filename>, indem Sie + <filename>beispiel.sgml</filename> normalisieren:</para> + + <screen>&prompt.user; <userinput>sgmlnorm -d beispiel.sgml > beispiel.html</userinput></screen> + </step> + + <step> + <para>Öffnen Sie <filename>beispiel.html</filename> + nun mit einem Webbrowser und vergewissern Sie sich, + daß der Inhalt der Dateien + <filename>absatz<replaceable>N</replaceable>.sgml</filename> + in <filename>beispiel.html</filename> übernommen + wurde.</para> + </step> + </procedure> + </sect3> + + <sect3> + <title>Binden Sie Dateien mit Parameterentitäten ein</title> + + <note> + <para>Hierfür müssen Sie die vorherige Fingerübung gemacht haben.</para> + </note> + + <procedure> + <step> + <para>Ändern Sie <filename>beispiel.sgml</filename> so ab, daß es wie + folgt aussieht:</para> + + <programlisting><![ CDATA [<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [ +<!ENTITY % entitaeten SYSTEM "entitaeten.sgml"> %entitaeten; +]> + +<html> + <head> + <title>Eine HTML-Beispieldatei</title> + </head> + + <body> + <p>Die aktuelle Version dieses Dokuments ist &version;</p> + + &absatz1; + &absatz2; + &absatz3; + </body> +</html>]]></programlisting> + </step> + + <step> + <para>Legen Sie eine weitere Datei <filename>entitaeten.sgml</filename> an, + die folgenden Inhalt hat:</para> + + <programlisting><![ CDATA [<!ENTITY version "1.1"> +<!ENTITY absatz1 SYSTEM "absatz1.sgml"> +<!ENTITY absatz2 SYSTEM "absatz2.sgml"> +<!ENTITY absatz3 SYSTEM "absatz3.sgml">]]></programlisting> + </step> + + <step> + <para>Erzeugen Sie die Datei + <filename>beispiel.html</filename>, indem Sie + <filename>beispiel.sgml</filename> normalisieren:</para> + + <screen>&prompt.user; <userinput>sgmlnorm -d beispiel.sgml > beispiel.html</userinput></screen> + </step> + + <step> + <para>Öffnen Sie <filename>beispiel.html</filename> + nun mit einem Webbrowser und vergewissern Sie sich, + daß der Inhalt der Dateien + <filename>absatz<replaceable>N</replaceable>.sgml</filename> + in <filename>beispiel.html</filename> übernommen + wurde.</para> + </step> + </procedure> + </sect3> + </sect2> + </sect1> + + <sect1 id="sgml-primer-marked-sections"> + <title>Markierte Bereiche</title> + + <para>SGML erlaubt es, daß bestimmte Dokumentabschnitte + während der Verarbeitung besonders behandelt werden sollen. + Diese Abschnitte werden als <quote>markierte Bereiche</quote> + <footnote><para>auf Englisch <foreignphrase>marked + sections</foreignphrase> + </para></footnote> + bezeichnet.</para> + + <example> + <title>Aufbau eines markierten Bereiches</title> + + <programlisting><![ <replaceable>SCHLÜSSELWORT</replaceable> [ + Inhalt des markierten Bereiches +]]></programlisting> + </example> + + <para>Da es sich bei markierten Bereichen um SGML-Konstrukte + handelt, werden sie mit <literal><!</literal> eingeleitet. + Der eigentliche Anfang des markierten Bereiches wird von der + folgenden eckigen Klammer bestimmt. Das darauf folgende + <replaceable>SCHLÜSSELWORT</replaceable> legt fest, wie der + <quote>markierte Inhalt</quote> durch einen SGML-Prozessor + während der Verarbeitung behandelt werden soll. Der + <quote>markierte</quote> 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 <literal>></literal> Zeichens wird der mit + <literal><!</literal> begonnene SGML-Kontext wieder + verlassen.</para> + + <sect2> + <title>Schlüsselworte für markierte Bereiche</title> + + <sect3> + <title><literal>CDATA</literal> und <literal>RCDATA</literal></title> + + <para>Die Schlüsselworte <literal>CDATA</literal> und + <literal>RCDATA</literal> bestimmen das + <emphasis>Inhaltsmodell</emphasis> für markierte + Bereiche. Dadurch ist es möglich, vom Standardmodell + abzuweichen.</para> + + <para>Ein SGML-Prozessor muß während der + Verarbeitung eines Dokuments zu jedem Zeitpunkt wissen, + welches <emphasis>Inhaltsmodell</emphasis> gerade anzuwenden + ist.</para> + + <para>Was ist ein Inhaltsmodell? Kurz gesagt beschreibt das + Inhaltsmodell, welche Art von Inhalt der Parser zu erwarten + und wie er damit umzugehen hat.</para> + + <para>Bei <literal>CDATA</literal> und + <literal>RCDATA</literal> handelt es sich wahrscheinlich um + die nützlichsten Inhaltsmodelle. <!--? Die richtige + Uebersetzung ist Buchstabendaten. Oliver Fischer --> + <literal>CDATA</literal> steht für + Zeichendaten<footnote> + <para>auf Englisch <foreignphrase>character + data</foreignphrase></para></footnote>. Trifft ein + Parser auf dieses Inhaltsmodell, wird er annehmen, daß + sich im zugehörigen Dokumentenbereich nur + <quote>gewöhnliche</quote> Zeichen befinden. Das + bedeutet, daß < und & ihre besondere Bedeutung + verlieren und als einfache Zeichen behandelt werden.</para> + + <para><literal>RCDATA</literal> steht für + Entitätenreferenzen und Zeichendaten<footnote><para>auf + Englisch + <foreignphrase>Entity references and character + data</foreignphrase></para></footnote>. 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.</para> + + <para>Nützlich ist das <literal>CDATA</literal>-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 &lt; und jedes & durch ein + &amp; ersetzen, doch es wird in den meisten Fällen + einfacher sein, für den betreffenden Text + <literal>CDATA</literal> als Inhaltsmodell festzulegen. Ein + SGML-Parser wird dann, sobald er auf < und & trifft, + diese als Zeichen in einem Text betrachten.</para> + + <note> + <para>Bei der Verwendung von <literal>CDATA</literal> und + <literal>RCDATA</literal> als Inhaltsmodell für + SGML-Beispiele, wie sie in diesem Dokument enthalten sind, + muß bedacht werden, daß der Inhalt eines + <literal>CDATA</literal>-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.</para> + </note> + <!-- The nesting of CDATA within the next example is disgusting --> + + <example> + <title>CDATA als Inhaltsmodell für markierte Bereiche</title> + + <programlisting><para>Das ist ein Beispiel, wie man einen Text, + der viele &lt; und &amp; 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 <sgmltag>para</sgmltag> und endend mit <sgmltag>/para</sgmltag>, stammt aus der DocBook DTD.</para> + +<programlisting> + <![ RCDATA [ <![ CDATA [ + <p>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.</p> + + <ul> + <li>Das ist ein Listenelement.</li> + <li>Das ist ein zweites Listenelement.</li> + <li>Das ist ein drittes Listenelement.</li> + </ul> + + <p>Und das hier, das ist das Ende des Beispiels.</p>]]> + ]]> +</programlisting></programlisting> + + <para>Liest man die Quellen dieser Fibel, wird man + feststellen, daß diese Technik durchgängig + angewandt wurde.</para> + + </example> + </sect3> + + <sect3> + <title><literal>INCLUDE</literal> und + <literal>IGNORE</literal></title> + + <para>Das Schlüsselwort <literal>INCLUDE</literal> legt + fest, daß der Inhalt des betreffenden Abschnittes + mitverarbeitet wird. Demgegenüber bestimmt + <literal>IGNORE</literal>, daß er ignoriert wird, + daß heißt, daß er bei der Verarbeitung + übergangen wird und in der Ausgabe nicht enthalten + ist.</para> + + <example> + <title>Anwendung von <literal>INCLUDE</literal> und + <literal>IGNORE</literal> in markierten + Abschnitten</title> + + <programlisting><![ INCLUDE [ + Dieser Text wird verarbeitet und eingebunden. +]]> + +<![ IGNORE [ + Dieser Text wird weder verarbeitet noch eingebunden. +]]></programlisting> + </example> + + <para>Für sich alleine ist <literal>IGNORE</literal> als + Anweisung nicht besonders nützlich, da ein Bereich, der + von der Verarbeitung ausgenommen sein soll, auch + auskommentiert werden kann.</para> + + <para>Kombiniert man <literal>IGNORE</literal> hingegen mit + <link + linkend="sgml-primer-parameter-entities">Parameterentitäten</link>, + 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.</para> + + <para>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.</para> + + <para>Man definiert eine Parameterentität, der man als + Wert die Zeichenkette <literal>INCLUDE</literal> 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.</para> + + <para>Soll anstelle der digitalen die gedruckte Variante + produziert werden, muß lediglich der Entität + <literal>IGNORE</literal> als Wert zugewiesen und das + Ursprungsdokument erneut durch den SGML-Prozessor geschickt + werden.</para> + + <example> + <title>Kontrolle von markierten Bereichen über + Parameterentitäten</title> + + <programlisting><!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. +]]></programlisting> + + <para>Bei der Produktion der gedruckten Variante muß + der Wert der Entität geändert werden.</para> + + <programlisting><!ENTITY % digitale.kopie "IGNORE"></programlisting> + + <para>Bei der Verarbeitung wird als Schlüsselwort in + beiden Fällen der von + <literal>%digitale.kopie</literal> repräsentierte + Wert verwendet. Im ersten Fall wird der Inhalt des + markierten Bereichs mitverarbeitet, im zweiten Fall + nicht.</para> + + </example> + </sect3> + </sect2> + + <sect2> + <title>Fingerübung…</title> + + <procedure> + <step> + <para>Legen Sie eine neue Datei + <filename>abschnitt.sgml</filename> an, die folgenden + Inhalt hat:</para> + + <programlisting><!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> + ]]> + + <![ <![ CDATA [%text.ausgabe]]> [ + <p>Dieser Absatz wird in Abhängigkeit von <literal>%text.ausgabe</literal> + mitausgegeben.</p> + ]]> + </body> +</html></programlisting> + </step> + + <step> + <para>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 + <literal>CDATA</literal>-Bereichen geworden ist.</para> + </step> + + <step> + <para>Ändern Sie die Definition von + <literal>text.ausgabe</literal> so, daß es den + Wert <literal>IGNORE</literal> zugewiesen bekommt. + Verarbeiten Sie dann die Datei erneut mit &man.sgmlnorm.1; + und vergleichen die Ausgabe mit der vom ersten + &man.sgmlnorm.1; Lauf.</para> + + </step> + </procedure> + </sect2> + </sect1> + + <sect1 id="sgml-primer-conclusion"> + <title>Schlußbemerkung</title> + + <para>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.</para> + + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> 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 @@ +<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved. + + 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: + + 1. 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. + + 2. 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. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/structure/chapter.sgml,v 1.2 2003/11/25 23:13:23 mheinen Exp $ +--> + +<chapter id="structure"> + <title># Verzeichnisstruktur unter <filename>doc/</filename></title> + + <para>Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie + bitte <ulink + url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/structure.html"> + das Original in englischer Sprache</ulink>.</para> + +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> + 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 @@ +<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved. + + 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: + + 1. 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. + + 2. 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. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/stylesheets/chapter.sgml,v 1.1 2003/10/27 23:06:29 mheinen Exp $ +--> + +<chapter id="stylesheets"> + <title>#* Die Stylesheets</title> + + <para>Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie + bitte <ulink + url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/stylesheets.html"> + das Original in englischer Sprache</ulink>.</para> + +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> 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 @@ +<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved. + + 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: + + 1. 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. + + 2. 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. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/the-website/chapter.sgml,v 1.1 2003/10/27 23:06:29 mheinen Exp $ +--> + +<chapter id="the-website"> + <title># Die Webseite</title> + + <para>Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie + bitte <ulink + url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/the-website.html"> + das Original in englischer Sprache</ulink>.</para> + +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> 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 @@ +<!-- Copyright (c) 1998, 1999 Nik Clayton, All rights reserved. + + 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: + + 1. 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. + + 2. 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. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/tools/chapter.sgml,v 1.4 2003/12/05 00:03:09 mheinen Exp $ + basiert auf 1.25 +--> + +<chapter id="tools"> + <title>Die Werkzeuge</title> + + <para>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.</para> + + <para>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.</para> + + <para>Allerdings müssen diese Programme installiert werden, + bevor alle Beispiele der folgenden Kapitel ausprobiert werden + können.</para> + + <tip> + <title> + Wenn es möglich ist, sollte der Port + <filename role="package">textproc/docproj</filename> + verwendet werden</title> + + <!-- + "Abhaengigkeit zu"? + Oliver Fischer + --> + <para>Durch die Installation des Ports <filename + role="package">textproc/docproj</filename> kann die + Installation vereinfacht und eine Menge Zeit gespart werden. Bei + diesem Port handelt es sich um einen + <emphasis>Metaport</emphasis>, 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 + <emphasis>sollten</emphasis> automatisch alle Pakete, die in + diesem Kapitel genannt werden, auf den Rechner geladen und dort + installiert werden.</para> + + <para>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.</para> + + <para>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.</para> + + <para>Daher sollte der docproj-Port entweder mit + + <screen>&prompt.root; <userinput>make JADETEX=yes install</userinput></screen> + + oder mit + + <screen>&prompt.root; <userinput>make JADETEX=no install</userinput></screen> + + installiert werden, je nachdem was gewünscht wird. + Bedacht werden sollte, daß wenn der Port mit mit + <makevar>JADETEX=no</makevar> installiert wird, nur die + Formate HTML und ASCII erzeugen können. Für + PostScript und PDF wird TeX benötigt.</para> + </tip> + + <sect1 id="tools-mandatory"> + <title>Notwendige Werkzeuge</title> + + <sect2> + <title>Software</title> + + <para>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.</para> + + <!-- Dieser Satz sollte später besser formuliert werden! Oliver Fischer --> + <!-- + They are all + included in <filename role="package">textproc/docproj</filename>. + --> + + <!--<para>These programs are required before you can usefully work with the + FreeBSD documentation, and they will allow you to convert the + documentation to HTML, plain text, and RTF formats. They are all + included in <filename role="package">textproc/docproj</filename>.</para>--> + + <variablelist> + <varlistentry> + <term><application>SP</application> + (<filename role="package">textproc/sp</filename>)</term> + + <listitem> + <para>Eine Gruppe von Anwendungen, einschließlich + eines validierenden SGML-Parsers und eines + SGML-Normers.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><application>Jade</application> (<filename + role="package">textproc/jade</filename>)</term> + + <listitem> + <para>Eine DSSSL-Implementierung. Sie wird gebraucht, um + Dokumente in andere Formate wie HTML und TeX zu + übersetzen.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><application>Tidy</application> + (<filename role="package">www/tidy</filename>)</term> + + <listitem> + <para>Ein Formatierer, mit dem man Teile der automatisch + generierten HTML-Dateien neuformatieren kann, um ihre + Lesbarkeit zu erhöhen.</para> + + <!--<para>An HTML 'pretty printer', used to reformat some of the + automatically generated HTML so that it is easier to + follow.</para>--> + </listitem> + </varlistentry> + + <varlistentry> + <term><application>Links</application> (<filename + role="package">www/links</filename>)</term> + + <listitem> + <para>Ein Textbrowser, der HTML-Dateien in einfache Textdateien + umwandeln kann.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><application>peps</application> + (<filename role="package">graphics/peps</filename>)</term> + + <listitem> + <para>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.</para> + </listitem> + </varlistentry> + </variablelist> + </sect2> + + <sect2> + <title>Die DTDs und die Entitäten</title> + + <para>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.</para> + + <variablelist> + <varlistentry> + <term>HTML DTD (<filename role="package">textproc/html</filename>)</term> + + <listitem> + <para>HTML ist die bevorzugte <!-- ??? --> + Auszeichnungssprache des World Wide Web und wird + durchgängig für die FreeBSD-Webseite + genutzt.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>DocBook DTD (<filename role="package">textproc/docbook</filename>)</term> + + <listitem> + <para>DocBook ist als Auszeichnungssprache für + technische Dokumentationen entwickelt worden. Die + gesamte FreeBSD-Dokumentation wird mittels DocBook + erstellt.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>ISO 8879-Entitäten + (<filename role="package">textproc/iso8879</filename>)</term> + + <listitem> + <para>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.</para> + + <!--? Ist die Übersetzung gut? Oliver Fischer + <para>19 of the ISO 8879:1986 character entity sets used by many + DTDs. Includes named mathematical symbols, additional + characters in the 'Latin' character set (accents, diacriticals, + and so on), and Greek symbols.</para>--> + </listitem> + </varlistentry> + </variablelist> + </sect2> + + <sect2> + <title>Die Stilvorlagen</title> + + <para>Die Stilvorlagen werden während der Transformation und + der Formatierung von Dokumenten, beispielsweise für die + Bildschirmdarstellung oder den Druck, benutzt.</para> + + <variablelist> + <varlistentry> + <term>Modular DocBook Stylesheets (<filename + role="package">textproc/dsssl-docbook-modular</filename>)</term> + + <listitem> + <para>Die Modular DocBook Stylesheets werden + benötigt, wenn mittels DocBook erstellte Dokumente + in Formate wie HTML oder RTF konvertiert werden + sollen.</para> + </listitem> + </varlistentry> + </variablelist> + </sect2> + </sect1> + + <sect1 id="tools-optional"> + <title>Optionale Werkzeuge</title> + + <para>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.</para> + + <sect2> + <title>Software</title> + + <variablelist> + <varlistentry> + <term><application>JadeTeX</application> und + <application>teTeX</application> (<filename + role="package">print/jadetex</filename> und <filename + role="package">print/teTeX</filename>)</term> + + <listitem> + <para><application>Jade</application> und + <application>teTeX</application> werden eingesetzt, um + DocBook-Dokumente nach DVI, Postscript und PDF zu + konvertieren. Hierfür müssen die + <application>JadeTeX</application> Makros installiert + sein.</para> + + <para>Ist es nicht geplant, die Dokumente in einem dieser + Formate zu erzeugen, wenn also HTML, Text und RTF + ausreichend sind, brauchen + <application>JadeTeX</application> und + <application>teTeX</application> nicht installiert zu + werden. Da die Installation von + <application>teTeX</application> insgesamt 30 MB + benötigt, kann so Zeit und Plattenplatz gespart + werden.</para> + + + <important> + <para>Wird sich für die Installation von + <application>JadeTeX</application> und + <application>teTeX</application> entschieden, + muß <application>teTeX</application> + anschließend noch eingerichtet werden. Die Datei + <filename>print/jadetex/pkg-message</filename> + enthält detailierte Angaben zu den dafür + notwendigen Schritten.</para> + </important> + + </listitem> + </varlistentry> + + <varlistentry> + <term><application>Emacs</application> oder + <application>XEmacs</application> (<filename + role="package">editors/emacs</filename> oder <filename + role="package">editors/xemacs</filename>)</term> + + <listitem> + <para>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.</para> + + + <!--? Kandidat für Optimierung Oliver Fischer --> + <para>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.</para> + + <!--? Der vorherige Satz ist auch nicht erste Sahne. --> + <!--<para>You do not need to use them; any text editor can be used to + edit marked up documents. You may find they make you more + efficient.</para>--> + </listitem> + </varlistentry> + </variablelist> + + <!--? + Hier sollte noch die Perspektive geaendert werden, nur + ist mir hierfuer noch keine gute Idee gekommen. + Oliver Fischer + --> + <para>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;.</para> + + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> 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 @@ +<!-- Copyright (c) 1999 Nik Clayton, All rights reserved. + + 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: + + 1. 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. + + 2. 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. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/translations/chapter.sgml,v 1.3 2003/12/02 00:22:46 mheinen Exp $ +--> + +<chapter id="translations"> + <title># Übersetzungen in andere Sprachen</title> + + <para>Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie + bitte <ulink + url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/translations.html"> + das Original in englischer Sprache</ulink>.</para> + +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> 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 @@ +<!-- Copyright (c) 1998 Nik Clayton, All rights reserved. + + 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: + + 1. 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. + + 2. 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. + + $FreeBSD$ + $FreeBSDde: de-docproj/books/fdp-primer/writing-style/chapter.sgml,v 1.2 2003/11/25 23:13:23 mheinen Exp $ +--> + +<chapter id="writing-style"> + <title># Der Schreibstil</title> + + <para>Dieser Abschnitt ist noch nicht übersetzt. Lesen Sie + bitte <ulink + url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/writing-style.html"> + das Original in englischer Sprache</ulink>.</para> + +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> + |