Сравнение символов Юникода в xsl: if - PullRequest
1 голос
/ 15 января 2009

У меня есть блок xslt if-else, и мне было интересно, есть ли способ для меня сделать прямое сравнение с символом юникода?

Что-то похожее на код, показанный ниже? Или у xslt есть встроенная функция, которую я могу использовать для этой цели? т.е. изменить юникод в HTML-сущности и сравнить с помощью этого метода?

Конечно, если есть лучший способ, пожалуйста, стреляйте. Спасибо.

<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}&amp;did={@dispatch_id}&amp;rm_student_id={@person_id}&amp;report_type=2">[View Results]</a-->
                            </xsl:if>
</xsl:when>
                        <xsl:otherwise>
                            &nbsp;
                        </xsl:otherwise>
                    </xsl:choose>

Ответы [ 2 ]

1 голос
/ 15 января 2009

Ответ положительный .

Точнее , любой символ, который может использоваться в документе XML , может использоваться как часть аргумента Оператор сравнения равенства XPath .

1 голос
/ 15 января 2009

Если исходный XML и XSLT объявлены в кодировке UTF-8, я считаю, что это не должно быть проблемой. Если ваш парсер поддерживает EXSLT, вы можете напрямую вызвать url-decode (status) у этого ресурса есть несколько примеров + хорошее прочтение о кодировании в XSLT в целом.

...