FindFirstPair-Altova

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

Accueil > 

FindFirstPair-Altova

Click to expand/collapsefind-first-pair [altova:]

altova:find-first-pair((Seq-01 as item()*)(Seq-02 as item()*), (Condition( Seq-01-Item, Seq-02-Item as xs:boolean)) as item()*     XP3.1 XQ3.1

Cette fonction prend trois arguments :

Les deux premiers arguments, Seq-01 et Seq-02, sont des séquences d'un ou de plusieurs items de tout type de données.
Le troisième argument, Condition, est une référence à une fonction XPath qui prend deux arguments (a une arité de 2) et retourne un booléen.

 

Les items de Seq-01 et Seq-02 sont passés dans des paires ordonnées en tant que les arguments de la fonction dans Condition. Les paires sont classées comme suit :

If   Seq-01 = X1, X2, X3 ... Xn

And  Seq-02 = Y1, Y2, Y3 ... Yn

Then (X1 Y1), (X2 Y2), (X3 Y3) ... (Xn Yn)

 

La première paire ordonnée qui cause la fonction Condition à évaluer à true() est retournée en tant que le résultat de altova:find-first-pair. Veuillez noter que : (i) Si la fonction Condition itère par le biais des paires d'arguments soumis et n'évalue pas une seule fois à true(), alors altova:find-first-pair retournera Aucun résultat; (ii) Le résultat de altova:find-first-pair sera toujours une paire d'items (de tout type de données) ou aucun item.

 

altova:find-first-pair(11 to 20, 21 to 30, function($a, $b) {$a+$b = 32}) retourne la séquence de xs:integers (11, 21)
altova:find-first-pair(11 to 20, 21 to 30, function($a, $b) {$a+$b = 33}) retourne Aucun résultat

 

Veuillez noter à partir des deux exemples ci-dessus que l'ordonnance des paires est : (11, 21) (12, 22) (13, 23)...(20, 30). C'est pourquoi le second exemple retourne Aucun résultat (parce qu'aucune paire ordonnée de donne une somme de 33).

 

 


© 2018 Altova GmbH