Altova MobileTogether Designer

Lorsque l'événement est déclenché, l'action Insérer le/s nœud/s insère un ou plusieurs nœuds avant un nœud sélectionné par l'expression XPath pour les paramètres Insérer avant le nœud. Le nœud inséré peut être un nœud unique, une séquence de nœuds ou tout un fragment d'arborescence. Ces nœuds insérés sont construits à l'aide de la syntaxe de construction XML de XQuery. Tous les sept types de nœuds XML peuvent être construits en utilisant cette syntaxe XQuery : éléments, attributs, texte, document, commentaire, instruction de traitement et espace de nom.

MTDInsertNode01
Note:La différence entre Insérer un nœud et Apposer un nœud est que le premier insère le/s nœud/s avant le/s nœud/s sélectionné/s, alors que Apposer un nœud ajoute le nœud en tant que (premier ou dernier) nœud enfant du nœud sélectionné.

 

Emplacement du nœud inséré

Le nouveau nœud est inséré avant que le nœud retourné par l'expression XPath pour ce paramètre (Insérer avant nœud). Dans la capture d'écran ci-dessus, le nouveau nœud est inséré avant le premier élément Product (sélectionné avec l'expression XPath Product[1]). Le nœud contextuel est le parent de Product, un nœud nommé Products. Si le prédicat [1] n'est pas utilisé, tous les enfants Product de Products seront retournés par l'expression XPath et le nouveau nœud sera inséré avant chaque élément Product.

 

Nouveaux nœuds

De nouveaux nœuds peuvent être saisis en tant que constructeurs XML directs comme dans la capture d'écran ci-dessus :

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

 

Cela insère l'élément MyElement-01 avant le premier élément Product, comme dans la capture d'écran ci-dessous.

MTDInsertNode02

Vous pouvez également utiliser une expression de localisation XPath pour insérer un nœud (et tous ses descendants) depuis une source de page sur la page. Par exemple :

\$XML2/Row

 

 

Des constructeurs de nœuds calculés par XQuery peuvent aussi être utilisés, par exemple :

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

attribute myatt{"value"} 

 

L'expression XPath ci-dessous produit la sortie montrée dans la capture d'écran ci-dessous, insérée au-dessus du premier élément Product.

 

<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

 

Supprimer les nœuds insérés de leurs emplacements originaux

Si les nœuds insérés sont obtenus à partir de l'une des sources de page du projet, vous pouvez supprimer les supprimer de leur emplacement d'origine en cochant la case Supprimer un nœud de son emplacement actuel. Si de nouveaux nœuds sont générés directement, c'est à dire sans référence aux sources de page du projet, alors la sélection de cette option n'aura aucune conséquence sur les sources de page.

 

La variable \$MT_TargetNode

Dans la définition d’Insérer un nœud, le nœud avant lequel l’insertion est effectuée est automatiquement enregistré dans la variable intégrée \$MT_TargetNode de MobileTogether Designer. Cette variable peut ensuite être utilisée dans la deuxième expression XPath de la définition, comme montré dans la capture d'écran ci-dessous.

MTDInsertNode04

La deuxième expression XPath qui crée le nouveau nœud en utilisant le même nom que le nœud cible (\$MT_TargetNode) en tant que partie du nom du nouveau nœud.

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

 

Le résultat de l'action Insérer le/s nœud(s) définie ci-dessus est montré dans la capture d'écran ci-dessous.

MTDInsertNode05

 

Fonctions d'extension de MobileTogether

MobileTogether fournit une série de fonctions d'extension XPath qui ont été créées spécifiquement pour l'utilisation dans les designs MobileTogether. Quelques fonctions peuvent être particulièrement utiles avec des actions spécifiques. Par exemple, mt-available -languages() renvoie les langues dans lesquelles la solution est disponible et pourrait, par exemple, être utilisée avec l'action Boîte de messages. Si une fonction est particulièrement pertinente pour cette action, elle se trouvera dans la liste ci-dessous. Pour une liste complète de ces fonctions d'extension et leurs descriptions, voir la page <Fonctions d'extension MobileTogether.

© 2017-2023 Altova GmbH