DocumentType

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

Das Interface Document enthält ein einzelnes docType-Attribut. Der Wert dieses Attributs verweist auf eine Beschreibung in der DTD des aktuellen Dokuments (ein DocumentType-Objekt) oder auf null, wenn keine vorhanden ist.

Java-Beispiel

// Lies Information über den Dokumenttyp.
    DocumentType dtDoc = doc.getDoctype(  );

 


Attribute

Das Objekt DocumentType besitzt die folgenden Attribute:

 


entities: NamedNodeMap

Dieses Attribut enthält eine Liste aller in der DTD deklarierten allgemeinen Entities. Falls ein Entity mehrfach in der DTD deklariert wird, findet man in der NamedNodeMap nur die erste Instanz. Beachten Sie, dass Deklarationen von Parameter-Entities über das DocumentType-Interface nicht zugänglich sind. Die Listenelemente sind allesamt Instanzen des Interfaces Entity. Nur-lesbar.

Java-Bindung
public NamedNodeMap getEntities( );

Java-Beispiel

// Ausgabe aller Entities
NamedNodeMap nnm = doc.getDoctype().getEntities(  );

Entity ndEnt;
for (int i = 0; i < nnm.getLength(  ); i++) {
    ndEnt = (Entity)nnm.item(i);

    System.out.println(ndEnt.getNodeName(  ));

    if (ndEnt.getPublicId(  ) != null) {
        System.out.println("\tPublic Identifier: " +
                           ndEnt.getPublicId(  ));
    }

    if (ndEnt.getSystemId(  ) != null) {
        System.out.println("\tSystem Identifier: " +
                           ndEnt.getSystemId(  ));
    }

    if (ndEnt.getNotationName(  ) != null) {
        System.out.println("\tNotation Name: " +
                           ndEnt.getNotationName(  ));
    }
}

 


internalSubset: DOMString

Dieses Attribut enthält die interne DTD-Teilmenge als String. Das genaue Format hängt davon ab, wie weit der konkrete XML-Parser dieses Feature unterstützt. Nur-lesbar.

Java-Bindung
public String getInternalSubset( );

 


name: DOMString

Name der DTD, d.h. der auf das Schlüsselwort DOCTYPE folgende XML-Name aus dem gelesenen XML-Dokument. Nur-lesbar.

Java-Bindung
public String getName( );

Java-Beispiel

// Ausgabe von Informationen über den Dokumenttyp
DocumentType dtDoc = doc.getDoctype(  );

System.out.println("This is a " + dtDoc.getName(  ) + " document.");

 


notations: NamedNodeMap

Eine NamedNodeMap enthält eine Liste von XML-Notationsdeklarationen, die im aktuellen Dokument gültig sind. Jedes Element dieser Liste implementiert das Interface Notation. Die Liste als solche ist nur-lesbar.

Java-Bindung
public NamedNodeMap getNotations( );

Java-Beispiel

// Ausgabe der im Dokument gültigen Notationen
NamedNodeMap nnm = doc.getDoctype().getNotations(  );
Notation ndNotation;
for (int i = 0; i < nnm.getLength(  ); i++) {
    ndNotation = (Notation)nnm.item(i);

    System.out.println(ndNotation.getNodeName(  ));
    if (ndNotation.getPublicId(  ) != null) {
        System.out.println("\tPublic Identifier: " +
                           ndNotation.getPublicId(  ));
    }
    if (ndNotation.getSystemId(  ) != null) {
        System.out.println("\tSystem Identifier: " +
                           ndNotation.getSystemId(  ));
    }
}

 


publicId: DOMString

Der PUBLIC-Identifier der externen Teilmenge. Nur-lesbar.

Java-Bindung
public String getPublicId( );

 


systemId: DOMString

Der SYSTEM-Identifier (ein URI) der externen Teilmenge. Nur-lesbar.

Java-Bindung
public String getSystemId( );

 


Methoden

Das Objekt DocumentType hat keine Methoden.

  

<< 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