Remplacer un nœud
Lorsque l'action est déclenchée,
1.L'ensemble de nœuds spécifiés par l'expression XPath Sous-nœuds est supprimé depuis un nœud cible (spécifié dans le paramètre nœud cible ), le cas échéant.
2.L'ensemble de nœuds spécifiés par l'expression XPath Sous-nœuds est copié depuis un nœud source (spécifié dans le paramètre Parent de nœud source), vers le nœud cible. L'ensemble de nœud peut être apposé soit en tant que premier enfant ou dernier enfant du nœud cible
L'expression XPath du paramètre Sous-nœud est évaluée séparément pour la source et la cible : dans le contexte, respectivement, du nœud spécifié en tant que le nœud source et du nœud spécifié en tant que nœud cible.
L'action Remplacer le nœud est une combinaison de deux actions : Supprimer nœud(s) et Apposer nœud(s).
Exemple
Ci-dessous, vous trouverez deux exemples qui démontrent comment fonctionne l'action Remplacer le nœud.
Remplacement simple
Considérez la structure des deux arborescences XML affichées dans le volet de Sources de page affichées ci-dessous.
•$XML1/ArticleOriginal a un élément enfant nommé Body.
•$XML2/ArticleCopy a des éléments enfant nommés Header, Intro, et Body, dans cet ordre
Nous pouvons remplacer l'élément Body de ArticleCopy avec l'élément Body d'ArticeOriginal en utilisant l'action Remplacer le nœud comme dans la capture d'écran ci-dessous.
L'action apposer un sous-nœud nommé Body a au moins un dernier enfant provenant d'un nœud de source nommé ArticleOriginal vers une cible nommée ArticleCopy. La capture d’écran ci-dessous montre les sources de page pendant une simulation, une fois que l’action a été exécutée. Veuillez noter que l'élément Body de ArticleCopy a été remplacé par l'élément Body de ArticleOriginal.
Veuillez noter que Header et Intro n'ont pas été touchés, mais que Body a été remplacé. Si ArticleCopy n'avait pas eu d'élément Body, un nouvel élément Body aurait été ajouté.
L'expression XPath Body (spécifiée dans le paramètre Sous-nœud) est évaluée dans le contexte du Nœud de source et de l'expression XPath Nœud cible, respectivement, afin de (i) situer l'ensemble de nœud de source à copier, et (ii) situer le nœud à partir duquel supprimer et dans lequel apposer.
Remplacement d'une sous-arborescence complète
La capture d'écran ci-dessous montre les paramètres nécessaires pour apposer une ensemble de nœud complet depuis un nœud de (source) vers un autre nœud (cible). Tous les éléments descendants du nœud source $XML1/office/usa, avec leurs attributs, sont apposé au nœud cible $XML2/offices/office[@id="usa"].
La séquence exacte des actions est la suivante :
1.L'expression XPath Sous-nœud *, @* situe tous les éléments descendants du nœud cible $XML2/offices/office[@id="usa"], et les supprime.
2.L'expression XPath Sous-nœud *, @* situe tous les éléments descendants du nœud cible $XML1/office/usa, et les copie en tant qu'un seul ensemble de nœud dans le nœud cible $XML2/offices/office[@id="usa"]. Puisque tous les éléments enfants du nœud cible ont été supprimés, le nouveau sous-nœud remplacera complètement les descendants précédents du nœud cible.
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.