FindFirstPairPos-Altova

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

Accueil > 

FindFirstPairPos-Altova

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

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

Cette fonction prend trois arguments :

Les deux premiers arguments, Seq-01 and 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 position d'index de la première paire ordonnée qui entraîne la fonction Condition à évaluer à true() est retournée en tant que le résultat de altova:find-first-pair-pos. Veuillez noter que si la fonction Condition itère par le biais des paires d'arguments soumises et n'évalue pas une seule fois à true(), alors altova:find-first-pair-pos retournera Aucun résultat.

 

altova:find-first-pair-pos(11 to 20, 21 to 30, function($a, $b) {$a+$b = 32}) retourne 1
altova:find-first-pair-pos(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). dans le premier exemple, la première paire entraîne la fonction Condition à évaluer à true(), et donc sa position d'index dans la séquence, 1, est retournée. Le second exemple retourne Aucun résultat parce qu'aucune paire ne totalise pas une somme de 33.

 

 


© 2018 Altova GmbH