Comparación de caracteres unicode en xsl: if
Pregunta
Tengo este bloque de caso xslt if-else y me preguntaba si hay una manera de hacer una comparación directa con el carácter Unicode.
¿Algo parecido al código que se muestra a continuación? ¿O xslt tiene alguna función incorporada que puedo usar para este propósito? es decir, cambiar el Unicode en entidades html y comparar a través de ese método?
Por supuesto, si hay una mejor manera, dispara. Gracias.
<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>
Solución
Si tanto el XML fuente como el XSLT se declaran codificados como UTF-8, creo que esto no debería ser un problema. Si su analizador admite EXSLT, puede llamar a url-decode (estado) directamente este recurso tiene algunos ejemplos + hace una buena lectura sobre la codificación en XSLT en general.
Otros consejos
La respuesta es positiva .
Más precisamente , cualquier carácter que pueda usarse dentro de un documento XML , puede usarse como parte de un argumento a un Operador de comparación de igualdad XPath .