Cliquez pour évaluer et commenter
MSDN
MSDN Library
Développement .NET
.NET Framework 3.5
.NET Framework
Référence génér...
Référence du standard XML
Référence XPath
Fonctions XPath
 Fonction ms:string-compare
Réduire tout/Développer tout Réduire tout
Cette page est spécifique à
Microsoft Visual Studio 2008/.NET Framework 3.5

D'autres versions sont également disponibles pour :
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]])
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.)

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

Si l'exemple de fonction retourne

x < y

-1

x = y

0

x > y

1

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.

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.

Xml
<?xml version="1.0"?>
<string-sample>
   <string>1</string>
   <string>2</string>
   <string>3</string>
</string-sample>
Xml
<?xml version='1.0'?>
<xsl:stylesheet  version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:ms="urn:schemas-microsoft-com:xslt">
   <xsl:output method="html" omit-xml-declaration="yes"/>
   <xsl:template match="/string-sample">
      <xsl:for-each select="string">
         <xsl:value-of select="ms:string-compare(., '2', 'en-US', 'i')"/>,
     </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

Les résultats des comparaisons sont les suivants :

x, y Résultats

"1" , "2"

-1

"2" , "2"

0

"3" , "2"

1

Contenu de la communauté   Qu'est-ce que le Contenu de la communauté ?
Ajouter du contenu RSS  Annotations
Processing
© 2009 Microsoft Corporation. Tous droits réservés. Conditions d'utilisation | Marques | Confidentialité
Page view tracker