Erstellung von XPath-Ausdrücken

www.altova.com Alle erweitern/reduzieren Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Benutzerreferenz > Dialogfeld '"XPath-Ausdruck bearbeiten" >

Erstellung von XPath-Ausdrücken

Wenn Sie im Dialogfeld "XPath-Ausdruck bearbeiten" auf die Schaltflächen Erstellen klicken (siehe Abbildung unten), werden Eingabehilfen zum Erstellen eines XPath-Ausdrucks angezeigt. Wenn Sie auf einen der Einträge darin doppelklicken, wird dieser an der aktuellen Cursorposition in den XPath-Ausdruck eingefügt. Das X im Text oberhalb des Textfelds - XPath X-Ausdruck - gibt die XPath-Version an. Die XPath-Version hängt von der XSLT-Version des aktuell bearbeiteten SPS ab (XPath für XSLT 1.0, XPath 2.0 für XSLT 2.0 und XPath 3.0 für XSLT 3.0). Um die XPath-Version zu wechseln, wechseln Sie die XSLT-Version des SPS.

 

Es gibt drei Eingabehilfebereiche:

 

Eine Schemastruktur zur Eingabe der Element- und Attribut-Nodes in den XPath-Ausdruck. Wenn das Kontrollkästchen Absoluter XPath deaktiviert ist, so wird der Pfad zum ausgewählten Node relativ zum Kontext-Node (dem Node im Design, in dem der XPath-Ausdruck erstellt wird) eingegeben. Ein absoluter XPath-Ausdruck beginnt am Dokument-Root-Element und wird verwendet, wenn das Kontrollkästchen Absoluter XPath aktiviert ist.
Eine Eingabehilfenbereich für: (i) Achsen (ancestor::, parent::, usw.) , (ii) Operatoren (z.B. eq und div) und (iii) Ausdrücke (for # in  # return #, usw.). In diesem Bereich werden die Achsen, Operatoren und Ausdrücke entweder in alphabetischer Reihenfolge oder nach Funktionskategorie gruppiert aufgelistet. Wählen Sie die gewünschte Option, indem Sie auf das entsprechende Symbol oberhalb des Bereichs klicken.
Eine Eingabehilfe mit den Funktionen der aktiven XPath-Version, die alphabetisch oder nach Funktionskategorie aufgelistet werden. Wählen Sie die gewünschte Option, indem Sie auf das entsprechende Symbol oberhalb des Bereichs klicken. Durch Klicken auf die Schaltflächen  n  und  t  oberhalb des Bereichs werden die Argumente der Funktionen als Namen bzw. Datentypen angezeigt.

 

 

Click to expand/collapse

 

Funktionen des Bereichs "Erstellung":

 

Um eine Textbeschreibung eines Eintrags in einem der Bereiche zu sehen, platzieren Sie den Mauszeiger darüber.
Jede Funktion wird mit ihrer Signatur angezeigt (d.h. mit ihren Argumenten, den Datentypen der Argumente und dem Datentyp der Funktionsausgabe).
Die Signaturen werden entweder nach dem Namen oder dem Datentyp der Funktionsargumente und der Funktionsausgabe aufgelistet. Aktivieren Sie die Schaltfläche  n  oder  t  oberhalb des Bereichs aus, um zwischen den beiden Anzeigeoptionen zu wechseln.
Wenn Sie in einem der Bereiche auf einen Eintrag doppelklicken (Operator, Ausdruck oder Funktion), so wird dieser an der Cursorposition in den Ausdruck eingefügt. Funktionen werden mit ihren Argumenten in Form von Platzhaltern (#-Symbol) eingefügt.
Wenn (i) im Bearbeitungsfeld des XPath-Ausdrucks Text ausgewählt ist und (ii) Sie auf einen Ausdruck oder eine Funktion mit einem Platzhalter doppelklicken, um sie einzufügen, so wird anstelle des Platzhalters der ausgewählte Text eingefügt.

 

Nachdem Sie eine Funktion in den Ausdruck eingefügt haben, werden bei Platzieren der Maus über den Funktionsnamen die Signatur der Funktion und eine Textbeschreibung der Funktion angezeigt. Wenn für eine Funktion unterschiedliche Signaturen mit demselben Namen vorhanden sind, so werden diese am unteren Rand der Anzeige mit einem Überladungsfaktor angezeigt. Wenn Sie den Cursor innerhalb der Klammern der Funktion platzieren und Strg+Umschalt+Leertaste drücken, sehen Sie die Signaturen der verschiedenen Überladungen dieses Funktionsnamens.

 

Erstellen von XPath-Ausdrücken

Über das Dialogfeld "XPath-Ausdruck bearbeiten" können Sie auf folgende Arten XPath-Ausdrücke erstellen.

 

 

Kontext-Node und Schema-Struktur

Der Kontext-Node für den XPath-Ausdruck wird im Bereich Schema-Attribut oder Element auswählen im Textfeld Auswahl angezeigt. Setzen Sie den Cursor über das Textfeld, um den gesamten Pfad des Kontext-Node zu sehen. In der Schemastruktur unterhalb des Textfelds Auswahl sehen Sie, wo der Kontext-Node vorkommt und können den XPath-Ausdruck schnell durch Referenzieren der Schemastruktur erstellen. Die Bedingung, die automatische Berechnung, usw, für die der Ausdruck erstellt wird, wird an einer Stelle innerhalb dieses Kontexts eingefügt und der XPath-Ausdruck wird mit diesem Node als Kontext ausgewertet.

 

Einfügen eines Node aus der Schemastruktur

Im Bereich Schema-Attribut oder Element auswählen wird das gesamte Schema angezeigt. Durch Doppelklick auf den entsprechenden Node können Sie einen Node aus der Schemastruktur in den XPath-Ausdruck einfügen. Wenn das Kontrollkästchen Absoluter XPath nicht aktiviert ist, wird der Node mit einer Pfadangabe eingegeben, die relativ zum Kontext-Node ist. So wurde z.B. in der Abbildung oben, das Element Newsitem, welches ein Child-Element des Elements Newsitems (dem Kontextnode) ist, mit einem Pfad eingefügt, der (d.h. alsNewsitem) relativ zum Kontext-Node ist. Wäre das Kontrollkästchen §Absoluter XPath" aktiviert, wäre der Newsitem Node als $XML/presswatch/newsitems/newsitem eingefügt worden.

 

Namespace-Informationen

Die Schemastruktur im Bereich Schema-Attribut oder Element auswählen enthält einen Namespace-Eintrag. Wenn Sie diesen Eintrag erweitern, werden alle im Stylesheet deklarierten Namespaces angezeigt. Diese Informationen sind oft hilfreich um die Präfixe eines Namespace zu überprüfen, den Sie in einem XPath-Ausdruck verwenden möchten.

 

Einfügen von XPath-Achsen, Operatoren und -Ausdrücken

Im Bereich Operator/Ausdruck auswählen werden je nach XPath-Version   XPath-Achsen (ancestor::, parent::, usw.), Operatoren (z.B. eq und div) und Ausdrücke (for # in  # return #, usw.) aufgelistet. Sie können zwischen einer alphabetischen und einer hierarchischen Liste (in der die Elemente nach Funktion gruppiert werden) wechseln. Um eine Achse oder einen Operator in den XPath-Ausdruck einzufügen, doppelklicken Sie auf den gewünschten Eintrag.

 

Einfügen von XPath-Funktionen

Im Bereich Funktion auswählen werden die XPath-Funktionen alphabetisch oder nach Funktionalität gruppiert aufgelistet (Klicken Sie auf das entsprechende Symbol oben im Bereich, um zwischen den beiden Anzeigearten zu wechseln). Jede Funktion wird mit ihrer Signatur aufgelistet. Wenn eine Funktion mehrere Signaturen hat, wird sie so oft aufgelistet, wie sie Signaturen hat. Argumente in einer Signatur sind durch Kommas getrennt und jedes Argument kann einen Instanzindikator haben (? bedeutet eine Sequenz von null oder einem Objekt des angegebenen Typs; * bedeutet eine Sequenz von null oder mehr Objekten des angegebenen Typs). Die Argumente können als Namen oder Datentypen angezeigt werden; wählen Sie die Schaltfläche  n  oder  t  , oberhalb des Bereichs, um zwischen den beiden Abzeigeoptionen zu wechseln. Für jede  Funktion ist auch der Rückgabetyp dieser Funktion definiert. So zeigt z.B. => date ? an, dass es sich beim erwarteten Rückgabedatentyp um eine Sequenz von keinem oder einem date Element handelt. Wenn Sie den Mauszeiger über eine Funktion positionieren, wird eine kurze Beschreibung der Funktion angezeigt.

 

 

DlgEditXPath_Function

 

Um eine Funktion in den XPath-Ausdruck einzufügen, doppelklicken Sie auf die gewünschte Funktion.

 

In XPath-Ausdrücken können Java- und .NET-Erweiterungsfunktionen verwendet werden, wodurch Sie Zugriff auf die Funktionen dieser Programmiersprachen erhalten. Über die Schaltflächen Java und .NET am unteren Rand des Dialogfelds können Sie Info-Felder mit Erklärungen zur Verwendung von Java- und .NET-Erweiterungsfunktionen in XPath-Ausdrücken aufrufen. Nähere Informationen dazu finden Sie in dieser Dokumentation im Abschnitt Erweiterungsfunktionen.

 

Intelligente Bearbeitung während der Texteingabe

Wenn Sie einen Ausdruck in das Textfeld Ausdruck eingeben, werden die verfügbaren Optionen in einem Popup-Fenster angezeigt (Abbildung unten).

 

XPathDialogIntelliSense

 

Zur Auswahl stehen Elemente (wie z.B. in der Abbildung oben presswatch), untergeordnete Nodes (presswatch/selection in der Abbildung oben), XPath-Funktionen (fn:upper-case oben) und XPath-Achsen (ancestor-or-self oben). Die Liste der verfügbaren Optionen wird während der Eingabe von Ausdrücken in das Textfeld Ausdruck eingeschränkt. Mit Hilfe der Nach oben und Nach unten-Tasten können Sie durch die Liste der Optionen navigieren. Drücken Sie die Eingabetaste, um eine Option auszuwählen und in den Ausdruck einzufügen.

 

Das Kontrollkästchen "Andernfalls"

Über das Kontrollkästchen Andernfalls (siehe Abbildung unten) wird als letzte Verzweigung eine Andernfalls-Verzweigung zu einer Bedingungsvorlage hinzugefügt. In einer Bedingungsvorlage darf nur eine einzige Andernfalls-Verzweigung vorhanden sein. Wenn eine Bedingungsvorlage ausgewertet wird, wird die erste Verzweigung, deren Ergebnis true ergibt, ausgeführt. Wenn keine der Verzweigungen zu true ausgewertet wird, so wird die Andernfalls-Verzweigung ausgeführt, falls vorhanden. Andernfalls wird die Bedingungsvorlage geschlossen, ohne dass irgendeine ihrer Verzweigungen ausgeführt wird. Da die Andernfalls-Bedingung nur dann ausgeführt wird, wenn keine der vorhergehenden Bedingungen zu true ausgewertet wurde, muss keine Bedingung dafür definiert werden. Wenn Sie daher das Kontrollkästchen "Andernfalls" aktivieren, ist das Eingabefeld des XPath-Ausdrucks deaktiviert.

 

DlgEditXPathOtherwise

 

Nähere Informationen zur Verwendung der Andernfalls-Bedingung finden Sie unter Bedingungsvorlagen.

 

 

 


© 2019 Altova GmbH