1

我有一个相当大的 XSL 文件,其中包含很多模板。现在我需要将来自另一个 XSL 文件的模板附加到它。不幸的是,那里使用的一些模板名称与第一个文件中的模板名称相同。因此,如果我只是复制并粘贴它们,整个 XSL 就会损坏。

在追加之前重构第二个 XSL 文件的最简单方法是什么?我可以将其模板放入不同的命名空间或其他东西吗?

4

2 回答 2

1

如果您正在编写新代码,您可以将模板名称放在命名空间中。

如果代码已经存在,您可以编写一个新的转换来处理 XSLT 转换并替换任何

/*/xsl:template/@name

其值与 连接'_', $SomeSuffix,其中$SomeSuffix是全局/外部参数。

您可以使用相同的过程将模板的名称替换为名称空间中的名称,该名称作为参数给出。

于 2012-12-10T14:21:04.937 回答
0

如果您已命名模板(即template name="foo"),那么可以,使用名称空间来区分它们,即<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:l1="http://example.com/l1" version="1.0"><xsl:template name="l1:foo">...</xsl:template></xsl:stylesheet>

于 2012-12-10T14:23:50.903 回答