DTDs für XLinks

(Auszug aus "XML in a Nutshell" von Elliotte Rusty Harold & W. Scott Means)

Damit ein Dokument, das XLinks enthält, gültig ist, müssen alle XLink-Attribute, die das Dokument verwendet, ebenso wie alle anderen Attribute in einer DTD deklariert werden. In den meisten Fällen können manche Attribute als #FIXED deklariert werden, dann müssen sie nicht explizit in das Dokument selbst eingefügt werden. Dieses DTD-Fragment beschreibt zum Beispiel das roman-Element, das Sie ja bereits kennen:

<!ELEMENT roman  (titel, autor, jahr)>
<!ATTLIST roman  xmlns:xlink CDATA   #FIXED 'http://www.w3.org/1999/xlink' xlink:type (simple) #FIXED 'simple' xlink:href  CDATA   #REQUIRED>
<!ELEMENT titel  (#PCDATA)>
<!ELEMENT autor  (#PCDATA)>
<!ELEMENT jahr   (#PCDATA)>

Gibt diese DTD die festen Attribute xmlns:xlink und xlink:type vor, benötigt ein roman-Element nur das Attribut xlink:href, um einen vollständigen einfachen XLink zu bilden:

<roman xlink:href = "urn:isbn:0688069444">
  <titel>The Wonderful Wizard of Oz</title>
  <autor>L. Frank Baum</author>
  <jahr>1900</jahr>
</roman>

Dokumente, die viele XLink-Elemente enthalten, benutzen oft Parameter-Entity-Referenzen zum Definieren der häufig verwendeten Attribute. Nehmen Sie beispielsweise an, dass roman, anthologie und sachbuch einfache XLink-Elemente sind. Ihre XLink-Attribute könnten folgendermaßen in einer DTD deklariert werden:

<!ENTITY % simplelink
  "xlink:type (simple) #FIXED 'simple'
   xlink:href  CDATA   #REQUIRED
   xmlns:xlink CDATA   #FIXED 'http://www.w3.org/1999/xlink'
   xlink:role  CDATA   #IMPLIED
   xlink:title CDATA   #IMPLIED
   xlink:actuate (onRequest | onLoad | other | none) 'onRequest'
   xlink:show (new | replace | embed | other | none) 'new'">
<!ATTLIST anthologie   %simplelink;>
<!ATTLIST roman        %simplelink;>
<!ATTLIST sachbuch     %simplelink;>

Für die Deklaration von Attributen für erweiterte XLinks können ähnliche Techniken verwendet werden.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

  


Copyright © 2005 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML in a Nutshell" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de