XSLT处理模板的最佳实践

时间:2015-02-09 16:23:55

标签: xml xslt

我正在为一个相当复杂的xml编写一个xslt。 xml有几个子节点,其中很多都有很多子节点。

每个子元素都有自己的模板。我考虑过将逻辑上相互关联的模板放到一个单独的文件中,然后导入它们。

这在xslt中是一个很好的做法,我应该有一个非常长的xslt,还是有一个更好的解决方案来制作一个易于管理的xslt文件?

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您希望导入的模板的优先级(即可覆盖)低于主样式表中的模板,则只应使用xsl:import。

如果您只想在单独的样式表中对逻辑相关的模板进行聚类,请使用xsl:include将它们合并到样式表中。

我不认为样式表的长度很重要,只要它完全由可以直接跟踪到输入文档的模板组成。如果我可以查看输入中的给定节点并直接浏览将要处理它的模板,那本身就足够模块化了,我个人不会担心会进一步分割样式表。如果你确实对它进行了分段,那么你必须找出你感兴趣的模板要查看的样式表。

可能存在版本控制注意事项,即您可能希望版本控制仅跟踪已更改的片段而不是整个样式表。除了这个警告之外,我提到它是一个选择问题。但是,如果代码可以在其他样式表中重复使用,那么这会改变所有内容,你肯定应该将其分段。

如果要对样式表进行分段,您可能希望使用一种命名方案来区分要独立的样式表和要包含的样式表。您可能还希望有一个命名导入样式表的约定。

确保您了解xsl:import和xsl:include之间的区别,并且不要使用import来包含您可以包含的内容。