E-Book Startseite Karteikarten-Programm
0

Texte und Sonderzeichen definieren mit Entities

Eine tolle Funktion in der Sprache DTD sind die sogenannten Entites. Mit Entities können Kürzel, Parameter und Verweise erzeugt werden. Alle diese Dinge sind vor allem für größere Projekte hervorragend geeignet und nützlich. Die einfachste Anwendung von Entities ist das definieren von Texten (Textbausteinen) und Sonderzeichen. Ein Entity wird am Anfang mit <!ENTITY und am Ende mit > gekennzeichnet. Nach dem Schlüsselwort ENTITY folgt ein Leerzeichen und dann ein frei wählbarer Name (Namensregeln für XML beachten!), über den das Entity später aufgerufen werden kann. Nach dem Name folgt ein weiteres Leerzeichen und danach in doppelten Anführungszeichen der Textbaustein oder der Code des Sonderzeichens, welcher später über den definierten Name aufgerufen werden soll. Das Entity kann mit dem Namen des Entities aufgerufen werden. Vor diesem Name muss ein Und-Zeichen (&) notiert werden, dahinter ein Semikolon (;). Selbstverständlich ist das Verschachteln von Entities ebenfalls kein Problem. Beim Verschachteln wird ein ENTITY erstellt, indem andere Entities aufzufinden sind. Im Beispiel wird der Name einer Person in einem Entity namens "name" gespeichert.

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
 
<!DOCTYPE schreiben [
    <!ENTITY name "Max Mustermann">
 
    <!ELEMENT schreiben (#PCDATA)>
]>
 
<schreiben>
... Vielen Dank für Ihre Bemühungen und mit freundlichen Grüßen, Ihr &name;
</schreiben>
Anzeigebeispiel
Anzeigebeispiel



weitere DTDs mit Entites einbinden

Eine sehr interessante Art und Weise mit Entities zu arbeiten, ist das Einbinden von weiteren DTD-Dokumenten. Dies eignet sich vor allem bei extrem vielen DTD-Anweisungen. Sie wissen ja bereits wie man Entites für Textbausteine definiert, um nun die Einbindung für weitere DTD-Dokumente zu erlauben, müssen diese Angaben ein wenig erweitert werden. Zwischen dem Schlüsselwort ENTITY und dem Namen des Entity folgt zusätzlich noch ein Prozentzeichen. Zwischen dem Wort ENTITY und dem Prozentzeichen und zwischen dem Prozentzeichen und dem Entity-Name folgt jeweils ein Leerzeichen. Normalerweise folgt nach dem Entity-Name in doppelten Anführungszeichen der Wert. Zusätzlich muss dazwischen aber noch der Wert SYSTEM notiert werden. Auch hier wieder die gleichen Leerzeichen-Regeln wie gerade eben genannt. Der Wert in den doppelten Anführungszeichen ist die Pfadangabe zur DTD-Datei. Nur mit dieser Anweisung wurde nur eine DTD in einer Art Variable gespeichert. Um diese nun einzubinden muss &import; notiert werden. import steht dabei für den Entity-Wert, denn Sie definiert haben. Als Beispiel verwenden wir wieder das Kontaktbuch-Beispiel. In der 2. DTD befindet sich ein Teil dieser Definitionen, es wurde also ein kleiner Teil ausgelagert. Diese Entity-Funktion wird nicht von jedem Browser unterstützt.

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
 
<!DOCTYPE kontaktbuch [
    <!ENTITY % import SYSTEM "dtdentities2.dtd">
    <!ELEMENT kontaktbuch (kontakt)*>
    <!ELEMENT kontakt (name, anschrift, telefon, (unverheiratet | verheiratet))>
    <!ELEMENT name (anrede?, vorname, nachname)>
    <!ELEMENT anrede (#PCDATA)>
    <!ELEMENT vorname (#PCDATA)>
    <!ELEMENT nachname (#PCDATA)>
    <!ELEMENT anschrift (plz | ort)>
    <!ELEMENT plz (#PCDATA)>
    <!ELEMENT ort (#PCDATA)>
    <!ELEMENT telefon (#PCDATA)>
    %import;
]>
 
<kontaktbuch>
  <kontakt>
    <name>
      <vorname>Max</vorname>
      <nachname>Mustermann</nachname>
    </name>
    <anschrift>
      <ort>Musterstadt</ort>
    </anschrift>
    <telefon>01234 - 56789</telefon>
    <verheiratet name="Stefanie.Mustermann" datum="date_27.05.2009" art="standesamt" />
  </kontakt>
  <kontakt>
    <name>
      <anrede>Frau</anrede>
      <vorname>Maria</vorname>
      <nachname>Musterfrau</nachname>
    </name>
    <anschrift>
      <plz>54321</plz>
    </anschrift>
    <telefon>09876 - 54321</telefon>
    <unverheiratet />
  </kontakt>
</kontaktbuch>
<!ELEMENT unverheiratet EMPTY>
<!ELEMENT verheiratet EMPTY>
<!ATTLIST verheiratet
    name		CDATA				#REQUIRED
    datum		CDATA				#IMPLIED
    art		(standesamt|beides)	"beides"
>
Anzeigebeispiel
Anzeigebeispiel



Design:
 


Logo
Benjamin Jung
Krummstr. 9/3
73054 Eislingen

E-Mail: info@homepage-webhilfe.de
Webseite: www.homepage-webhilfe.de