CentOS7下使用xsltproc执行XSLT输出为空问题求助
问题原因及解决办法
你的XSLT文件存在两处语法错误,导致xsltproc无法正确解析,因此输出空结果:
错误1:
<xsl:stylesheet>标签未正确闭合
原代码中将xsl:stylesheet标签拆分为两行,且第一行未闭合。正确写法是将版本声明与命名空间属性放在同一标签内并完成闭合。错误2:多余的
</xml>闭合标签
XSLT文件的根元素是<xsl:stylesheet>,最后一行的</xml>属于无效标签,会破坏XML结构合法性。
修正后的test.xslt内容
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" /> <xsl:template match="/"> <xsl:text>Hello, World!</xsl:text> </xsl:template> </xsl:stylesheet>
正确执行命令
xsltproc默认需要指定输入XML文件,若仅测试根节点匹配的模板,可使用-表示从标准输入读取:
xsltproc test.xslt -
也可创建简单输入XML文件(如input.xml,内容为<root/>),执行:
xsltproc test.xslt input.xml
执行后即可输出Hello, World!。
内容的提问来源于stack exchange,提问作者user210912
相关产品推荐
相关产品推荐

