我无法想出输出字符串的方法,如:
<xml version="1.0" encoding="UTF-8">
这是我试过的:
<xsl:variable name="lessThan" select="<"/>
<xsl:variable name="GreaterThan" select=">"/>
<xsl:value-of select="$lessThan"/>
<xsl:text>xml version="1.0" encoding="UTF-8"</xsl:text>
<xsl:value-of select="$GreaterThan"/>
但这是我得到的输出:
<xml version="1.0" encoding="UTF-8">
我也试过这样的事情:
<xsl:text><xml version="1.0" encoding="UTF-8"></xsl:text>
但是编辑器根本不允许我这样做。它会抛出错误以匹配结束标记
PS:我不熟悉xslt所以即使这个问题听起来很幼稚,请回复。
答案 0 :(得分:6)
试试这个:
<xsl:text disable-output-escaping="yes"><xml version="1.0" encoding="UTF-8"></xsl:text>
答案 1 :(得分:3)
要使测试xslt正常工作,您可以使用disable-output-escaping = "yes"
更改了xlst:
<xsl:variable name="lessThan" select="'<'"/>
<xsl:variable name="GreaterThan" select="'>'"/>
<xsl:value-of disable-output-escaping = "yes" select="$lessThan"/>
<xsl:text>xml version="1.0" encoding="UTF-8"</xsl:text>
<xsl:value-of disable-output-escaping = "yes" select="$GreaterThan"/>
更新: 只是猜测你试图生成一个xml声明。
<?xml version="1.0" encoding="utf-8"?>
这应该使用xsl:output
<xsl:output method="xml" encoding="utf-8"/>
答案 2 :(得分:3)
您不应该尝试手动生成XML声明。它应该由XSLT自动生成,只要您将输出方法指定为XML并且不指定omit-xml-declaration="yes"
:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="utf-8" />
<xsl:template match="/">
<root />
</xsl:template>
</xsl:stylesheet>
当在任何输入上运行此XSLT时,结果为:
<?xml version="1.0" encoding="utf-8"?>
<root />
答案 3 :(得分:0)
放置此<xsl:text disable-output-escaping="yes"><</xsl:text>