Comparaison des caractères unicode dans xsl: if
Question
J'ai ce bloc de cas xslt if-else et je me demandais s'il y avait un moyen pour moi de faire une comparaison directe avec le caractère unicode?
Quelque chose dans les lignes du code ci-dessous? Ou est-ce que xslt a une fonction intégrée que je peux utiliser à cette fin? c’est-à-dire changer l’unicode en entités HTML et comparer par cette méthode?
Bien sûr, s’il existe un meilleur moyen, veuillez vous en aller. Merci.
<xsl:choose>
<xsl:when test="status">
<xsl:if test="status='تم المحاولة'">
<font color="#00CC00"><xsl:value-of select="status" /></font><br/>
<!--a href="/Elearning_Platform/xfiles/reports/view_reports.modcgi?asm_lid={@lom_id}&did={@dispatch_id}&rm_student_id={@person_id}&report_type=2">[View Results]</a-->
</xsl:if>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
La solution
Si le XML source et le XSLT sont déclarés en tant que codés en UTF-8, j’estime que cela ne devrait pas poser de problème. Si votre analyseur prend en charge EXSLT, vous pouvez appeler directement url-decode (status). cette ressource contient quelques exemples et donne une bonne lecture à propos de l'encodage dans XSLT en général.
Autres conseils
La réponse est positive .
Plus précisément , tout caractère pouvant être utilisé dans un document XML , peut être utilisé dans le cadre d'un argument pour un opérateur de comparaison d'égalité XPath .