S'il vous plaît considérer cet exemple naïf:créer un noeud à partir de la différence de deux fichiers XML avec la même structure tag
let $Best := <root>
<p name='p1'>
<s name='s1'>
<line nr='1' ci='0'/>
<line nr='2' ci='10'/>
</s>
<s name='s2'>
<line nr='5' ci='2'/>
<line nr='6' ci='3'/>
</s>
</p>
<p name='p2'>
<s name='s1'>
<line nr='34' ci='0'/>
<line nr='35' ci='1'/>
</s>
<s name='s2'>
<line nr='37' ci='2'/>
<line nr='38' ci='3'/>
</s>
</p>
<root>
let $Least :=
<root>
<p name='p1'>
<s name='s1'>
<line nr='1' ci='15'/>
<line nr='2' ci='1'/>
</s>
<s name='s2'>
<line nr='5' ci='2'/>
<line nr='6' ci='5'/>
</s>
</p>
<p name='p2'>
<s name='s1'>
<line nr='34' ci='0'/>
<line nr='35' ci='0'/>
</s>
<s name='s2'>
<line nr='37' ci='1'/>
<line nr='38' ci='7'/>
</s>
</p>
<root>
Ces noeuds ont la même structure d'étiquette et les mêmes valeurs d'attribut, à l'exception de la valeur de l'attribut " ci ". J'ai besoin d'une fonction xquery qui construit un nouveau noeud $ Résultat de $ Meilleur en remplaçant chaque noeud "ligne" qui a l'attribut "ci" moins que la valeur du même attribut "ci" du nœud correspondant "ligne" de $ Least:
$Result := <root>
<p name='p1'>
<s name='s1'>
<line nr='1' ci='15'/>
<line nr='2' ci='10'/>
</s>
<s name='s2'>
<line nr='5' ci='2'/>
<line nr='6' ci='5'/>
</s>
</p>
<p name='p2'>
<s name='s1'>
<line nr='34' ci='0'/>
<line nr='35' ci='1'/>
</s>
<s name='s2'>
<line nr='37' ci='2'/>
<line nr='38' ci='7'/>
</s>
</p>
<root>
Merci d'avance pour votre aide.
Bienvenue à SO. S'il vous plaît lire les [FAQ] et [Ask] pour obtenir des conseils sur la rédaction de bonnes questions. On s'attend à ce que vous vous efforciez de résoudre le problème vous-même au lieu de simplement présenter un problème et d'attendre que quelqu'un d'autre le résolve pour vous. –