•find-first-pos(5 to 10, function($a) {$a mod 2 = 0}) retourne xs:integer 2 L'argument Condition référence la fonction en ligne XPath 3.0, function(), qui déclare une fonction en ligne nommée $a et puis la définit. Chaque item dans l'argument de Sequence de find-first-pos est passé à son tour à $a en tant que sa valeur d'entrée. La valeur d'entrée est testée à la condition dans la définition de la fonction ($a mod 2 = 0). La position d'index dans la séquence de la première valeur d'entrée pour satisfaire à cette condition est retournée en tant que le résultat de find-first-pos (dans ce cas 2, puisque 6, la première valeur (dans la séquence) afin de satisfaire à la condition, est à la position d'index 2 dans la séquence). •find-first-pos((2 to 10), (function($a) {$a+3=7})) retourne xs:integer 3 Autres exemples Si le fichier C:\Temp\Customers.xml existe : •find-first-pos( ("C:\Temp\Customers.xml", "https://www.altova.com/index.html"), (doc-available#1) ) retourne 1 Si le fichier C:\Temp\Customers.xml n'existe pas, et que https://www.altova.com/index.html existe : •find-first-pos( ("C:\Temp\Customers.xml", "https://www.altova.com/index.html"), (doc-available#1) ) retourne 2 Si le fichier C:\Temp\Customers.xml n'existe pas, et que https://www.altova.com/index.html n'existe pas non plus : •find-first-pos( ("C:\Temp\Customers.xml", "https://www.altova.com/index.html"), (doc-available#1) ) ne retourne aucun résultat Notes à propos des exemples donnés ci-dessus •La fonction XPath 3.0, doc-available, prend un seul argument de chaîne qui est utilisé en tant qu'un URI, et retourne true si un nœud de document est trouvé à l'URI soumis. (Le document à l'URI soumis doit donc être un document XML.) •La fonction doc-available peut être utilisée pour Condition, le second argument de find-first-pos, parce qu'il ne prend qu'un seul argument (arité=1), parce qu'il prend un item() en tant qu'entrée (une chaîne qui est utilisée en tant qu'un URI), et retourne une valeur booléenne. •Veuillez noter que la fonction doc-available est uniquement référencée, elle n'est pas appelée. Le suffixe #1 qui y est attaché indique une fonction avec une arité de 1. dans sa totalité, doc-available#1 signifie simplement : Utiliser la fonction doc-availabe() qui a arité=1, y passant, en tant que son argument simple, chacun à son tour, chaque item dans la première séquence. En tant que résultat. chacune des deux chaînes sera passée à doc-available(), qui utilise la chaîne en tant qu'un URI et teste si un nœud de document existe à l'URI. Si c'est le cas, la fonction doc-available() évalue à true() et la position de l'index de cette chaîne dans la séquence est retournée en tant que le résultat de la fonction find-first-pos. Note à propos de la fonction doc-available() : les chemins relatifs sont résolus relativement à l'URI de base actuel, qui par défaut est l'URI du document XML à partir duquel la fonction est chargée. |
|