ForEachAttributePair-Altova

www.altova.com Agrandir/Réduire tout Imprimer cette rubrique Un niveau supérieur

Accueil > 

ForEachAttributePair-Altova

Click to expand/collapsefor-each-attribute-pair [altova:]

altova:for-each-attribute-pair(Seq1 as element()?Seq2 as element()?, Function as function()) as item()*     XP3.1 XQ3.1

Les premiers deux arguments identifient deux éléments, dont les attributs sont utilisés pour générer des paires d'attribut, dans laquelle un attribut d'une paire est obtenu depuis le premier élément et l'autre attribut est obtenu depuis le second élément. Les paires d'attribut sont sélectionnées sur le fait qu'ils présentent le même nom, et les paires sont classées par ordre alphabétique (sur leur nom) dans un ensemble. Si, pour un attribut, aucun attribut correspondant n'existe dans l'autre élément, la paire sera "disjointe", ce qui signifie qu'elle consiste en un seul membre. L'item de fonction (troisième argument Function) est appliqué séparément à chaque paire dans la séquence des paires (joints et disjointe), résultant en une sortie qui est une séquence d'items.

altova:for-each-attribute-pair(/Example/Test-A, /Example/Test-B, function($a, $b){$a+b}) retourne ...

 

  (2, 4, 6) si

   <Test-A att1="1" att2="2" att3="3" />

   <Test-B att1="1" att2="2" att3="3" />

 

  (2, 4, 6) si

   <Test-A att2="2" att1="1" att3="3" />

   <Test-B att3="3" att2="2" att1="1" />

 

  (2, 6) si

   <Test-A att4="4" att1="1" att3="3" />

   <Test-B att3="3" att2="2" att1="1" />

    Note : Le résultat (2 6) est obtenu par le biais de l'action suivante : (1+1 ()+2 3+3 4+()). Si un des opérandes est la séquence vide, comme c'est le cas des items 2 et 4, le résultat de l'addition est une séquence vide.

 

altova:for-each-attribute-pair(/Example/Test-A, /Example/Test-B, concat#2) retourne ...

 

  (11 22 33) si

   <Test-A att1="1" att2="2" att3="3" />

   <Test-B att1="1" att2="2" att3="3" />

 

  (11 2 33 4) si

   <Test-A att4="4" att1="1" att3="3" />

   <Test-B att3="3" att2="2" att1="1" />

 

 


© 2019 Altova GmbH