Document Object Model (DOM) Level 3 XPath SpecificationVersion 1.0Übersetzung ins Deutsche14.August 2004Das ist die deutsche Übersetzung der "W3C Working Group Note" mit dem Titel "Document Object Model (DOM) Level 3 XPath Specification", Version 1.0 vom 26.Februar 2004. Beachten Sie bitte, dass dieses Dokument kein normatives Dokument ist und Übersetzungsfehler beinhalten kann. Es ersetzt das Originaldokument in keiner Weise. Das Originaldokument ist zu finden unter http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226 Falls Sie Übersetzungsfehler sehen, bestimmte Passagen anders übersetzen würden
oder Verbesserungsvorschläge haben, dann teilen Sie die Details doch bitte dem Übersetzer mit:
Dieses Dokument ist urheberrechtlich geschützt, Copyright © 2004 W3C® (MIT, ERCIM, Keio), Alle Rechte vorbehalten. Die Rechte an der Übersetzung liegen beim Übersetzer, Copyright © 2004 Wolfgang Bock Bemerkungen zur ÜbersetzungDiese Version wurde so wortgetreu wie möglich übersetzt.
Weitere Anmerkungen des Übersetzers sind gekennzeichnet (Anm.d.Ü.) und mit dieser Hintergrundfarbe versehen.
Ende der Hinweise. |
Dieses Dokument ist auch in folgenden nichtnormativen Formaten verfügbar:
XML-Datei,
Nur Text,
PostScript-Datei,
PDF-Datei,
als eine durchgängige HTML-Datei, and
ZIP-Datei.
Copyright ©2004 W3C® (MIT, ERCIM, Keio), Alle Rechte vorbehalten. Es gelten die W3C-Regeln für Haftung, Warenzeichen, Verwendung von Dokumenten und Softwarelizenzierung .
Diese Spezifikation definiert "Document Object Model Level 3 XPath". Sie stellt einfache Funktionalitäten zum Zugriff auf den DOM-Baum unter Verwendung von [XPath 1.0] bereit.
Dieser Abschnitt beschreibt den Status des Dokuments zum Zeitpunkt seiner Veröffentlichung. Andere Dokumente können dieses Dokument ersetzen. Eine Liste der aktuellen W3C-Publikationen und die letzte Revision dieses technischen Berichts kann gefunden werden im W3C technical reports index unter http://www.w3.org/TR/.
Dieses Dokument ist eine Working Group Note von "DOM Level 3 XPath" und basiert auf den eingegangenen Rückmeldungen während des Last-Call-Zeitraums. Die Teilnehmer {paticipants} der W3C DOM Arbeitsgruppe erwarten nicht, zwei interoperable Implementierungen dieses Moduls mit der gleichen Bindung {using the same binding} zur Verfügung zu stellen. Rückmeldungen über Implementierungen sind immer willkommen und sollten zur öffentlichen Mailing-Liste www-dom@w3.org (public archive) gesandt werden. Andere W3C-Arbeitsgruppen können die Arbeit fortsetzen und Implementierungen dieses Dokumentes zur Verfügung stellen.
Einzelpersonen oder Organisationen werden ebenfalls gebeten, eine Nachricht an die öffentliche Mailing-Liste zu senden, wenn sie eine Implementierung dieses Moduls beabsichtigen.
Die Veröffentlichung als Working Group Note impliziert keine Bestätigung durch die W3C-Mitgliedschaft. Dies ist ein Entwurfsdokument, das aktualisiert, ersetzt werden oder durch andere Dokumente jederzeit veralten kann.
Dieses Dokument wurde erstellt als Teil der W3C-DOM-Aktivitäten. Die Autoren dieses Dokuments sind die Mitglieder der DOM-Arbeitsgruppe.
Ein Implementierungsbericht ist ebenfalls vorhanden.
Patentoffenlegungen {patent disclosures}, die relevant für diese Spezifikation sind, können auf der Seite für Patentoffenlegungen {patent disclosure page} gefunden werden.
Copyright © 2004 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). Alle Rechte vorbehalten.
Dieses Dokument ist veröffentlicht unter W3C® -Dokument-Copyright-Hinweis und -Lizenz {W3C® Document Copyright Notice and License}. Die Bindungen innerhalb dieses Dokuments sind veröffentlicht unter W3C® -Software-Copyright-Hinweis und -Lizenz {W3C® Software Copyright Notice and License}. Die Softwarelizenz erfordert "Notizen über beliebige Änderungen und Modifizierungen an den W3C-Dateien, einschließlich des Datums der Veränderungen." In dieser Konsequenz müssen modifizierte Versionen der DOM-Bindungen, die nicht konform zum W3C-Standard sind, dokumentiert werden; im Fall der IDL-Definitionen kann das Pragma-Präfix nicht mehr 'w3c.org' lauten; im Fall der Java-Sprachbindung können die Package-Namen nicht mehr im 'org.w3c'-Package enthalten sein.
Hinweis: Dieser Abschnitt ist eine Kopie von W3C® -Dokument-Hinweis und -Lizenz {W3C® Document Notice and License} und kann gefunden werden unter http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231.
Copyright © 2004 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). Alle Rechte vorbehalten.
http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
Öffentliche Dokumente auf der W3C-Site werden von den Copyright-Inhabern bereitgestellt unter der folgenden Lizenz. Zum Verwenden und/oder Kopieren des W3C-Dokuments mit dem diese Aussage verbunden ist, pflichtest Du (der Lizenznehmer) bei, dass Du die folgenden Begriffe und Bedingungen gelesen, verstanden und darin eingewilligt hast:
Das Recht zum Kopieren und Verteilen des Inhalts dieses Dokuments, oder des W3C-Dokuments, mit dem diese Aussage verbunden ist, in irgendeinem Medium für irgendeinen Zweck und ohne Gebühren oder Abgaben wird hiermit bewilligt, vorausgesetzt dass Du das Folgende in ALLE Kopien dieses Dokuments oder Teilen davon einfügst, die Du verwendest:
Wenn es der Platz erlaubt, sollte der volle Text dieser NOTIZ {NOTICE} mit eingeschlossen sein. Wir verlangen, dass Autorenverweise enthalten sein müssen, und zwar in jeder Software, jedem Dokument oder anderen Teilen oder Produkten, die Du gemäß der Implementierung des Inhalts von diesem Dokument oder Teilen davon erzeugst.
Es wird kein Recht gewährt Änderungen oder Ableitungen von W3C-Dokumenten gemäß dieser Lizenz zu erzeugen. Wenn jedoch zusätzliche Anforderungen (dokumentiert in den Copyright FAQ) erfüllt sind, so wird das Recht zum Erzeugen von Änderungen oder Ableitungen manchmal einzelnen Personen gewährt, die in diese Anforderungen einwilligen.
DIESES DOKUMENT WIRD ZUR VERFÜGUNG GESTELLT, "WIE ES IST", UND DIE COPYRIGHT-INHABER MACHEN KEINE ANGABEN ODER GEBEN GARANTIEN, WEDER AUSDRÜCKLICH NOCH IMPLIZIT, EINSCHLIESSLICH UND NICHT BEGRENZT AUF GARANTIEN ZUR MARKTREIFE, DER EIGNUNG ZU EINEM BESTIMMTEN ZWECK, NICHT-RECHTSVERLETZUNG ODER ANKÜNDIGUNG {TITEL}; DASS DER INHALT DES DOKUMENTES ZU IRGENDEINEM ZWECK VERWENDBAR IST; NOCH DASS DIE IMPLEMENTIERUNG SOLCHEN INHALTS KEINE PATENTE, COPYRIGHTS, EINGETRAGENE WARENZEICHEN ODER ANDERE RECHTE DRITTER VERLETZT.
DIE COPYRIGHT-INHABER SIND NICHT FÜR IRGENDWELCHE DIREKTEN, INDIREKTEN, SPEZIELLEN ODER FOLGESCHÄDEN VERANTWORTLICH, DIE AUS IRGENDEINEM GEBRAUCH DES DOKUMENTS ODER DER LEISTUNG ODER IMPLEMENTIERUNG DES INHALTS HERAUS DAVON ENTSTEHEN.
Der Name und die eingetragenen Warenzeichen der Copyright-Inhaber kann man NICHT in Werbung oder Annoncen zu diesem Dokument oder zu seinem Inhalt verwenden ohne besondere vorher gegebene schriftliche Genehmigung. Die Ankündigung zum {title to} Copyright in diesem Dokument verbleibt immer bei den Copyright-Inhabern.
Hinweis: Dieser Abschnitt ist eine Kopie von W3C® -Software-Copyright-Hinweis und -Lizenz {W3C® Software Copyright Notice and License} und kann gefunden werden unter http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
Copyright © 2004 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). Alle Rechte vorbehalten.
http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
Diese Arbeit (und die enthaltene Software, Dokumentationen wie READMEs und andere anhängende Einträge) wird von den Copyright-Inhabern unter folgender Lizenz bereitgestellt. Bei Erhalt, Verwendung und/oder dem Kopieren dieser Arbeit pflichtest Du (der Lizenznehmer) bei, dass Du die folgenden Begriffe und Bedingungen gelesen, verstanden und darin eingewilligt hast.
Das Recht zum Kopieren, Verändern und Verteilen dieser Software und seiner Dokumentation, mit oder ohne Veränderungen für irgendeinen Zweck und ohne Gebühren oder Abgaben wird hiermit bewilligt, vorausgesetzt, dass Du das Folgende in ALLE Kopien der Software und Dokumentation oder Teilen davon einfügst, einschließlich der Veränderungen:
DIESE SOFTWARE UND DOKUMENTATION WIRD ZUR VERFÜGUNG GESTELLT, "WIE SIE IST", UND DIE COPYRIGHT-INHABER MACHEN KEINE ANGABEN ODER GEBEN GARANTIEN, WEDER AUSDRÜCKLICH NOCH IMPLIZIT, EINSCHLIESSLICH UND NICHT BEGRENZT AUF GARANTIEN ZUR MARKTREIFE, DER EIGNUNG ZU EINEM BESTIMMTEN ZWECK, NOCH DASS DIE VERWENDUNG VON SOFTWARE ODER DOKUMENTATION KEINE PATENTE, COPYRIGHTS, EINGETRAGENE WARENZEICHEN ODER ANDERE RECHTE DRITTER VERLETZT.
DIE COPYRIGHT-INHABER SIND NICHT FÜR IRGENDWELCHE DIREKTEN, INDIREKTEN, SPEZIELLEN ODER FOLGESCHÄDEN VERANTWORTLICH, DIE AUS IRGENDEINEM GEBRAUCH VON SOFTWARE ODER DOKUMENTATION ENTSTEHEN.
Der Name und die eingetragenen Warenzeichen der Copyright-Inhaber kann man NICHT in Werbung oder Annoncen zu dieser Software verwenden ohne besondere vorher gegebene schriftliche Genehmigung. Die Ankündigung zum Copyright in dieser Software und der damit verbundenen Dokumentation verbleibt immer bei den Copyright-Inhabern.
Hinweis: Dieser Abschnitt ist eine Kopie der W3C® -Kurzfassung Software-Hinweis {W3C® Short Software Notice} und kann gefunden werden unter http://www.w3.org/Consortium/Legal/2002/copyright-software-short-notice-20021231
Copyright © 2004 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). Alle Rechte vorbehalten.
Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). Alle Rechte vorbehalten. Diese Arbeit wird unter der W3C® -Softwarelizenz {W3C® Software License} [1] vertrieben in der Hoffnung, dass dies nützlich ist, aber OHNE IRGENDWELCHE GARANTIEN; ohne gleichsam einer impliziten Garantie zur MARKTREIFE oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.
[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
XPath 1.0 [XPath 1.0] ist ein wichtiger Teil einer Vielzahl von Spezifikationen geworden, einschließlich XForms, XPointer, XSL, XML Query, und so weiter. Es ist auch ein klarer Vorteil für Applikationen, die DOM verwenden, nun mit Hilfe von XPath-Ausdrücken Knoten automatisch oder deklarativ zu lokalisieren.
Diese Spezifikation wurde erstellt, um zwischen dem W3C-Information-Set des Dokument-Objekt-Modells, und dem Modell {model} von XPath zu verbinden; zuzulassen, dass XPath-Funktionen unterstützt werden und die Ergebnisse in den Arbeitsraum der DOM-APIs nach einem standardisierten Verfahren zurückgeben werden, sowie die Sofort-Verfügbarkeit {liveness} von Daten erlaubt, die nicht durch die XPath-Spezifikation beschrieben werden, sondern von der DOM-Hierarchie selbst stammen.
Dieser Abschnitt zeigt eine Überführung zwischen dem Dokument-Objekt-Modell [DOM Level 2 Core] und dem Modell von XPath 1.0 [XPath 1.0] für Zwecke der Implementierung der APIs.
Das DOM-Modell verwendet Element-Knoten zur Repräsentierung von
Element-Informationseinheiten {Element Information Items}.
Solche Knoten werden im Dokument direkt verwendet, um die
Elemente eines XPath-Resultats zu repräsentieren.
Das DOM-Modell verwendet Attr-Knoten zur Repräsentierung von
Attribut-Informationseinehiten {Attribute Information Items}
von Attribut- und Namensraumattribut-Eigenschaften der
Element-Informationseinheit
{Element Information Item}. Solche Knoten haben keinen Elterknoten,
haben aber ein ownerElement (besitzendes Element)
das so verwendet werden kann, wie XPath Eltern von Attributen definiert.
XPath 1.0 stellt die Namensraum-Attribute eines Elements
nicht zur Verfügung. Die DOM-Implementierung von XPath 1.0
verwendet diese definierten Schnittstellen niemals direkt zur
Rückgabe von Attr-Knoten der
Namensraum-Attribute, sondern gibt die
noch enthaltenen Element-Knoten zurück.
Das XPath-Modell erwartet für jeden im Bereich gültigen Namensraum
einen Namensraum-Knoten, der mit jedem
Element {element} verbunden ist.
DOM verwaltet lediglich {only maintains} die
Namensraum-Attribute anstelle einer Replizierung des Namensraums jedes
Element-Knotens, der im Bereich liegt.
Die DOM-Implementierung von XPath erzeugt einen neuen Knoten vom Typ
XPATH_NAMESPACE_NODE, definiert in der Schnittstelle
XPathNamespace,
zur vollständigen vorgegebenen Identität und Reihenfolge
in einer Art und Weise, die mit XPath kompatibel ist.
Dieser Knotentyp ist nur bei Verwendung der
XPath-Evaluierungsmethoden sichtbar.
Das Set der im Bereich liegenden Namensräume eines Elements ist zum einen der vorgegebene xml-Namensraum und zum anderen {combined with} die beigefügten Namensraum-Attribute des aktuellen Elements und aller Vorfahren-Elemente {ancestor elements}. Zusätzlich zu den expliziten Namensraumattributen kann jedes Element eine implizite Deklaration eines Namensraums durch einen eigenen Präfix enthalten, oder, wenn kein Präfix vorhanden ist, den vorgegeben Namensraum enthalten, der durch die Namensraum-Serialisierung, -Feststellung, und -Erkennung {namespace serialization, fixup, and lookup} herbeigeführt wird, und die zum Set der im Bereich liegenden Namensräume hinzugefügt werden müssen wenn die Namensraumknoten für ein Element erzeugt werden. Diese Fälle von Namensraum-Knotensets sind konsistent zur Namensraum-Serialisierung, -Feststellung, und -Erkennung {namespace serialization, fixup, and lookup} in DOM Level 3.
Das XPath-Modell verlässt sich auf das
[
XML-Informations-Set {XML Information Set]
und repräsentiert
Zeichen-Informationseinheiten {Character Information Items}
in einem einzigen logischen Textknoten, während DOM dafür
mehrere geteilte Text-Knoten infolge von
Cdata-Abschnitten, Entity-Referenzen, und so weiter haben kann.
Anstelle der Rückgabe mehrerer Knoten, bei denen
XPath einen einzigen logischen Knoten vom Typ Text sieht, wird nur der erste
nichtleere DOM-Text- oder CDATASection-Knoten jedes logischen
XPath-Textknotens in das Knotenset zurückgegeben. Anwendungen, die XPath in
einer Umgebung mit geteilten Textknoten
verwenden, müssen den Text zu einem einzigen logischen Textknotens manuell
zusammenführen, möglicherweise beginnend
beim ersten Text- oder CDATASection-Knoten,
der von der Implementierung zurückgegeben wird.
Hinweis: In Erwartung {an attempt} einer besseren Implementierung
des XML-Informations-Sets {XML Information Set},
fügt DOM Level 3 Core [DOM Level 3
Core] das Attribut wholeText zur
Text-Schnittstelle hinzu zwecks Wiederherstellung
des gesamten Textes der
logisch angrenzenden Textknoten {logically-adjacent Text nodes}
sowie die Methode replaceWholeText
zum Ersetzen {replacing} dieser Knoten.
Das DOM-Modell kann
Informationseinheiten von nichtexpandierten Entityreferenzen
{Unexpanded Entity Reference Information Items} repräsentieren
oder die Position und das URI von expandierten Entityhierarchien unter Verwendung von
EntityReference-Knoten bereitstellen.
XPath 1.0 hält solche {corresponding} Informationen nicht fest.
Steht der Knoten für eine nichtexpandierte Entityreferenz, wird er übergangen entsprechend den XPath-Spezifikationen für alle Infoset-Informationseinheiten außer den in vorgeschriebener Weise verarbeiteten.
Gibt es eine Hierarchie unterhalb des Knotens, werden diese Knoten verarbeitet als ob sie Geschwister {siblings} der Entityreferenz sind, übereinstimmend mit dem Rest der DOM-Spezifikation.
EntityReference-Knoten, die innerhalb
einer DOM-Hierarchie gefunden wurden, werden niemals als Knoten im Ergebnis
zurückgegeben, aber zurückgegebene Knoten können EntityReference-Knoten
enthalten oder in solchen enthalten sein. Text kann teilweise
innerhalb und teilweise außerhalb eines EntityReference-Knotens
geteilt sein, aber das ist bereits gelöst durch die Handhabung
von Text-Knoten, beschrieben im vorhergehenden Abschnitt.
Das DOM-Modell verwendet Comment-Knoten zum Repräsentieren von
Kommentar-Informationseinheiten {Comment Information Items}.
Diese Knoten im Dokument werden direkt
zum Repräsentieren von Kommentaren eines XPath-Resultat verwendet.
Das DOM-Modell verwendet ProcessingInstruction-Knoten
zum Repräsentieren von
Processing-Instruction-Informationseinheiten
{Processing Instruction Information Items}.
Diese Knoten im Dokument werden direkt zum Repräsentieren von Prozessanweisungen
im XPath-Resultat verwendet.
Die Dokumentfolge {document order}
der Knoten nach der DOM-Core-Spezifikation
wurde so definiert, dass sie mit der
XPath-Dokumentfolge {XPath document order} kompatibel ist.
XPath-DOM erweitert die Dokumentordnung der
DOM-Core-Spezifikation so, dass
XPathNamespace-Knoten
eingeschlossen sind. Elementknoten erscheinen vor ihren
Kindern. Attributknoten und Namensraumknoten eines Elements
erscheinen vor den Kindern des Elements.
Namensraumknoten sind so definiert, dass sie vor den Attributknoten erscheinen.
Die relative Anordnung mehrerer Namensraumknoten ist
implementierungsabhängig. Die relative Anordnung mehrerer Attributknoten ist
implementierungsabhängig.
Die Methode compareTreePosition
der in DOM Core definierten Node-Schnittstelle muss die
XPathNamespace-Knoten unter Verwendung dieser
erweiterten Dokumentfolge vergleichen, falls das XPath-DOM-Modul
unterstützt wird.
Hinweis: In zukünftigen Versionen von XPath ist es möglich, dass die Ordnung der Namensraumknoten oder andere Aspekte der Dokumentfolge eventuell inkompatibel verändert werden.
Dieser Abschnitt erklärt die Konformität zum DOM-Level-3-XPath-Modul.
Eine DOM-Implementierung muss auf hasFeature("xpath", "3.0")
nicht true zurückgeben, außer die Implementierung ist konform zu diesem
Modul. So wie in
[DOM Level 3 Core] dokumentiert ist,
wenn ein null-Wert oder eine leere Zeichenkette für den
zweiten Parameter gesetzt ist, dann ist noch Konformität zur Version {some version}
des DOM-XPath-Moduls erforderlich, oder false muss zurückgegeben
werden.
Eine konforme Implementierung besteht nur, wenn DOM Level 3 XPath alle
Schnittstellen unterstützt, die in dieser Spezifikation spezifiziert sind.
Zusätzlich zur Implementierung der Schnittstelle im DOM-XPath-Modul muss
eine konforme Implementierung korrekt jeden Teil der XPath-1.0-Spezifikation
bei der Auswertung der Ausdrücke einschließlich der Lokalisierungspfade,
der Ausdrücke, die Kern-Funktionsbibliothek, und die
Überführung {mapping} zwischen DOM und dem XPath-1.0-Datenmodell, wie im
DOM-Level-3-XPath-Modul beschrieben, implementieren.
Die XPath-id()-Funktion muss das entsprechende {corresponding}
Element zurückgeben, jedes andere wird von der DOM-Methode
Document.getElementById zurück gegeben.
Nach dem Zutreffen der Erfordernisse zur Konformität darf eine konforme Implementierung zusätzlich Funktionen und Variablen implementieren. Anwendungen, die Ausdrücke entsprechend diesen Erweiterungen auswerten, werden nicht notwendigerweise portabel zu einer anderen Implementierung der DOM-Level-3-XPath-Module sein.
Eine Implementierung ist dann DOM-Level-3-XPath-konform, wenn sie die Kernmodule, die in [DOM Level 2 Core] definiert sind, und die in dieser Spezifikation definierten Module. Eine Implementierung ist konform zu einem DOM-Modul, wenn sie alle Schnittstellen dieses Moduls und alle damit verbundenen Bedeutungen unterstützt.
Eine DOM-Anwendung kann die Methode hasFeature(feature,
version) der DOMImplementation-Schnittstelle
mit den Parameterwerten "XPath" und "3.0" verwenden um
festzustellen, ob oder ob nicht das XPath-Modul von der Implementierung
unterstützt wird.
Gehörig zur {in order to} vollen Unterstützung dieses Moduls
muss eine Implementierung außerdem die "Core"-Eigenschaft unterstützen, die
in der DOM-Level-2-Core-Spezifikation
[DOM Level 2 Core]
definiert ist.
Eine DOM-Implementierung muss nicht den
Wert true der Methode hasFeature(feature, version)
für die betreffende Eigenschaft {feature} zurückgeben, es sei denn, die
Implementierung ist konform zu diesem Modul. Die Versionsnummer für eine
Eigenschaft die in diesem Dokument vorkommt, ist "3.0".
Eine neue Ausnahme {exception} wurde zu den Ausnahmen speziell dieser XPath-Schnittstelle hinzugefügt.
exception XPathException { unsigned short code; }; // XPathExceptionCode const unsigned short INVALID_EXPRESSION_ERR = 51; const unsigned short TYPE_ERR = 52;
INVALID_EXPRESSION_ERRXPathEvaluator-Schnittstelle hat
oder spezielle Erweiterungsfunktionen oder -variablen enthält,
die von dieser Implementierung nicht unterstützt werden.TYPE_ERRDie Auswertung von XPath-Ausdrücken wird bereitgestellt von XPathEvaluator. In einer DOM-Implementierung, die die XPath 3.0-Funktionalität {feature} so wie oben beschrieben unterstützt,
wird die XPathEvaluator-Schnittstelle im selben Objekt implementiert,
in der die Document-Schnittstelle implementiert ist, die es ermöglicht, gesetzt durch übliche bindungsspezifische Methoden wie Typwandlung {casting} oder durch die getInterface-Methode des DOM Level 3 zu wirken.
In diesem Fall stützt die Implementierung, die dem Dokument unterliegt, das XPath-DOM-Modul
und ist mit der XPath-1.0-Spezifikation kompatibel.
Die Auswertung von Ausdrücken mit spezialisierten Erweiterungsfunktionen
oder Variablen kann möglicherweise nicht in allen Implementierungen funktionieren
und ist demzufolge nicht portabel. XPathEvaluator-Implementierungen
können eventuell von anderen Quellen verfügbar sein, die spezifische Unterstützung
für spezialisierte Erweiterungsfunktionen oder Variablen bereitstellen könnten,
wie sie durch andere Spezifikationen definiert würden.
interface XPathEvaluator { XPathExpression createExpression(in DOMString expression, in XPathNSResolver resolver) raises(XPathException, DOMException); XPathNSResolver createNSResolver(in Node nodeResolver); DOMObject evaluate(in DOMString expression, in Node contextNode, in XPathNSResolver resolver, in unsigned short type, in DOMObject result) raises(XPathException, DOMException); };
createExpressionexpression vom Typ
DOMStringresolver vom Typ XPathNSResolverresolver ermöglicht die Übersetzung von allen Präfixen,
einschließlich des xml-Namensraum-Präfixes innerhalb von XPath-Ausdrücken
in die passenden Namensraum-URIs {namespace URIs}.
Ist dafür null angegeben,
so führt jeder Namensraum-Präfix {namespace prefix} mitten im Ausdruck zu DOMException mit dem Code NAMESPACE_ERR.|
Die übersetzte {compiled} Form des XPath-Ausdrucks. |
|
INVALID_EXPRESSION_ERR: Wird gesetzt,
falls der Ausdruck gemäß den Regeln von |
|
|
|
NAMESPACE_ERR: Wird gesetzt,
falls der Ausdruck Namensraum-Präfixe {namespace prefixes} enthält,
die nicht vom angegebenen |
createNSResolverlookupNamespaceURI
auf Knoten in Erkennung des Namensraum-URI von einem gegebenen Präfix
mit den aktuellen Informationen die in der Knotenhierarchie vorhanden sind,
im Moment des Aufrufs von lookupNamespaceURI, also dem richtigen Erkennen des impliziten xml-Präfixes.
nodeResolver vom Typ
Node|
|
evaluateexpression vom Typ
DOMStringcontextNode vom Typ
NodeKontext {context} ist der Kontextknoten zur Auswertung dieses XPath-Ausdrucks.
Wenn der XPathEvaluator gesetzt wurde {was obtained}
durch Typanpassung {by casting} von Document,
dann muss dieser Kontextknoten zum gleichen Dokument gehören
und muss ein Document-, Element-, Attribute-,
Text-, CDATASection-, Comment-, ProcessingInstruction-,
oder ein XPathNamespace-Knoten sein.
Ist der Kontextknoten ein Text- oder ein CDATASection-Knoten,
dann wird der Kontext interpretiert als der gesamte logische Textknoten
wie von XPath gesehen; außer der Knoten ist leer,
in diesem Fall kann er nicht als ein XPath-Kontext gelten.resolver vom Typ XPathNSResolverresolver ermöglicht die Übersetzung von allen Präfixen,
einschließlich des xml-Namensraum-Präfixes innerhalb von XPath-Ausdrücken
in die passenden Namensraum-URIs {namespace URIs}.
Ist dafür null angegeben, so führt jeder
Namensraum-Präfix {namespace prefix} mitten im Ausdruck
zu DOMException mit dem Code NAMESPACE_ERR.type vom Typ unsigned
shorttype angegeben ist,
dann wird das Ergebnis mit dem entsprechenden Typ zurückgegeben.XPathResult-Schnittstelle sein.result vom Typ
DOMObjectresult gibt ein bestimmtes Ergebnisobjekt an,
welches wieder verwendet werden kann und von dieser Methode zurückgegeben wird.
Ist der Wert null oder die Implementierung gestattet nicht
die Wiederverwendung des spezifischen Ergebnisses,
dann wird ein neues result-Objekt erzeugt und zurückgegeben.XPathResult sein.|
|
Ergebnis der Verarbeitung des XPath-Ausdrucks. |
|
INVALID_EXPRESSION_ERR: Wird gesetzt,
falls der Ausdruck gemäß den Regeln von TYPE_ERR: Wird gesetzt, falls das Ergebnis nicht mit in den angegebenen Typ überführt {converted} werden kann. |
|
|
|
NAMESPACE_ERR: Wird gesetzt, falls der Ausdruck
Namensraum-Präfixe {namespace prefixes} enthält,
die nicht vom angegebenen WRONG_DOCUMENT_ERR: Der Knoten ist von einem Dokument,
das nicht von diesem NOT_SUPPORTED_ERR: Der Knoten ist kein Typ, der als ein XPath-Kontextknoten erlaubt ist
oder der angeforderte Typ wird von diesem |
Die XPathExpression-Schnittstelle
repräsentiert einen geparsten und verarbeiteten {resolved} XPath-Ausdruck.
interface XPathExpression { DOMObject evaluate(in Node contextNode, in unsigned short type, in DOMObject result) raises(XPathException, DOMException); };
evaluatecontextNode vom Typ
NodeKontext {context} ist der Kontextknoten zur Auswertung dieses XPath-Ausdrucks.
Wenn der XPathEvaluator gesetzt wurde {was obtained}
durch Typanpassung {by casting} von Document,
dann muss dieser Kontextknoten zum gleichen Dokument gehören
und muss ein Document-, Element-, Attribute-,
Text-, CDATASection-, Comment-, ProcessingInstruction-,
oder ein XPathNamespace-Knoten sein.
Ist der Kontextknoten ein Text- oder ein CDATASection-Knoten,
dann wird der Kontext interpretiert als der gesamte logische Textknoten
wie von XPath gesehen; außer der Knoten ist leer,
in diesem Fall kann er nicht als ein XPath-Kontext gelten.type vom unsigned
shorttype angegeben ist,
dann wird das Ergebnis mit dem entsprechenden Typ zurückgegeben.XPathResult-Schnittstelle sein.result vom Typ
DOMObjectresult gibt ein bestimmtes Ergebnisobjekt an,
welches wieder verwendet werden kann und von dieser Methode zurückgegeben wird.
Ist der Wert null oder die Implementierung gestattet nicht
die Wiederverwendung des angegeben result-Wertes,
dann wird ein neues result-Objekt erzeugt und zurückgegeben.XPathResult sein.|
|
Ergebnis der Verarbeitung des XPath-Ausdrucks. |
|
TYPE_ERR: Wird gesetzt, falls das Ergebnis nicht mit in den angegebenen Typ überführt {converted} werden kann. |
|
|
|
WRONG_DOCUMENT_ERR: Der Knoten ist von einem Dokument,
das nicht vom NOT_SUPPORTED_ERR: Der Knoten ist kein Typ, der als ein XPath-Kontextknoten erlaubt ist
oder der angeforderte Typ wird von diesem |
Die XPathNSResolver-Schnittstelle erlaubt prefix-Zeichenketten im Ausdruck vollständig mit den namespaceURI-Zeichenketten zu verbinden.
XPathEvaluator kann die Implementierung
eines XPathNSResolver von einem Knoten erzeugen,
oder die Schnittstelle wurde von irgendeiner Anwendung implementiert.
interface XPathNSResolver { DOMString lookupNamespaceURI(in DOMString prefix); };
lookupNamespaceURInull oder einem leeren Argument aufrufen,
weil dann das Ergebnis undefiniert ist.
prefix vom Typ
DOMString|
|
Gibt den zugehörigen namespace URI
zurück oder |
Die XPathResult-Schnittstelle repräsentiert
das Ergebnis der Auswertung {evaluation} eines XPath-1.0-Ausdrucks innerhalb
des Kontextsets eines besonderen {particular} Knotens.
Nach {Since} der Auswertung eines XPath-Ausdrucks kann das Ergebnis in verschiedenen Typen vorliegen,
dieses Objekt macht es möglich Typ und Wert des Ergebnisses zu erkennen {discover} und
Typ und Wert des Ergebnisses zu manipulieren.
interface XPathResult { // XPathResultType const unsigned short ANY_TYPE = 0; const unsigned short NUMBER_TYPE = 1; const unsigned short STRING_TYPE = 2; const unsigned short BOOLEAN_TYPE = 3; const unsigned short UNORDERED_NODE_ITERATOR_TYPE = 4; const unsigned short ORDERED_NODE_ITERATOR_TYPE = 5; const unsigned short UNORDERED_NODE_SNAPSHOT_TYPE = 6; const unsigned short ORDERED_NODE_SNAPSHOT_TYPE = 7; const unsigned short ANY_UNORDERED_NODE_TYPE = 8; const unsigned short FIRST_ORDERED_NODE_TYPE = 9; readonly attribute unsigned short resultType; readonly attribute double numberValue; // raises(XPathException) on retrieval readonly attribute DOMString stringValue; // raises(XPathException) on retrieval readonly attribute boolean booleanValue; // raises(XPathException) on retrieval readonly attribute Node singleNodeValue; // raises(XPathException) on retrieval readonly attribute boolean invalidIteratorState; readonly attribute unsigned long snapshotLength; // raises(XPathException) on retrieval Node iterateNext() raises(XPathException, DOMException); Node snapshotItem(in unsigned long index) raises(XPathException); };
Eine Ganzzahl {integer}, die erkennen lässt, welchen Typ das Ergebnis hat.
Wenn ein bestimmter Typ {type} angegeben ist,
dann wird das Ergebnis als entsprechender Typ zurückgegeben unter Verwendung
der
XPath-Typkonvertierung {XPath type conversions},
die erforderlich und möglich ist.
ANY_TYPEANY_TYPE angefordert war,
dann ist immer UNORDERED_NODE_ITERATOR_TYPE der Ergebnistyp.
Jede andere Repräsentation eines Knotensets muss explizit angefordert werden.ANY_UNORDERED_NODE_TYPEnull sein kann,
wenn das Knotenset leer ist. Dokumentänderungen beschädigen den Knoten nicht,
erwecken aber den Eindruck, dass der
Ergebnisknoten nicht mehr zum aktuellen Dokument gehört.
Dies ist eine Vereinfachung, die eine Optimierung erlaubt,
nachdem {since} die Implementierung bei jeden möglichen Knoten stehen bleibt,
der im Ergebnisset gefunden wurde.BOOLEAN_TYPEFIRST_ORDERED_NODE_TYPEnull sein kann,
wenn das Knotenset leer ist. Dokumentänderungen beschädigen den Knoten nicht,
erwecken aber den Eindruck, dass der
Ergebnisknoten nicht mehr zum aktuellen Dokument gehört.
Dies ist eine Vereinfachung, die eine Optimierung erlaubt,
nachdem {since} die Implementierung bei jeden möglichen Knoten stehen bleibt,
der im Ergebnisset gefunden wurde.NUMBER_TYPEORDERED_NODE_ITERATOR_TYPEORDERED_NODE_SNAPSHOT_TYPESTRING_TYPEUNORDERED_NODE_ITERATOR_TYPEANY_TYPE angefordert wird.UNORDERED_NODE_SNAPSHOT_TYPEbooleanValue vom Typ
boolean, nur lesbar|
TYPE_ERR: Wird gesetzt, wenn |
invalidIteratorState
of type boolean, readonlyresultType
ein UNORDERED_NODE_ITERATOR_TYPE oder
ein ORDERED_NODE_ITERATOR_TYPE ist
und das Dokument seit Rückgabe dieses Resultats verändert wurde.numberValue of type
double, readonly|
TYPE_ERR: Wird gesetzt, wenn |
resultType vom Typ
unsigned short, nur lesbarsingleNodeValue vom Typ
Node, nur lesbarnull sein.|
TYPE_ERR: Wird gesetzt, wenn |
snapshotLength vom Typ
unsigned long, nur lesbar0
bis snapshotLength-1 inklusive.|
TYPE_ERR: Wird gesetzt, wenn |
stringValue vom Typ
DOMString, nur lesbar|
TYPE_ERR: Wird gesetzt, wenn |
iterateNextnull, wenn es keine weiteren Knoten gibt.
|
|
Gibt den nächsten Knoten zurück. |
|
TYPE_ERR: Wird gesetzt, wenn |
|
|
|
INVALID_STATE_ERR: Das Dokument wurde verändert seitdem das letzte Ergebnis zurückgegeben wurde. |
snapshotItemindexten Eintrag {indexth item}
der Schnappschuss-Kollektion zurück. Ist index größer oder gleich
der Anzahl von Knoten in der Liste, gibt diese Methode null zurück.
Abweichend vom Iteratorergebnis wird der Schnappschuss nicht zerstört,
ist aber möglicherweise nicht mehr mit dem aktuellen Dokument verbunden,
wenn dieses verändert wurde.
index vom Typ
unsigned long|
|
Der Knoten an der |
|
TYPE_ERR: Wird gesetzt, wenn |
Die XPathNamespace-Schnittstelle wird zurückgegeben
von den XPathResult-Schnittstellen um
den XPath-Namensraum-Knotentyp zu repräsentieren, der in DOM fehlt.
Es gibt keinen öffentlichen {public} Konstruktor für diesen Knotentyp.
Es wird versucht, den Knotentyp in eine Hierarchie zu platzieren,
oder ein NamedNodeMap resultiert in
einer DOMException mit dem
Codewert HIERARCHY_REQUEST_ERR.
Dieser Knoten ist nur lesbar {read only},
sodass Methoden oder Veränderungen {settings}
von Attributen, die den Knoten verändern würden, ihn in eine DOMException
mit dem Codewert HIERARCHY_REQUEST_ERR überführen.
Die Kernspezifikation {core specification} beschreibt Attribute
der Node-Schnittstelle,
die für unterschiedliche Knotentypen unterschiedlich sind,
beschreibt aber nicht XPATH_NAMESPACE_NODE,
sodass hier eine Beschreibung jener Attribute für diesen Knotentyp ist.
Alle Attribute von Node ,
die nicht in diesem Abschnitt beschrieben sind,
haben einen null- oder false-Wert.
ownerDocument stimmt überein mit dem
ownerDocument vom ownerElement,
auch wenn das Element später angebunden wurde.
nodeName ist immer die Zeichenkette
"#namespace".
prefix ist das Präfix des Namensraums repräsentiert vom Knoten.
localName ist dasselbe wie prefix.
nodeType ist gleich zu XPATH_NAMESPACE_NODE.
namespaceURI ist das Namensraum-URI vom Namensraums repräsentiert vom Knoten.
nodeValue ist dasselbe wie namespaceURI.
adoptNode, cloneNode, und
importNode funktionieren nicht bei diesem Knoten wobei
DOMException mit dem Codewert
NOT_SUPPORTED_ERR gesetzt wird.
Hinweis: In zukünftigen Versionen der XPath-Spezifikation kann die Definition eines Namensraumknotens inkompatibel verändert werden, in diesem Fall können inkompatible Veränderungen an den Feldwerten erforderlich werden um Versionen über XPath 1.0 hinaus zu implementieren.
interface XPathNamespace : Node { // XPathNodeType const unsigned short XPATH_NAMESPACE_NODE = 13; readonly attribute Element ownerElement; };
Eine Ganzzahl {integer}, die erkennen lässt, von welchem Typ der Knoten ist.
Hinweis: Es gibt gegenwärtig nur einen Knotentyp der zu XPath spezifisch ist. Die Zahlen in dieser Liste dürfen nicht {must not} mit den Werten kollidieren, die mit den Core-Knotentypen verbunden sind.
XPATH_NAMESPACE_NODENamespace-Knoten.ownerElement vom Typ
Element, nur lesbarElement, an dem der Namensraum sichtbar war,
als es angefordert wurde. Dies bewirkt keine Veränderung an einem
zurückgegebenen Namensraumknoten auch wenn das Dokument so verändert wird,
dass der Namensraum aus dem Bereich dieses
element-Knotens verschwindet und
der Knoten nicht mehr von XPath gefunden wird.Dieser Anhang enthält die kompletten OMG IDL [OMG IDL] der "Level 3 Document Object Model XPath"-Definitionen.
Die IDL-Dateien sind auch verfügbar als: http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226/idl.zip
// File: xpath.idl
#ifndef _XPATH_IDL_
#define _XPATH_IDL_
#include "dom.idl"
#pragma prefix "dom.w3c.org"
module xpath
{
typedef dom::DOMString DOMString;
typedef dom::Node Node;
typedef dom::DOMObject DOMObject;
typedef dom::Element Element;
interface XPathNSResolver;
interface XPathExpression;
exception XPathException {
unsigned short code;
};
// XPathExceptionCode
const unsigned short INVALID_EXPRESSION_ERR = 51;
const unsigned short TYPE_ERR = 52;
interface XPathEvaluator {
XPathExpression createExpression(in DOMString expression,
in XPathNSResolver resolver)
raises(XPathException,
dom::DOMException);
XPathNSResolver createNSResolver(in Node nodeResolver);
DOMObject evaluate(in DOMString expression,
in Node contextNode,
in XPathNSResolver resolver,
in unsigned short type,
in DOMObject result)
raises(XPathException,
dom::DOMException);
};
interface XPathExpression {
DOMObject evaluate(in Node contextNode,
in unsigned short type,
in DOMObject result)
raises(XPathException,
dom::DOMException);
};
interface XPathNSResolver {
DOMString lookupNamespaceURI(in DOMString prefix);
};
interface XPathResult {
// XPathResultType
const unsigned short ANY_TYPE = 0;
const unsigned short NUMBER_TYPE = 1;
const unsigned short STRING_TYPE = 2;
const unsigned short BOOLEAN_TYPE = 3;
const unsigned short UNORDERED_NODE_ITERATOR_TYPE = 4;
const unsigned short ORDERED_NODE_ITERATOR_TYPE = 5;
const unsigned short UNORDERED_NODE_SNAPSHOT_TYPE = 6;
const unsigned short ORDERED_NODE_SNAPSHOT_TYPE = 7;
const unsigned short ANY_UNORDERED_NODE_TYPE = 8;
const unsigned short FIRST_ORDERED_NODE_TYPE = 9;
readonly attribute unsigned short resultType;
readonly attribute double numberValue;
// raises(XPathException) on retrieval
readonly attribute DOMString stringValue;
// raises(XPathException) on retrieval
readonly attribute boolean booleanValue;
// raises(XPathException) on retrieval
readonly attribute Node singleNodeValue;
// raises(XPathException) on retrieval
readonly attribute boolean invalidIteratorState;
readonly attribute unsigned long snapshotLength;
// raises(XPathException) on retrieval
Node iterateNext()
raises(XPathException,
dom::DOMException);
Node snapshotItem(in unsigned long index)
raises(XPathException);
};
interface XPathNamespace : Node {
// XPathNodeType
const unsigned short XPATH_NAMESPACE_NODE = 13;
readonly attribute Element ownerElement;
};
};
#endif // _XPATH_IDL_
Dieser Anhang enthält die komplette Java-Sprachbindung [Java] für "Level 3 Document Object Model XPath".
Die Java-Dateien sind auch verfügbar als http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226/java-binding.zip
package org.w3c.dom.xpath;
public class XPathException extends RuntimeException {
public XPathException(short code, String message) {
super(message);
this.code = code;
}
public short code;
// XPathExceptionCode
public static final short INVALID_EXPRESSION_ERR = 51;
public static final short TYPE_ERR = 52;
}
package org.w3c.dom.xpath;
import org.w3c.dom.Node;
import org.w3c.dom.DOMException;
public interface XPathEvaluator {
public XPathExpression createExpression(String expression,
XPathNSResolver resolver)
throws XPathException, DOMException;
public XPathNSResolver createNSResolver(Node nodeResolver);
public Object evaluate(String expression,
Node contextNode,
XPathNSResolver resolver,
short type,
Object result)
throws XPathException, DOMException;
}
package org.w3c.dom.xpath;
import org.w3c.dom.Node;
import org.w3c.dom.DOMException;
public interface XPathExpression {
public Object evaluate(Node contextNode,
short type,
Object result)
throws XPathException, DOMException;
}
package org.w3c.dom.xpath;
public interface XPathNSResolver {
public String lookupNamespaceURI(String prefix);
}
package org.w3c.dom.xpath;
import org.w3c.dom.Node;
import org.w3c.dom.DOMException;
public interface XPathResult {
// XPathResultType
public static final short ANY_TYPE = 0;
public static final short NUMBER_TYPE = 1;
public static final short STRING_TYPE = 2;
public static final short BOOLEAN_TYPE = 3;
public static final short UNORDERED_NODE_ITERATOR_TYPE = 4;
public static final short ORDERED_NODE_ITERATOR_TYPE = 5;
public static final short UNORDERED_NODE_SNAPSHOT_TYPE = 6;
public static final short ORDERED_NODE_SNAPSHOT_TYPE = 7;
public static final short ANY_UNORDERED_NODE_TYPE = 8;
public static final short FIRST_ORDERED_NODE_TYPE = 9;
public short getResultType();
public double getNumberValue()
throws XPathException;
public String getStringValue()
throws XPathException;
public boolean getBooleanValue()
throws XPathException;
public Node getSingleNodeValue()
throws XPathException;
public boolean getInvalidIteratorState();
public int getSnapshotLength()
throws XPathException;
public Node iterateNext()
throws XPathException, DOMException;
public Node snapshotItem(int index)
throws XPathException;
}
package org.w3c.dom.xpath;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
public interface XPathNamespace extends Node {
// XPathNodeType
public static final short XPATH_NAMESPACE_NODE = 13;
public Element getOwnerElement();
}
Dieser Anhang enthält die komplette ECMAScript-Bindung [ECMAScript] für die "Level 3 Document Object Model XPath"-Definitionen.
Hinweis: Der Parameter resolver der Methode
XPathEvaluator.evaluate
ist angegeben als ein Objekt, das die
XPathNSResolver-Schnittstelle implementiert.
ECMAScript-Anwender können auch neben dieser Methode eine Funktion verwenden, die einen Wert vom Typ String zurückgibt und
einen String-Parameter anstelle des
resolver-Parameters verwendet.
Viele Leute haben zu den DOM-Spezifikationen (Level 1, 2 oder 3) einen Beitrag einschließlich der Mitglieder der DOM-Arbeitsgruppe und der DOM-Interessengruppe geleistet. Wir danken insbesondere folgenden Personen:
Andrew Clover, Andrew Watson (Object Management Group), Andy Heninger (IBM), Angel Diaz (IBM), Arnaud Le Hors (W3C and IBM), Ashok Malhotra (IBM and Microsoft), Ben Chang (Oracle), Bill Smith (Sun), Bill Shea (Merrill Lynch), Bob Sutor (IBM), Chris Lovett (Microsoft), Chris Wilson (Microsoft), David Brownell (Sun), David Ezell (Hewlett-Packard Company), David Singer (IBM), Dimitris Dimitriadis (Improve AB and invited expert), Don Park (invited), Elena Litani (IBM), Eric Vasilik (Microsoft), Gavin Nicol (INSO), Ian Jacobs (W3C), James Clark (invited), James Davidson (Sun), Jared Sorensen (Novell), Jeroen van Rotterdam (X-Hive Corporation), Joe Kesselman (IBM), Joe Lapp (webMethods), Joe Marini (Macromedia), Johnny Stenback (Netscape/AOL), Jon Ferraiolo (Adobe), Jonathan Marsh (Microsoft), Jonathan Robie (Texcel Research and Software AG), Kim Adamson-Sharpe (SoftQuad Software Inc.), Lauren Wood (SoftQuad Software Inc., former Chair), Laurence Cable (Sun), Mark Davis (IBM), Mark Scardina (Oracle), Martin Dürst (W3C), Mary Brady (NIST), Mick Goulish (Software AG), Mike Champion (Arbortext and Software AG), Miles Sabin (Cromwell Media), Patti Lutsky (Arbortext), Paul Grosso (Arbortext), Peter Sharpe (SoftQuad Software Inc.), Phil Karlton (Netscape), Philippe Le Hégaret (W3C, W3C Team Contact and former Chair), Ramesh Lekshmynarayanan (Merrill Lynch), Ray Whitmer (iMall, Excite@Home, and Netscape/AOL, Chair), Rezaur Rahman (Intel), Rich Rollman (Microsoft), Rick Gessner (Netscape), Rick Jelliffe (invited), Rob Relyea (Microsoft), Scott Isaacs (Microsoft), Sharon Adler (INSO), Steve Byrne (JavaSoft), Tim Bray (invited), Tim Yu (Oracle), Tom Pixley (Netscape/AOL), Vidur Apparao (Netscape), Vinod Anupam (Lucent).
Dank allen, die bei der Verbesserung der Spezifikation geholfen haben, indem sie Vorschläge und Korrekturen einreichten (Bitte halten Sie die Verbindung zu uns durch Ihre Beiträge!).
Ein besonderer Dank gilt den Personen, die die DOM Conformance Test Suites beisteuerten: Curt Arnold, Fred Drake, Mary Brady (NIST), Rick Rivello (NIST), Robert Clary (Netscape).
Diese Spezifikation wurde in XML geschrieben. Die HTML-, OMG IDL-, Java- und ECMAScript-Bindungen wurden alle automatisch erzeugt.
Vielen Dank an Joe English, dem Autor von cost, das zur Grundlage der Ausgabe {basis for producing} von DOM Level 1 verwendet wurde. Dank auch an Gavin Nicol, er schrieb die Skripte, die unter cost laufen. Arnaud Le Hors and Philippe Le Hégaret pflegten {maintaine} die Skripte.
Nach DOM Level 1 verwendeten wir Xerces als Grundlage der DOM-Implementierung und möchten den Autoren dafür danken. Philippe Le Hégaret und Arnaud Le Hors schrieben die Java-Programme für die DOM-Anwendungen.
Vielen Dank auch an Jan Kärrman, dem Autor von html2ps, das wir zur Erzeugung der Postscript-Version dieser Spezifikation verwenden.
Verschiedene der folgenden Begriffsdefinitionen wurden von anderen W3C- oder Standarddokumenten übernommen oder sind modifizierte Definitionen ursprünglich einfacherer Definitionen anderer W3C- oder Standarddokumente. Für weitere Informationen siehe die Links, die zu den Definitionen führen.
Dokument {Document} gibt es nur ein einziges
Dokumentelement.
Dieser Elementknoten {element node} ist ein Kind des
Document-Knotens. Siehe
Wohlgeformte XML-Dokumente {Well-Formed
XML Documents} in XML [XML 1.0].Text- oder
CDATASection-Knoten, die man entsprechend der
Dokumentfolge {document order}
nacheinander finden kann ohne in
Element-, Comment-, oder
ProcessingInstruction-Knoten einzutreten,
diese zu verlassen oder zu übergehen.Zur letzten Version irgendeiner W3C-Spezifikation konsultieren Sie bitte die Liste der Technischen Berichte des W3C {W3C Technical Reports}, verfügbar unter http://www.w3.org/TR.