Document Object Model (DOM) Level 3 XPath SpezifikationVersion 1.0Kommentierte Übersetzung ins Deutsche10.Dezember 2003Das ist die deutsche Übersetzung der W3C-Kandidat-Empfehlung "Document Object Model (DOM) Level 3 XPath Spezifikation, Version 1.0" vom 31. März 2003. 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/2003/CR-DOM-Level-3-XPath-20030331 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 ©2003 W3C® (MIT, ERCIM, Keio), Alle Rechte vorbehalten. Die Rechte an der Übersetzung liegen beim Übersetzer, Copyright © 2003 Wolfgang Bock Bemerkungen zur ÜbersetzungDiese Version wird vom Übersetzer noch als Rohübersetzung betrachtet. Der Inhalt des Originaldokuments der Form "Single HTML File" ist vollständig enthalten. Jedem originalen Abschnitt folgt ein übersetzter Abschnitt mit derselben Hintergrundfarbe wie in diesem Abschnitt. Kommentare und Hinzufügungen wurden zusätzlich in geschweifte Klammern {} gesetzt. Umgekehrt sind Texte in geschweiften Klammern in jedem Fall Anmerkungen des Übersetzers. So wurden an bestimmten Stellen übersetzten Fachbegriffen das Original in geschweiften Klammern nachgesetzt, oder bei freier Übersetzung bestimmter Passagen die Originalpassage. Im allgemeinen wurde versucht, möglichst wortgetreu zu übersetzen. Eine verbesserte Übersetzung ist in Arbeit. Jede folgende Übersetzung wird immer die des neuesten Stands des Originaldokuments sein. |
This document is also available in these non-normative formats: XML file, plain text, PostScript file, PDF file, single HTML file, and ZIP file.
Copyright ©2003 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
Dieses Dokument ist auch in folgenden nichtnormativen Formaten verfügbar: XML-Datei, Nur Text, PostScript-Datei, PDF-Datei, als einzige HTML-Datei, und als ZIP-Datei.
Copyright ©2003 W3C® (MIT, ERCIM, Keio), Alle Rechte vorbehalten. Es gelten die W3C-Regeln für Haftung, Warenzeichen, Verwendung von Dokumenten und Softwarelizenzierung.
This specification defines the Document Object Model Level 3 XPath. It provides simple functionalities to access a DOM tree using [XPath 1.0].
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.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. The latest status of this document series is maintained at the W3C.
This is a Candidate Recommendation of "DOM Level 3 XPath" and is based on the feedback received during the Last Call period. The DOM Working Group expects to request that the Director advance this specification to Proposed Recommendation after the DOM Working Group documents two interoperable implementations of at least one normative binding. Basic tests of features of this specification will be produced and used in this effort. The two implementations must be produced by different organizations. The Working Group expects to satisfy those requirements by 26 May 2003 and afterwards submit the tests to the DOM Test Suite. Please send reviews before the review period ends to the public mailing list www-dom@w3.org. An archive is available at http://lists.w3.org/Archives/Public/www-dom/.
Individuals or organizations are also invited to send a message to the public mailing list if they intend to produce an implementation of this module.
It is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress". This is work in progress and does not imply endorsement by, or the consensus of, W3C.
This document has been produced as part of the W3C DOM Activity. The authors of this document are the DOM Working Group members.
An implementation report is also available.
Patent disclosures relevant to this specification may be found on the Working Group's patent disclosure page.
A list of current W3C Recommendations and other technical documents can be found at http://www.w3.org/TR.
Dieser Abschnitt beschreibt den Status des Dokuments zum Zeitpunkt seiner Veröffentlichung. Andere Dokumente können dieses Dokument ersetzen. Der neueste Status dieser Dokumentserie liegt in der Hand des W3C.
Dieses Dokument ist eine Kandidat-Empfehlung zu DOM Level 3 XPath" und beruht auf eingegangene Rückmeldungen während des Last-Call-Zeitraums. Die DOM-Arbeitsgruppe sieht dem Ersuchen entgegen, dass der Direktor diese Spezifikation weiterführt, nachdem die DOM-Arbeitsgruppe zwei betriebsfähige Implementierungen von mindestens einer normativen Bindung dokumentiert hat. In diesem Rahmen werden grundlegende Tests der Eigenschaften dieser Spezifikation angewendet. Die zwei Implementierungen müssen von verschiedenen Organisationen durchgeführt werden. Die Arbeitsgruppe hofft diesen Anforderungen bis zum 26 Mai 2003 gerecht zu werden und anschließend die Tests der DOM-Test-Suite hinzuzufügen. Bitte senden Sie Berichte vor dem Ende des Prüfzeitraums zur öffentlichen Mailing-Liste www-dom@w3.org. Ein Archiv ist unter http://lists.w3.org/Archives/Public/www-dom/ verfügbar.
Einzelpersonen oder Organisationen werden ebenfalls gebeten, eine Nachricht an die öffentliche Mailing-Liste zu senden, wenn sie eine Implementierung dieses Moduls beabsichtigen.
Es {dieses Dokument} ist ein Entwurfsdokument und kann jederzeit überarbeitet, ausgetauscht oder aufgrund eines anderen Dokuments als veraltet eingestuft werden. Es ist nicht angebracht, einen W3C-Arbeitsentwurf als Referenzmaterial zu verwenden oder anders als "noch in Arbeit" zu zitieren. Dieses Dokument ist in Arbeit und impliziert keine {weitergehende} Bestätigung durch oder in Übereinstimmung mit dem W3C.
Dieses Dokument wurde als Teil der W3C-DOM-Aktivitäten erstellt. 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 der Arbeitsgruppe gefunden werden.
Eine Liste der aktuellen W3C Empfehlungen und anderer technischer Dokumente sind zu finden unter http://www.w3.org/TR.
Copyright © 2003 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). All Rights Reserved.
This document is published under the W3C® Document Copyright Notice and License. The bindings within this document are published under the W3C® Software Copyright Notice and License. The software license requires "Notice of any changes or modifications to the W3C files, including the date changes were made." Consequently, modified versions of the DOM bindings must document that they do not conform to the W3C standard; in the case of the IDL definitions, the pragma prefix can no longer be 'w3c.org'; in the case of the Java language binding, the package names can no longer be in the 'org.w3c' package.
Copyright © 2003 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). Alle Rechte vorbehalten.
Dieses Dokument wurde unter W3C® Dokument-Copyright-Hinweise und Lizenzierung veröffentlicht. Die Sprachbindungen im Dokument wurden unter W3C® Software-Copyright-Hinweise und Lizenzierung veröffentlicht. 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.
Note: This section is a copy of the W3C® Document Notice and License and could be found at http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231.
Copyright © 2003 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). All Rights Reserved.
http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
Public documents on the W3C site are provided by the copyright holders under the following license. By using and/or copying this document, or the W3C document from which this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
Permission to copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that you use:
When space permits, inclusion of the full text of this NOTICE should be provided. We request that authorship attribution be provided in any software, documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof.
No right to create modifications or derivatives of W3C documents is granted pursuant to this license. However, if additional requirements (documented in the Copyright FAQ) are satisfied, the right to create modifications or derivatives is sometimes granted by the W3C to individuals complying with those requirements.
THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to this document or its contents without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders.
Hinweis: Dieser Abschnitt ist eine Kopie von "W3C® Document Notice and License" und ist zu finden unter http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231.
Copyright © 2003 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 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 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. Jedoch wenn zusätzliche Anforderungen (dokumentiert in Copyright FAQ) erfüllt werden, so wird das Recht zum Erzeugen von Änderungen oder Ableitungen manchmal einzelnen Personen gewährt, die in diese {zusätzlichen} 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 Copyright in diesem Dokument verbleibt immer bei der Copyright-Inhabern.
Note: This section is a copy of the W3C® Software Copyright Notice and License and could be found at http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
Copyright © 2003 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). All Rights Reserved.
http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
Permission to copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications:
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
Hinweis:Dieser Abschnitt ist eine Kopie von "W3C® Software Copyright Notice and License" und ist zu finden unter http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
Copyright © 2003 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) sind 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 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 Dokumention verbleibt immer bei der Copyright-Inhabern.
Note: This section is a copy of the W3C® Short Software Notice and could be found at http://www.w3.org/Consortium/Legal/2002/copyright-software-short-notice-20021231
Copyright © 2003 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). All Rights Reserved.
Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). All Rights Reserved. This work is distributed under the W3C® Software License [1] in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
Hinweis: Dieser Abschnitt ist eine Kopie von "W3C® Short Software Notice" und ist zu finden unter http://www.w3.org/Consortium/Legal/2002/copyright-software-short-notice-20021231
Copyright © 2003 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® Software License [1]" vertrieben in der Hoffnung, dass dies nützlich ist, aber OHNE IRGENDWELCHE GARANTIEN; {und} ohne gleichsam einer impliziten Garantie zu 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] is becoming an important part of a variety of many specifications including XForms, XPointer, XSL, XML Query, and so on. It is also a clear advantage for user applications which use DOM to be able to use XPath expressions to locate nodes automatically and declaratively.
This specification was created to map between the Document Object Model's representation of the W3C Information Set and XPath's model to permit XPath functions to be supplied and results returned within the framework of DOM APIs in a standard, interoperable way, allowing also for liveness of data, which is not addressed by the XPath specification but is present in results coming from the DOM hierarchy.
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 Anwendungsapplikationen 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 des DOM-API nach einem standardisierten Verfahren zurückgeben werden, sowie den Erhalt {liveness} von Daten gestattet, die nicht durch die XPath-Spezifikation beschrieben werden, sondern von der DOM-Hierarchie selbst stammen.
This section presents a mapping between the Document Object Model [DOM Level 2 Core] and the XPath 1.0 [XPath 1.0] model for the purposes of implementing the APIs.
The DOM model uses Element nodes to represent
Element Information Items. These nodes of a document
are directly used to represent the elements of an XPath result.
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 Knoten vom Typ Element 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.
The DOM model uses Attr nodes to represent
Attribute Information Items of attribute and namespace
attribute properties of
Element Information Item. These nodes have no parent,
but have an ownerElement which can be used as XPath
defines an attribute's parent.
XPath 1.0 does not make available the namespace attributes of an
element. The DOM implementation of XPath 1.0 using these defined
interfaces never directly returns Attr nodes of
namespace attributes, but returned Element nodes still
contain them.
Das DOM-Modell verwendet Knoten vom Typ Attr zur Repräsentierung von
Attribut-Informationseinheiten {Attribute Information Items} von Attributen
und Namensraumattribut-Eigenschaften von
Element-Informationseinheiten {Element Information Item}.
Solche Knoten haben kein Elternteil, haben aber ein ownerElement {besitzendes Element}
das so verwendet werden kann, wie XPath die Attribut-Elternknoten definiert.
XPath 1.0 stellt die Namensraum-Attribute eines Elements nicht zur Verfügung.
Die DOM-Implementierung von XPath 1.0 verwendet diese definierte Schnittstellen
niemals direkt zur Rückgabe von Attr-Knoten der Namensraum-Attribute,
sondern gibt die noch enthaltenen Element-Knoten zurück.
The XPath model expects namespace nodes for each in-scope
namespace to be attached to each element. DOM only maintains
the namespace attributes instead of replicating in-scope namespaces
on each Element where they are in-scope. The DOM
implementation of XPath produces a new node of type
XPATH_NAMESPACE_NODE, defined in the XPathNamespace
interface, to properly preserve identity and ordering in a way that
is compatible with XPath. This node type is only visible using the
XPath evaluation methods.
The set of in-scope namespaces of an element is the default xml namespace combined with the contributions of namespace attributes of the current and all ancestor elements. In addition to explicit namespace attributes, any element has an implicit declaration of its own prefix, if any, or if no prefix then of the default namespace, which is enforced during namespace serialization, fixup, and lookup, which must be added to the set of in-scope namespaces when generating namespace nodes for an element. This causes the set of namespace nodes to be consistent with serialization, fixup, and lookup of namespaces in DOM Level 3.
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 XPathNamespace-Schnittstelle
{interface}, 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 Namesnraumknoten 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.
The XPath model relies on the XML Information Set [XML Information
set] ands represents
Character Information Items in a single logical text
node where DOM may have multiple fragmented Text nodes
due to cdata sections, entity references, etc. Instead of returning
multiple nodes where XPath sees a single logical text node, only
the first non-empty DOM Text or
CDATASection node of any logical XPath text will be
returned in the node set. Applications using XPath in an
environment with fragmented text nodes must manually gather the
text of a single logical text node possibly from multiple nodes
beginning with the first Text node or
CDATASection node returned by the implementation.
Note: In an attempt to better implement the XML
Information Set, DOM Level 3 Core [DOM Level 3 Core] adds the
attribute wholeText on the Text interface
for retrieving the whole text for logically-adjacent
Text nodes and the method replaceWholeText
for replacing those nodes.
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 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 Knoten vom Typ Text oder
CDATASection-Knoten,
der von der Implementierung zurückgegeben wird.
Hinweis: Im Versuch {in 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 von
logisch angrenzenden Textknoten {logically-adjacent Text nodes} sowie die Methode replaceWholeText
zum Ersetzen dieser Knoten.
The DOM model may represent
Unexpanded Entity Reference Information Items or may
provide the position and URI of expanded entity hierarchies by
using EntityReference nodes. XPath 1.0 does not
preserve corresponding information.
Where the node represents an unexpanded entity reference, it is skipped as dictated by the XPath specifications for all infoset items besides those specifically processed.
Where there is a hierarchy underneath the node, these nodes are processed as though they were siblings of the entity reference, as is consistent with the rest of the DOM specification.
EntityReference nodes found within a DOM hierarchy
are never returned as a node of the result, but returned nodes may
contain or be contained within an EntityReference
node. Text may be split partially inside and partially outside of
an EntityReference node, but this is solved by
handling Text nodes as described in the previous
section.
Das DOM-Modell kann
Informationseinheiten von nichtexpandierenden 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 nichtexpandierende Entityreferenz, wird er übergangen entsprechend den XPath-Spezifikationen für alle Infoset-Informationmseinheiten außer den in vorgeschriebener Weise verarbeiteten.
Gibt es eine Hierarchie unterhalb des Knotens, werden diese Knoten verarbeitet als ob sie Geschwister {sinlings} 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 EntityReference-Knoten
enthalten sein. Text kann teilweise innerhalb und teilweise außerhalb eines
EntityReference-Knotens geteilt sein, aber das ist bereits gelöst durch das
Text-Knoten-Handling, beschrieben im vorhergehenden Abschnitt.
The DOM model uses Comment nodes to represent
Comment Information Items. These nodes of a document
are directly used to represent the comments of an XPath result.
Das DOM-Modell verwendet Knoten vom Typ Comment um
Kommentar-Informationseinheiten {Comment Information Items}
zu repräsentieren.
Diese Knoten im Dokument werden direkt zum Repräsentieren
von Kommentaren im XPath-Resultat verwendet.
The DOM model uses ProcessingInstruction nodes to
represent
Processing Instruction Information Items. These nodes of a
document are directly used to represent the processing instructions
of an XPath result.
Das DOM-Modell verwendet Knoten vom Typ ProcessingInstruction um
Processing-Instruction-Informationseinheiten {Processing Instruction Information Items}
zu repräsentieren. Diese Knoten im Dokument werden direkt zum Repräsentieren von
Prozessanweisungen {Processing Instructions} im XPath-Resultat verwendet.
The document
order of nodes in the DOM Core has been defined to be
compatible with the
XPath document order. The XPath DOM extends the document
order of the DOM Core to include the XPathNamespace nodes.
Element nodes occur before their children. The attribute nodes and
namespace nodes of an element occur before the children of the
element. The namespace nodes are defined to occur before the
attribute nodes. The relative order of namespace nodes is
implementation-dependent. The relative order of attribute nodes is
implementation-dependent. The compareTreePosition
method on the Node interface defined in the DOM Core
must compare the XPathNamespace nodes
using this extended document order if the XPath DOM module is
supported.
Note: It is possible that in future versions of XPath, the order of namespace nodes or other aspects of document order may change incompatibly.
Die Dokumentfolge {document
order} der Knoten nach der DOM-Core-Spezifikation wurde
so definiert, dass sie mit der
Dokumentfolge in XPath {XPath document order} kompatibel ist.
Das 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 der DOM-Core-Spezifikation definierten Knoten {node}-Schnittstelle muss die
Knoten vom Typ XPathNamespace
vergleichen können, die in der erweiterten Dokumentordnung verwendet werden,
wenn das XPath-DOM-Modul unterstützt wird.
Hinweis: In zukünftigen Versionen von XPath ist es möglich, dass die Anordnung von Namensraumknoten oder andere Aspekte der Dokumentfolge eventuell inkompatibel verändert werden.
This section explains conformance to DOM Level 3 XPath Module.
A DOM implementation must not return true to
hasFeature("xpath", "3.0") unless the implementation
conforms to that module. As documented in [DOM Level 3
Core], if a null or empty string is passed in for
the second parameter, then conformance is still required to some
version of the DOM XPath Module or false must be
returned.
A conformant implementation is DOM Level 3 XPath must support
all the interfaces as specified in that specification. In addition
to implementing the interfaces in the DOM XPath Module, a
conforming implementation must correctly implement each part of the
XPath 1.0 specification when evaluating expressions including
Location Paths, Expressions, the Core Function Library, and the
mapping between DOM and the XPath 1.0 data model described in the
DOM Level 3 XPath Module. The XPath id()function must
return the corresponding element, if any, returned by the DOM
method Document.getElementById.
After meeting the requirements for conformance, a conforming implementation may implement additional functions and variables. Applications which evaluate expressions using these extensions will not necessarily be portable to other implementations of the DOM Level 3 XPath Module.
Dieser Abschnitt erklärt die Übereinstimmung zum DOM-Level-3-XPath-Modul.
Eine DOM-Implementierung muss auf hasFeature("xpath", "3.0") nicht
logisch wahr {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 zu einer Version des DOM-XPath-Moduls erforderlich,
oder logisch unwahr {false} wird zurückgegeben.
Eine konforme Implemtierung 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 {muss} von der DOM-Methode Document.getElementById
{zurück gegeben werden}.
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.
An implementation is DOM Level 3 XPath conformant if it supports the Core module defined in [DOM Level 2 Core] and the module defined in this specification. An implementation conforms to a DOM module if it supports all the interfaces for that module and the associated semantics.
A DOM application may use the hasFeature(feature,
version) method of the DOMImplementation
interface with parameter values "XPath" and "3.0" (respectively) to
determine whether or not the XPath module is supported by the
implementation. In order to fully support this module, an
implementation must also support the "Core" feature defined in the
DOM Level 2 Core specification [DOM Level 2 Core].
A DOM implementation must not return true to the
hasFeature(feature, version) method of the
DOMImplementation interface for that feature unless the
implementation conforms to that module. The version number for the
feature used in this document is "3.0".
Eine Implementierung ist DOM-Level-3-XPath-konform, wenn sie die Kernmodule, die in [DOM Level 2 Core] definiert sind, sowie das Modul unterstützt, das in dieser Spezifikation beschrieben ist. Eine Implementierung ist konform zu einem DOM-Modul, wenn sie alle Schnittstellen dieses Moduls und alle damit verbundenen Bedeutungen unterstützt.
Eine DOM-Anwendung {DOM application} kann die Methode hasFeature(feature,
version) der DOMImplementation-Schnittstelle
mit den Parameterwerten "XPath" und
"3.0" (beziehungsweise) 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"-Eigenschaften unterstützen,
die in der DOM-Level-2-Core-Spezifikation [DOM Level 2 Core]
definiert sind.
Eine DOM-Implementierung muss nicht den Wert logisch wahr {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".
A new exception has been created for exceptions specific to these XPath interfaces.
exception XPathException { unsigned short code; }; // XPathExceptionCode const unsigned short INVALID_EXPRESSION_ERR = 51; const unsigned short TYPE_ERR = 52;
INVALID_EXPRESSION_ERRXPathEvaluator or
contains specialized extension functions or variables not supported
by this implementation.TYPE_ERREine neue Ausnahme {exception} wurde 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 enthält
oder spezielle Erweiterungsfunktionen oder Variablen hat, die von dieser Implementierung nicht unterstützt werden.TYPE_ERRThe evaluation of XPath expressions is provided by
XPathEvaluator. In a DOM implementation which supports
the XPath 3.0 feature, as described above, the
XPathEvaluator interface will be implemented on the
same object which implements the Document interface
permitting it to be obtained by the usual binding-specific method
such as casting or by using the DOM Level 3 getInterface method. In
this case the implementation obtained from the Document supports
the XPath DOM module and is compatible with the XPath 1.0
specification.
Evaluation of expressions with specialized extension functions
or variables may not work in all implementations and is, therefore,
not portable. XPathEvaluator implementations may be
available from other sources that could provide specific support
for specialized extension functions or variables as would be
defined by other specifications.
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 of type
DOMStringresolver of type XPathNSResolverresolver permits translation of all prefixes,
including the xml namespace prefix, within the XPath
expression into appropriate namespace URIs. If
this is specified as null, any namespace prefix
within the expression will result in DOMException
being thrown with the code NAMESPACE_ERR.|
The compiled form of the XPath expression. |
|
INVALID_EXPRESSION_ERR: Raised if the expression is not legal
according to the rules of the |
|
|
|
NAMESPACE_ERR: Raised if the expression contains namespace prefixes
which cannot be resolved by the specified |
createNSResolverlookupNamespaceURI on nodes in resolving the
namespaceURI from a given prefix using the current information
available in the node's hierarchy at the time lookupNamespaceURI is
called. also correctly resolving the implicit xml prefix.
nodeResolver of type
Node|
|
evaluateexpression of type
DOMStringcontextNode of type
Nodecontext is context node for the evaluation of
this XPath expression. If the XPathEvaluator was obtained by
casting the Document then this must be owned by the
same document and must be a Document,
Element, Attribute, Text,
CDATASection, Comment,
ProcessingInstruction, or XPathNamespace node.
If the context node is a Text or a
CDATASection, then the context is interpreted as the
whole logical text node as seen by XPath, unless the node is empty
in which case it may not serve as the XPath context.resolver of type XPathNSResolverresolver permits translation of all prefixes,
including the xml namespace prefix, within the XPath
expression into appropriate namespace URIs. If
this is specified as null, any namespace prefix
within the expression will result in DOMException
being thrown with the code NAMESPACE_ERR.type of type unsigned
shorttype is specified, then the result
will be returned as the corresponding type.XPathResult
interface.result of type
DOMObjectresult specifies a specific result object
which may be reused and returned by this method. If this is
specified as nullor the implementation does not reuse
the specified result, a new result object will be constructed and
returned.XPathResult.|
|
The result of the evaluation of the XPath expression. |
|
INVALID_EXPRESSION_ERR: Raised if the expression is not legal
according to the rules of the TYPE_ERR: Raised if the result cannot be converted to return the specified type. |
|
|
|
NAMESPACE_ERR: Raised if the expression contains namespace prefixes
which cannot be resolved by the specified WRONG_DOCUMENT_ERR: The Node is from a document that is not
supported by this NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
context node or the request type is not permitted by this
|
Die 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 entspricht die Implementierung erwirkt vom Dokument dem XPath-DOM-Modul und ist
kompatibel mit der Spezifikation zu XPath 1.0.
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 vorfügbar sein,
die spezifische Unterstützung für spezialisierte Erweiterungsfunktionen bereitstellen könnten.
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 xml-Namenraum-Präfixen inmitten 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 Kode NAMESPACE_ERR.|
Die übersetzte Form des XPath-Ausdrucks. |
|
INVALID_EXPRESSION_ERR: Wird gesetzt, falls der Ausdruck
gemäß den Regeln von |
|
|
|
NAMESPACE_ERR: Wird gesetzt, falls der Ausdruck Namesraum-Präfixe {namespace prefixes}
enthält, die nicht vom angegebenen |
createNSResolverlookupNamespaceURI im DOM Level 3
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 von Typ
Node|
|
evaluateAusdruck {expression} vom Typ
DOMStringcontextNode vom Typ
NodeKontext {context} ist der Kontextknoten zur Auswertung dieses XPath-Ausdrucks.
Wenn der XPathEvaluator gesetzt wurde {was obtained}
durch Verarbeitung {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 xml-Namenraum-Präfixen inmitten 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 Kode 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 wiederverwendet werden kann und von dieser Methode zurückgegeben wird.
Ist {der Parameter} mit null angegeben oder die Implementierung
gestattet nicht die Wiederverwendung des angegeben result-Wertes, dann wird ein
neues result-Objekt erzeugt und zurückgegeben.XPathResult sein.|
|
{Dies ist} das Ergebnis der Verarbeitung des XPath-Ausdrucks. |
|
INVALID_EXPRESSION_ERR:
Wird gesetzt, falls der Ausdruck gemäß den Regeln von TYPE_ERR: Wird gesetzt, wenn der Ausdruck nicht zur Rückgabe des entsprechenden Typs konvertiert werden kann. |
|
|
|
NAMESPACE_ERR:
Wird gesetzt, falls der Ausdruck
Namesraum-Präfixe {namespace prefixes} enthält,
die nicht vom angegebenen WRONG_DOCUMENT_ERR: {Gilt wenn} der Knoten als von einem Dokument stammend erkannt wird,
das nicht von diesem NOT_SUPPORTED_ERR: {Gilt wenn} der Knoten nicht von einem Typ ist, der als XPath-Kontextknoten gelten kann,
oder der angeforderte Typ nicht von diesem |
The XPathExpression interface represents a parsed
and resolved XPath expression.
interface XPathExpression { DOMObject evaluate(in Node contextNode, in unsigned short type, in DOMObject result) raises(XPathException, DOMException); };
evaluatecontextNode of type
Nodecontext is context node for the evaluation of
this XPath expression.Document then this must be owned by the same document
and must be a Document, Element,
Attribute, Text,
CDATASection, Comment,
ProcessingInstruction, or XPathNamespace
node.Text or a
CDATASection, then the context is interpreted as the
whole logical text node as seen by XPath, unless the node is empty
in which case it may not serve as the XPath context.type of type unsigned
shorttype is specified, then the result
will be coerced to return the specified type relying on XPath
conversions and fail if the desired coercion is not possible. This
must be one of the type codes of XPathResult.result of type
DOMObjectresult specifies a specific result object
which may be reused and returned by this method. If this is
specified as nullor the implementation does not reuse
the specified result, a new result object will be constructed and
returned.XPathResult.|
|
The result of the evaluation of the XPath expression. |
|
TYPE_ERR: Raised if the result cannot be converted to return the specified type. |
|
|
|
WRONG_DOCUMENT_ERR: The Node is from a document that is not
supported by the XPathEvaluator that created this
NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath
context node or the request type is not permitted by this
|
Die XPathExpression-Schnittstelle repräsentiert
einen geparsten und endverarbeiteten {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.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.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 Typ unsigned
shorttype angegeben ist,
dann wird das Resultat gezwungenermaßen den angegeben type
beruhend auf XPath-Konvertierungen zurückzugeben;
oder schief gehen {fail}, wenn die gewünschte Zwangsumwandlung nicht möglich ist.XPathResult-Schnittstelle sein.result vom Typ
DOMObjectresult spezifiziert ein bestimmtes Ergebnisobjekt
welches wiederverwendet werden kann und von dieser Methode zurückgegeben wird.
Ist {der Wert} null angegeben oder die Implementierung gestattet nicht
die Wiederverwendung des angegebenen result-Wertes,
dann wird ein neues result-Objekt erzeugt und zurückgegeben.
Bei Ergebnissen in XPath 1.0 wird dieses Objekt vom Typ
XPathResult sein.|
|
{Das ist} das Ergebnis der Verarbeitung des XPath-Ausdrucks. |
|
TYPE_ERR: Wird gesetzt, wenn der Ausdruck nicht zur Rückgabe des angegebenen Typs konvertiert werden kann. |
|
|
|
WRONG_DOCUMENT_ERR:
Der Knoten wird als von einem Dokument stammend erkannt, das nicht vom
XPathEvaluator unterstützt wird der diesen
NOT_SUPPORTED_ERR: Der Knoten ist nicht von einem Typ,
der als XPath-Kontextknoten gelten kann,
oder der angeforderte Typ ist nicht für diesen
|
The XPathNSResolver interface permit
prefix strings in the expression to be properly bound
to namespaceURI strings. XPathEvaluator can
construct an implementation of XPathNSResolver from a
node, or the interface may be implemented by any application.
interface XPathNSResolver { DOMString lookupNamespaceURI(in DOMString prefix); };
lookupNamespaceURInull
or empty argument, because the result of doing this is undefined.
prefix of type
DOMString|
|
Returns the associated namespace URI or
|
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 {bereits} 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 entsprechenden Namensnsraum-URI {namespace URI}
oder {den Wert} |
The XPathResult interface represents the result of
the evaluation of an XPath 1.0 expression within the context of a
particular node. Since evaluation of an XPath expression can result
in various result types, this object makes it possible to discover
and manipulate the type and value of the result.
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); };
An integer indicating what type of result this is.
If a specific type is specified, then the result
will be returned as the corresponding type, using
XPath type conversions where required and possible.
ANY_TYPEANY_TYPE was
requested, then UNORDERED_NODE_ITERATOR_TYPE is always
the resulting type. Any other representation of a node set must be
explicitly requested.ANY_UNORDERED_NODE_TYPEnullif the node set is
empty. Document modification does not invalidate the node, but may
mean that the result node no longer corresponds to the current
document. This is a convenience that permits optimization since the
implementation can stop once any node in the resulting set has been
found.BOOLEAN_TYPEFIRST_ORDERED_NODE_TYPEnull if the node set is
empty. Document modification does not invalidate the node, but may
mean that the result node no longer corresponds to the current
document. This is a convenience that permits optimization since the
implementation can stop once the first node in document order of
the resulting set has been found.NUMBER_TYPEORDERED_NODE_ITERATOR_TYPEORDERED_NODE_SNAPSHOT_TYPESTRING_TYPEUNORDERED_NODE_ITERATOR_TYPEANY_TYPE is requested.UNORDERED_NODE_SNAPSHOT_TYPEbooleanValue of type
boolean, readonly|
TYPE_ERR: raised if |
invalidIteratorState
of type boolean, readonlyresultType is
UNORDERED_NODE_ITERATOR_TYPE or
ORDERED_NODE_ITERATOR_TYPE and the document has been
modified since this result was returned.numberValue of type
double, readonly|
TYPE_ERR: raised if |
resultType of type
unsigned short, readonlysingleNodeValue of type
Node, readonlynull.|
TYPE_ERR: raised if |
snapshotLength of type
unsigned long, readonly0 to
snapshotLength-1 inclusive.|
TYPE_ERR: raised if |
stringValue of type
DOMString, readonly|
TYPE_ERR: raised if |
iterateNextnullif there are no more nodes.
|
|
Returns the next node. |
|
TYPE_ERR: raised if |
|
|
|
INVALID_STATE_ERR: The document has been mutated since the result was returned. |
snapshotItemindexth item in the
snapshot collection. If index is greater than or equal
to the number of nodes in the list, this method returns
null. Unlike the iterator result, the snapshot does
not become invalid, but may not correspond to the current document
if it is mutated.
index of type
unsigned long|
|
The node at the |
|
TYPE_ERR: raised if |
Die XPathResult-Schnittstelle
repräsentiert das Ergebnis der Auswertung {evaluation} eines Ausdrucks in XPath 1.0
inmitten des Kontextsets eines einzelnen {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 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 zeigt den Typ des Ergebnisses an.
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 stehenbleibt,
der im Ergebnisset gefunden wurde.BOOLEAN_TYPEFIRST_ORDERED_NODE_TYPEnull sein kann, wenn das Knotenset leer ist.
Eine Dokumentänderung kann den Knoten nicht beschädigen,
erweckt 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 stehenbleibt,
der im Ergebnisset gefunden wurde.NUMBER_TYPEORDERED_NODE_ITERATOR_TYPEORDERED_NODE_SNAPSHOT_TYPESTRING_TYPEUNORDERED_NODE_ITERATOR_TYPEANY_TYPE angefordert ist.UNORDERED_NODE_SNAPSHOT_TYPEbooleanValue ist vom Typ
boolean, readonly|
TYPE_ERR: wird gesetzt, wenn |
invalidIteratorState
vom Typ 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 vom Typ
double, readonly|
TYPE_ERR: wird gesetzt, wenn |
resultType vom Typ
unsigned short, readonlysingleNodeValue vom Typ
Node, readonlynull sein.|
TYPE_ERR: wird gesetzt wenn |
snapshotLength vom Typ
unsigned long, readonly0 bis
snapshotLength-1 inklusive.|
TYPE_ERR: wird gesetzt wenn |
stringValue vom Typ
DOMString, readonly|
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 Ergebnis zurückgegeben wurde. |
snapshotItemindexten Eintrag {indexth item} der Snapshot-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 Snapshot 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 |
The XPathNamespace interface is returned by XPathResult
interfaces to represent the XPath namespace node type that DOM
lacks. There is no public constructor for this node type. Attempts
to place it into a hierarchy or a NamedNodeMap result in a
DOMException with the code
HIERARCHY_REQUEST_ERR. This node is read only, so methods
or setting of attributes that would mutate the node result in a
DOMException with the code
NO_MODIFICATION_ALLOWED_ERR.
The core specification describes attributes of the
Node interface that are different for different node
types but does not describe XPATH_NAMESPACE_NODE, so
here is a description of those attributes for this node type. All
attributes of Node not described in this section have
a null or false value.
ownerDocument matches the
ownerDocument of the ownerElement even if
the element is later adopted.
nodeName is always the string
"#namespace".
prefix is the prefix of the namespace represented
by the node.
localName is the same as prefix.
nodeType is equal to
XPATH_NAMESPACE_NODE.
namespaceURI is the namespace URI of the namespace
represented by the node.
nodeValue is the same as
namespaceURI.
adoptNode, cloneNode, and
importNode fail on this node type by raising a
DOMException with the code
NOT_SUPPORTED_ERR.
Note: In future versions of the XPath specification, the definition of a namespace node may be changed incomatibly, in which case incompatible changes to field values may be required to implement versions beyond XPath 1.0.
interface XPathNamespace : Node { // XPathNodeType const unsigned short XPATH_NAMESPACE_NODE = 13; readonly attribute Element ownerElement; };
An integer indicating which type of node this is.
Note: There is currently only one type of node which is specific to XPath. The numbers in this list must not collide with the values assigned to core node types.
XPATH_NAMESPACE_NODENamespace.ownerElement of type
Element, readonlyElement on which the namespace was in scope
when it was requested. This does not change on a returned namespace
node even if the document changes such that the namespace goes out
of scope on that element and this node is no
longer found there by XPath.Die XPathNamespace-Schnittstelle wird zurückgegeben von der
XPathResult-Schnittstelle
um den XPath-Namensraumknotentyp zu repräsentieren, dem DOM fehlt.
Es gibt keinen öffentlichen {public} Konstruktor für diesen Knotentyp.
Es wird versucht, {den Knotentyp} in die Hierarchie zu platzieren oder ein
NamedNodeMap resultiert in einer
DOMException mit dem Kodewert
HIERARCHY_REQUEST_ERR.
Dieser Knoten ist read only,
so Methoden oder Einstellungen von Attributen die verändert wurden, der Knoten in eine
DOMException mit dem Kodewert
NO_MODIFICATION_ALLOWED_ERR resultiert.
Die Kernspezifikation {core specification} beschreibt Attribute der
Node-Schnittstelle, das jedoch, unterschiedlich für verschiedene Knotentypen,
beschreibt jedoch nicht
XPATH_NAMESPACE_NODE, so dass es
hier eine Beschreibung dieser Attribute für diesen Knotentyp gibt.
Alle Attribute von Node, die nicht in diesem Abschnitt beschrieben sind,
haben einen null- oder false-Wert.
ownerDocument stimmt überein mit dem
ownerDocument von ownerElement
auch wenn das Element später angebunden wurde.
nodeName ist immer die Zeichenkette
"#namespace".
prefix ist der Präfix des Namensraums
repräsentiert durch den Knoten.
localName ist dasselbe wie prefix.
nodeType ist gleich zu
XPATH_NAMESPACE_NODE.
namespaceURI ist der Namensraum-URI des Namensraums
repräsentiert durch den Knoten.
nodeValue ist dasselbe wie
namespaceURI.
adoptNode, cloneNode, und
importNode funktionieren nicht bei diesem Knoten wobei
DOMException mit dem Kodewert
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 steht für den Knotentyp.
Hinweis: Es gibt gegenwärtig nur einen Knotentyp der in XPath spezifisch ist. Die Anzahl in dieser Liste muss nicht mit den Werten kollidieren, die mit den Core-Knotentypen verbunden sind.
XPATH_NAMESPACE_NODENamespace.ownerElement vom Typ
Element, readonlyElement, 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.This appendix contains the complete OMG IDL [OMG IDL] for the Level 3 Document Object Model XPath definitions.
The IDL files are also available as: http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/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 kompletten OMG IDL [OMG IDL]-Definitionen für "Level 3 Document Object Model XPath".
Die IDL-Dateien sind auch verfügbar als: http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/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_
This appendix contains the complete Java [Java] bindings for the Level 3 Document Object Model XPath.
The Java files are also available as http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/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 Java[Java]-Sprachbindung für "Level 3 Document Object Model XPath".
Die Java-Dateien sind auch verfügbar als http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/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();
}
This appendix contains the complete ECMAScript [ECMAScript] binding for the Level 3 Document Object Model XPath definitions.
Note: The parameter resolver of the method
XPathEvaluator.evaluate
is specified as an object that implements the XPathNSResolver
interface. ECMAScript users can also pass to this method a function
which returns a String and takes a String
parameter instead of the resolver parameter.
Dieser Anhang enthält die komplette ECMAScript [ECMAScript]-Bindung 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.
Many people contributed to the DOM specifications (Level 1, 2 or 3), including members of the DOM Working Group and the DOM Interest Group. We especially thank the following:
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).
Thanks to all those who have helped to improve this specification by sending suggestions and corrections (Please, keep bugging us with your issues!).
Special thanks to the DOM Conformance Test Suites contributors: Curt Arnold, Fred Drake, Mary Brady (NIST), Rick Rivello (NIST), Robert Clary (Netscape).
This specification was written in XML. The HTML, OMG IDL, Java and ECMAScript bindings were all produced automatically.
Thanks to Joe English, author of cost, which was used as the basis for producing DOM Level 1. Thanks also to Gavin Nicol, who wrote the scripts which run on top of cost. Arnaud Le Hors and Philippe Le Hégaret maintained the scripts.
After DOM Level 1, we used Xerces as the basis DOM implementation and wish to thank the authors. Philippe Le Hégaret and Arnaud Le Hors wrote the Java programs which are the DOM application.
Thanks also to Jan Kärrman, author of html2ps, which we use in creating the PostScript version of the specification.
Viele Leute haben zu den DOM-Spezifikationen (Level 1, 2 oder 3) einen Beitrag einschließlich die Mitglieder der DOM-Arbeitsgruppe und der DOM-Interessengruppe geleistet. Wir danken insbesondere folgenden Personen:
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 spezieller 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 {ein Programm}, das zur Grundlage der Produktion 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 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.
Several of the following term definitions have been borrowed or modified from similar definitions in other W3C or standards documents. See the links within the definitions for more information.
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.
Document.
This element node is a child of the Document node. See
Well-Formed
XML Documents in XML [XML 1.0].Dokument {Document} gibt es nur ein einziges Dokumentelement.
Dieser Elementknoten {element node} ist ein Kind des Dokument-Knotens. Siehe
Wohlgeformte XML-Dokumente {Well-Formed
XML Documents} in XML [XML 1.0].Text or
CDataSection nodes that may be visited sequentially in
document
order without entering, exiting, or passing over
Element, Comment, or
ProcessingInstruction nodes.Text- oder
CDataSection-Knoten die man entsprechend der
Dokumentfolge {document
order} nacheinander finden kann ohne in
Element-, Kommentar {Comment}- oder
ProcessingInstruction-Knoten einzutreten, diese zu verlassen oder zu übergehen.For the latest version of any W3C specification please consult the list of W3C Technical Reports available at http://www.w3.org/TR.
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.