•find-first(5 to 10, function($a) {$a mod 2 = 0}) retourne xs:integer 6 L'argument Condition référence la fonction en ligne XPath 3.0, function(), qui déclare une fonction en ligne nommée $a puis la définit. Chaque item dans l'argument Sequence de find-first est passé à son tour à $a en tant que sa valeur d'entrée. La valeur d'entrée est testée sur la condition dans la définition de la fonction ($a mod 2 = 0). La première valeur d'entrée pour satisfaire cette condition est retournée en tant que le résultat de find-first (dans ce cas 6). •find-first((1 to 10), (function($a) {$a+3=7})) retourne xs:integer 4 Autres exemples Si le fichier C:\Temp\Customers.xml existe : •find-first( ("C:\Temp\Customers.xml", "https://www.altova.com/index.html"), (doc-available#1) ) retourne xs:string C:\Temp\Customers.xml Si le fichier C:\Temp\Customers.xml n'existe pas et que https://www.altova.com/index.html existe : •find-first( ("C:\Temp\Customers.xml", "https://www.altova.com/index.html"), (doc-available#1) ) retourne xs:string https://www.altova.com/index.html 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( ("C:\Temp\Customers.xml", "https://www.altova.com/index.html"), (doc-available#1) ) ne retourne aucun résultat Notes à propos des exemples indiqués ci-dessus •La fonction XPath 3.0, doc-available, prend un seul argument de chaîne, qui est utilisé en tant qu'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, 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'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. Sous sa forme complète, doc-available#1 signifie simplement : Utiliser la fonction doc-availabe() à l'arité=1, en l'y passant en tant que son seul argument, chacun à son tour, chacun des items dans la première séquence. En résultat, chacun des deux chaînes sera passée à doc-available(), qui utilise la chaîne en tant qu'URI et teste si un nœud de document existe à l'URI. S'il en existe un, doc-available() évalue à true() et cette chaîne est retournée en tant que le résultat de la fonction find-first. Note à propos de la fonction doc-available() : les chemins relatifs sont résolus relativement à l'URI de base actuel, qui est par défaut l'URI du document XML à partir duquel la fonction est chargée. |
|