Ausdruckserstellung
Im Erstellungsmodus können Sie in Bezug auf den aktuellen Kontext-Node korrekte XPath-Ausdrücke erstellen. Sie können darin korrekte Locator-Pfade eingeben, Nodes in der Schemastruktur auswählen und syntaktisch korrekte Operatoren und Funktionen eingeben. Durch Klick auf die Schaltfläche Erstellen (siehe Abbildung unten) gelangen Sie zur Ausdruckserstellung. Wenn Sie auf die Schaltfläche Erstellen klicken, werden Eingabehilfen zum Erstellen eines XPath-Ausdrucks angezeigt. Wenn Sie auf einen Eintrag darin doppelklicken, wird dieser an der aktuellen Cursorposition in den Ausdrucksbereich eingefügt. Bei Klick auf OK wird der Ausdruck an der aktuellen Stelle im Design eingegeben.
Es gibt drei Eingabehilfebereiche:
•Eine Schemstruktur zum Auswählen und Eingeben von Element- und Attribut-Nodes. Wenn das Kontrollkästchen Relativer XPath (wie in der Abbildung oben) aktiviert 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. Der Kontext-Node wird unterhalb des Schemastrukturbereichs angezeigt. In der Abbildung oben sehen Sie, dass der Kontext-Node das Element Customer ist. Außerdem sehen Sie an der Titelleiste des Fensters, dass dieser XPath-Ausdruck für die Eigenschaft Text des Steuerelements Label3 erstellt wird. Wenn das Kontrollkästchen Relativer XPath deaktiviert bleibt, wird ein absoluter XPath-Ausdruck zum ausgewählten Node eingegeben; ein solcher Ausdruck würde beim Dokument-Root-Element beginnen, z.B: $CUSTOMERS/Customers/Customer/Name.
•Einen Eingabehilfenbereich für Operatoren und Ausdrücke: Dazu gehören: (i) Achsen (ancestor::, parent::, usw.) , (ii) Operatoren (z.B. eq und div) und (iii) Ausdrücke (for # in # return #, usw.). Die Elemente in diesem Bereich können entweder in alphabetischer Reihenfolge oder nach Funktionskategorie gruppiert aufgelistet werden. Wählen Sie in der Titelleiste des Bereichs aus dem Dropdown-Menü für die gruppierte Option Hierarchisch und für die alphabetische Liste Flache Hierarchie aus.
•Eine Eingabehilfe mit XPath-Funktionen, die alphabetisch aufgelistet oder nach Funktionskategorie gruppiert werden. Wählen Sie in der Titelleiste des Bereichs aus dem Dropdown-Menü für die gruppierte Option Hierarchisch und für die alphabetische Liste Flache Hierarchie aus. Über die Option Namen/Typen können Sie auswählen, ob die Argumente der Funktion als Namen oder Datentypen angezeigt werden sollen. Beachten Sie, dass die Liste der verfügbaren Funktionen MobileTogether-Erweiterungsfunktionen und Altova-Erweiterungsfunktionen enthält.
Funktionen des Erstellungsbereichs
•Um eine Textbeschreibung eines Eintrags in den Bereichen "Operatoren" und "Funktionen" 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. Wählen Sie aus dem Dropdown-Menü in der Titelleiste des Bereichs entweder Namen oder Typen für die entsprechende Option aus.
•Wenn Sie in einem der drei Eingabehilfebereiche (Operator, Ausdruck oder Funktion) auf einen Eintrag doppelklicken , 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 (in der Abbildung oben z.B. Name) und (ii) Sie auf einen Ausdruck oder eine Funktion mit einem Platzhalter doppelklicken, um sie einzufügen, so wird anstelle des ersten 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 ein Popup-Fenster mit der Signatur der Funktion und einer Textbeschreibung der Funktion angezeigt. Wenn für eine Funktion unterschiedliche Signaturen mit demselben Namen vorhanden sind, so wird dies am unteren Rand der Anzeige mit einem Überladungsfaktor angezeigt. (Anmerkung: Wenn mehrere Funktionen denselben Namen haben, jede davon aber unterschiedliche Argumentgruppen erhält, so wird diese Funktionsgruppe als eine einzige Funktion mit mehreren Signaturen betrachtet.)
•Wenn Sie den Cursor im Ausdrucksbereich innerhalb der Klammern der Funktion platzieren und Strg+Umschalt+Leertaste drücken, sehen Sie die verschiedenen Signaturen dieser Funktion.
Erstellen von XPath-Ausdrücken
Im Dialogfeld "XPath-Ausdruck bearbeiten" stehen Ihnen bei der Erstellung von XPath-Ausdrücken die folgenden Hilfsmittel zur Verfügung.
•Titelleiste von Fenstern
In der Titelleiste des XPath/XQuery-Fensters werden Informationen über den Kontext (wie z.B. die Designkomponente (Projekt, Seite, Steuerelement, usw.) und Eigenschaft), für den der Ausdruck erstellt wird, angezeigt. So wird etwa der Ausdruck in der Abbildung oben für die Eigenschaft Text des Steuerelements Label3 auf einer Seite namens Customers erstellt.
•Kontext-Node und Schema-Struktur
Im Kontext-Textfeld unmittelbar unterhalb des Schemastrukturbereichs wird der Kontext-Node des Ausdrucks angezeigt. In der Schemastruktur selbst sehen Sie, wo der Kontext-Node vorkommt und können den XPath-Ausdruck schnell durch Referenzieren der Schemastruktur erstellen.
•Einfügen eines Node aus der Schemastruktur
Durch Doppelklick auf den entsprechenden Node können Sie diesen in den XPath-Ausdruck einfügen. Wenn das Kontrollkästchen Relativer XPath aktiviert ist, wird der Node mit einem Location-Pfad, die relativ zum Kontext-Node ist, eingefügt. So wurde z.B. in der Abbildung oben, das Element Name, welches ein Child-Element des Elements Customer (dem Kontextnode) ist, mit einem Pfad eingefügt, der relativ zum Element Customer ist. Wenn das Kontrollkästchen Relativer XPath deaktiviert wäre, würde der Node Name als $CUSTOMERS/Customers/Customer/Name eingefügt.
•Einfügen von XPath-Achsen, Operatoren und -Ausdrücken
Im Bereich Operator/Ausdruck auswählen werden die 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. Wenn Sie den Mauszeiger über eine Achse, einen Operator oder einen Ausdruck platzieren, wird eine kurze Beschreibung dazu angezeigt.
•Einfügen von XPath-Funktionen
Im Bereich Funktion auswählen werden die XPath-Funktionen alphabetisch oder nach Funktionalität gruppiert aufgelistet (Wählen Sie oben im Bereich Hierarchisch oder Flache Hierarchie aus, 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 werden durch Kommas getrennt. Jedes Argument kann einen Instanzindikator haben. Das Symbol ? bedeutet eine Sequenz von null oder einem Objekt des angegebenen Typs; * bedeutet eine Sequenz von null oder mehr Objekten des angegebenen Typs; + bedeutet eine Sequenz von einem oder mehreren Objekten des angegebenen Typs). Die Argumente können als Namen oder Datentypen angezeigt werden. Wählen Sie am oberen Rand des Bereichs die entsprechende Option (Namen oder Typen) aus, um zwischen den beiden Anzeigeoptionen 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 null oder einem date Element handelt. Wenn Sie den Mauszeiger über eine Funktion positionieren, wird eine kurze Beschreibung der Funktion angezeigt.
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).
Zur Auswahl stehen die folgenden Komponenten:
•Elemente (wie z.B. in der Abbildung oben presswatch),
•untergeordnete Nodes (presswatch/selection in der Abbildung oben) und Parent-Node des Kontext-Node
•XPath-Funktionen (fn:upper-case oben) und XPath-Achsen (ancestor-or-self oben).
•eine Liste der für das Projekt definierten globalen Variablen (werden angezeigt, wenn das Zeichen $ in den Ausdruck eingegeben wird)
•eine Liste der im Dialogfeld "Lokalisierung" definierten benutzerdefinierten Strings (werden angezeigt, wenn die Funktion mt-load-string in den Ausdruck eingegeben wird; siehe Beschreibung von mt-load-string)
Mit Hilfe der Nach oben und Nach unten-Pfeiltasten können Sie durch die Liste der Optionen navigieren. Drücken Sie die Eingabetaste, um eine Option auszuwählen und in den Ausdruck einzugeben.