我想将XML属性中的某些值转换为带有实体的有效HTML。例如,XML中的字符串"olá"
将从XSLT转换为"olá"
我找不到任何xsl函数来执行此操作。 有什么想法吗?
答案 0 :(得分:4)
您可以在us-ascii
元素中指定xsl:stylesheet
编码。以下XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" method="html" encoding="us-ascii"/>
<xsl:variable name="data" select="'olá'" />
<xsl:template match="/">
<xsl:text>olá - </xsl:text>
<xsl:value-of select="$data" />
</xsl:template>
</xsl:stylesheet>
给出:
olá - olá
xml
中的xsl:stylesheet
方法与标准XML标题的结果相同。
答案 1 :(得分:0)
我很确定你会发现这个模板很有用: 下载此xslt并检查名为“url-encode-num”的xslt http://advanced-internal-onebox.googlecode.com/files/obox_stylesheet.xslt
它会转换任何特殊字符......好吧,这里列出的任何一个字符都带有数字编码:
<xsl:variable name="latbis">¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"<>=</xsl:variable>
<xsl:variable name="digit1">111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222220000</xsl:variable>
<xsl:variable name="digit2">666666666777777777788888888889999999999000000000011111111112222222222333333333344444444445555552777</xsl:variable>
<xsl:variable name="digit3">123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123452465</xsl:variable>
但很容易更新。
如果您正在寻找,请告诉我。
巴勃罗