Fonction ms:string-compare

Effectue une comparaison de chaînes. Cette fonction est nécessaire car deux chaînes ne peuvent pas être comparées lexicographiquement avec XPath.

number ms:string-compare(string x, string y, [,string language _
                                             [,string options]])

Paramètres

  • chaîne x
    Valeur de chaîne pour la comparaison. Les valeurs qui ne sont pas des chaînes sont converties en une valeur de chaîne avant la comparaison.
  • chaîne y
    Valeur de chaîne pour la comparaison. Les valeurs qui ne sont pas des chaînes sont converties en une valeur de chaîne avant la comparaison.
  • chaîne langue[facultatif]
    Définit la langue pour déterminer l'ordre de tri. Cette chaîne est similaire à l'attribut <xsl:sort> lang (par exemple, "en-US" ou "fr-CA"). Si ce paramètre est omis ou si la chaîne est vide, la langue est définie par l'environnement système (langue du thread actuel).
  • chaîne options[facultatif]
    Par défaut, la comparaison respecte la casse, les minuscules venant en premier.

    option description

    u

    Rend la comparaison sensible à la casse, majuscules en premier.

    i

    Rend la comparaison insensible à toutes les différences traditionnelles entre les caractères, p. ex. casse, kana et largeur. (La largeur des caractères ne s'applique qu'à certaines langues.)

Valeurs retournées

Retourne l'une des trois valeurs numériques suivantes.

Si l'exemple de fonction retourne

x < y

-1

x = y

0

x > y

1

Notes

Les comparaisons entre chaînes se font dans l'ordre lexicographique (dictionnaire). Si une langue ou une option non prise en charge est spécifiée, une erreur d'exécution se produit. Pour les composants MSXML, la valeur E_FAIL est retournée.

Exemple

L'exemple de code suivant montre comment comparer deux chaînes à l'aide de la fonction ms:string-compare. Il compare trois chaînes de nombres (« 1 », « 2 » et « 3 ») et « 2 ». Les résultats des comparaisons sont indiqués dans le tableau qui suit le code.

Fichier XML

Fichier XSLT (translate.xsl)

Les résultats des comparaisons sont les suivants :

x, y Résultat

« 1 » , « 2 »

-1

« 2 » , « 2 »

0

« 3 » , « 2 »

1

Voir aussi

Référence

Référence du schéma XML (XSD)
Référence des types de données XML