【发布时间】:2019-03-22 12:19:37
【问题描述】:
调用模板有问题,出现错误:
找不到名为 getIndex 的模板
语法似乎是正确的。我试过apply-template,一切都很好。我不知道为什么会出现这个错误。
这是示例 XSLT 文件:
<?xml version="1.0" encoding="utf-8"?>
<!-- Created with Liquid Studio 2019 (https://www.liquid-technologies.com) -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="Document">
<xsl:element name="Document">
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="Produkt">
<xsl:element name="Produkt">
<xsl:element name="Index">
<xsl:call-template name="getIndex"/>
</xsl:element>
</xsl:element>
</xsl:template>
<xsl:template match="getIndex">
<xsl:value-of select="Index"/>
</xsl:template>
</xsl:stylesheet>
【问题讨论】:
-
与您的问题无关:您可以使用 literal result elements 来简化代码 - 例如
<Document>而不是<xsl:element name="Document">。当名称需要在运行时动态计算时使用xsl:element。