我有一个main.xsl。它调用A.xsl和B.xsl,它们都使用相同的调用模板。
<xsl:call-template name="setFormat">
...
</xsl:call-template>我想使用一次"setFormat“模板,而不是在A.xsl和B.xsl中复制它,但是当"setFormat”只是在一个xsl中时,另一个则说“命名的templete 'setFormat‘不存在”。
我使用xsl:include来添加对main.xsl的引用
我该怎么办?
我使用的是MVS .Net 2005。
我正在使用main.xsl,main.xsl调用A.xsl和B.xsl:
A.xsl和B.xsl都使用调用模板调用同一个模板,名为"setFormat“。
"setFormat“不可能出现在任何部分。因为por示例是在A.xsl中的,所以B.xsl无法找到它,因为它不在它的范围内,或者如果它在main.xsl A.xsl中,B.xsl就找不到它。我也不想复制它,在A.xsl和B.xsl中添加
如何通过调用模板调用"setFormat“而不复制它?
发布于 2013-01-03 02:12:07
从您的问题中还不清楚您的三个样式表中哪一个包含哪个样式表。
我认为您的意思是A.xsl和B.xsl每个xsl:include main.xsl,您可以调用A.xsl或B.xsl来处理文档。在本例中,您应该将共享命名模板放在main.xsl中,以便在这两种情况下都可以看到。
另一方面,如果您的意思是main.xsl两次使用xsl:include,包括A.xsl和B.xsl,并在文档中调用main.xsl,那么只有一个代码路径,命名的模板可以出现在这三个文件中的任何一个中。
https://stackoverflow.com/questions/14126833
复制相似问题