ForEachMatchingAttributePair-Altova

www.altova.com Alle erweitern/reduzieren Dieses Kapitel drucken Eine Ebene nach oben

Startseite > 

ForEachMatchingAttributePair-Altova

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

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

Die beiden ersten Argumente identifizieren zwei Elemente, anhand deren Attribute Attributpaare gebildet werden, wobei das eine Attribut eines Paars aus dem ersten Element und das andere aus dem zweiten Element stammt. Die Attributpaare werden auf Basis ihres übereinstimmenden Namens ausgewählt und alphabetisch (nach ihren Namen) zu einer Gruppe geordnet. Falls es zu einem Attribut im anderen Element keine Entsprechung gibt, wird kein Paar gebildet. Das Funktionselement (das dritte Argument Function) wird auf die einzelnen Paare in der Sequenz der Paare separat angewendet, wodurch als Ausgabe eine Sequenz von Einträgen erzeugt wird.

altova:for-each-matching-attribute-pair(/Example/Test-A, /Example/Test-B, function($a, $b){$a+b}) gibt zurück ...

 

  (2, 4, 6) wenn

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

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

 

  (2, 4, 6) wenn

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

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

 

  (2, 6) wenn

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

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

 

altova:for-each-matching-attribute-pair(/Example/Test-A, /Example/Test-B, concat#2) gibt zurück ....

 

  (11, 22, 33) wenn

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

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

 

  (11, 33) wenn

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

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

 

 


© 2019 Altova GmbH