如果XSLT中有连字符,则XSLT找不到根元素:
<serial-issue>
<title>hello</title>
<issue-info>
<pii>3426-4114(11)X6013-4</pii>
<jid>Journal</jid>
<issn>1526-4114</issn>
</issue-info>
</serial-issue>
这是XSLT脚本:
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates select="serial-issue"/>
</body>
</html>
</xsl:template>
<xsl:template match="issue-info">
<test>
<xsl:value-of select="jid"/>
</test>
</xsl:template>
以上脚本无效。如果&#39; serial-issue&#39;更改为&#39; serialissue&#39;。你能帮忙吗?
答案 0 :(得分:-1)
在此示例中,调用模板,匹配&#39; serial-issue&#39;但是没有这样的模板。
添加
<xsl:template match="serial-issue">
<xsl:apply-templates />
</xsl:template>
到您的XSL脚本可以解决问题。 此外,它不是HTML标记,因此它在输出中不起作用。
样式表的最小版本可能如下所示:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<html><body>
<xsl:apply-templates />
</body></html>
</xsl:template>
<xsl:template match="serial-issue">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="issue-info">
<xsl:value-of select="jid"/>
</xsl:template>
</xsl:stylesheet>