Confronto di caratteri unicode in xsl: if
Domanda
Ho questo blocco di xslt if-else case e mi chiedevo se c'è un modo per me di fare un confronto diretto con il carattere Unicode?
Qualcosa lungo le righe del codice mostrato di seguito? O xslt ha alcune funzioni integrate che posso usare per questo scopo? cioè cambiare l'unicode in entità html e confrontarlo con quel metodo?
Ovviamente se c'è un modo migliore, per favore sparare. Grazie.
<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>
Soluzione
Se sia l'XML di origine che l'XSLT sono dichiarati con codifica UTF-8, credo che questo non dovrebbe essere un problema. Se il tuo parser supporta EXSLT puoi chiamare direttamente url-decode (status) questa risorsa ha alcuni esempi + fa una buona lettura della codifica in XSLT in generale.
Altri suggerimenti
La risposta è positiva .
Più precisamente , qualsiasi carattere che può essere utilizzato all'interno di un documento XML , può essere utilizzato come parte di un argomento per un operatore di confronto di uguaglianza XPath .