Altova MobileTogether Designer

Die Aktion "Node(s) einfügen" fügt einen oder mehrere Nodes vor dem/den vom XPath-Ausdruck für die Einstellung Vor Node einfügen ausgewählten Node(s) ein. Dabei kann es sich um einen einzelnen Node, eine Sequenz von Nodes oder ein gesamtes Strukturfragment handeln. Diese eingefügten Nodes werden mit Hilfe der XML-Konstruktorsyntax von XQuery erstellt. Mit der XQuery-Syntax können alle sieben XML-Nodearten erstellt werden: Elemente, Attribute, Text, Dokument, Comment, Processing Instruction und Namespace.

MTDInsertNode01
Anmerkung:Der Unterschied zwischen Node(s) einfügen und Node(s) anhängen ist, dass der/die Node(s) mit Node(s) einfügen vor dem/den ausgewählten Node(s) hinzugefügt wird/werden, während der/die Node(s) mit Node(s) anhängen) als (erster oder letzter) Child-Node des/der ausgewählten Node(s) hinzugefügt wird/werden.

 

Position des/der eingefügten Node(s)

Der/die neue(n) Node(s) werden vor dem/den vom XPath-Ausdruck für diese Einstellung (Vor Node einfügen) zurückgegebenen Node(s) eingefügt. In der Abbildung oben werden die neuen Nodes vor dem ersten Product-Element (das mit dem XPath-Ausdruck Product[1] ausgewählt wird) eingefügt. Der Kontext-Node ist der Parent von Product, ein Node namens Products. Wenn das Prädikat [1] nicht verwendet wird, werden vom XPath-Ausdruck alle Product-Children von Products zurückgegeben und der/die neue(n) Node(s) wird/werden vor den einzelnen Product-Elementen eingefügt.

 

Neue Nodes

Neue Nodes können wie in der Abbildung oben als direkte XML-Konstruktoren eingegeben werden:

<MyElement-01 myatt="value">Element Content</MyElement-01>

 

Damit wird das Element MyElement-01, wie in der Abbildung unten gezeigt, vor dem ersten Product Element eingefügt.

MTDInsertNode02

Sie können auch einen XPath Locator-Ausdruck verwenden, um eine Node (und alle seine Nachfahren) aus einer Seitenquelle auf der Seite einzufügen. Zum Beispiel:

\$XML2/Row

 

 

Auch die XQuery-Konstruktoren für berechnete Nodes können verwendet werden. Beispiel:

element MyElement-01 {xs:string("Element Content")}

attribute myatt{"value"} 

 

Der XPath-Ausdruck unten erzeugt das in der Abbildung unten gezeigte Ergebnis, das oberhalb des ersten Product-Elements eingefügt wird.

 

<MyElement-01 myatt="value">Element Content</MyElement-01>,

element MyElement-02 {"Element Content"},

element MyElement-03 {element MyElement-04 {"Element Content"}},

element MyElement-05{attribute myatt{"value"}, element MyElement-06{}} 

MTDInsertNode03

 

Entfernen eingefügter Nodes von ihrer ursprünglichen Stelle

Wenn der/die eingefügten Node(s) aus einer der Seitenquellen des Projekts stammen, können Sie den/die Node(s) von der Originalposition löschen, indem Sie das Kontrollkästchen eingefügte(n) Node(s) von der aktuellen Stelle entfernen aktivieren. Wenn neue Nodes direkt erstellt werden - also ohne Referenz auf die Seitenquellen des Projekts - so hat das Aktivieren dieser Option keine Auswirkung auf die Seitenquellen.

 

Die Variable \$MT_TargetNode

Der Node in der Node(s) einfügen-Definition, vor dem die Einfügung erfolgen soll, wird automatisch in der vordefinierten MobileTogether Designer-Variablen \$MT_TargetNode. gespeichert. Diese Variable kann anschließend, wie in der Abbildung unten gezeigt, im zweiten XPath-Ausdruck der Definition verwendet werden.

MTDInsertNode04

Der zweite XPath-Ausdruck, der den neuen Node mit demselben Namen wie dem des Ziel-Node (\$MT_TargetNode) als Teil des neuen Node-Namens erstellt.

element {concat("MyNew"name(\$MT_TargetNode))} {"Element Content"} 

 

Das Ergebnis der oben definierten Aktion "Node(s) einfügen" sehen Sie in der Abbildung unten.

MTDInsertNode05

 

MobileTogether-Erweiterungsfunktionen

MobileTogether enthält eine Reihe von XPath-Erweiterungsfunktionen, die speziell für die Verwendung in MobileTogether-Designs erstellt wurden. Einige davon können bei bestimmten Aktionen sehr nützlich sein. So erhalten Sie etwa mit mt-available-languages() die Sprachen, in denen die Lösung zur Verfügung steht. Diese Funktion könnte z.B. mit der Aktion Meldungsfeld verwendet werden. Wenn eine Funktion für diese Aktion besonders relevant ist, ist sie unten aufgelistet. Eine vollständige Liste aller Erweiterungsfunktionen und mit Beschreibungen finden Sie im Kapitel MobileTogether-Erweiterungsfunktionen.

© 2017-2023 Altova GmbH