首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><apply-templates />最佳实践

<apply-templates />最佳实践
EN

Stack Overflow用户
提问于 2009-02-10 21:42:05
回答 4查看 738关注 0票数 0

使用应用模板很容易写出难以理解的代码。

是否有编写易于阅读和维护的应用模板的规则?

例如,“避免在select中使用//*”、“尝试在一个模板中写入所有应用模板”或“如果可能的话,不要使用应用模板”

什么看起来自然,什么丑陋?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-02-11 00:26:38

如果您发现应用模板很难维护,很抱歉-但这就是XSLT的工作方式。实际上,您应该使用apply-templates而不是for-each作为示例。这就是在不同的XSLt处理器上提供最佳性能的原因。通常,我会尽量避免在select子句中有太多的XPath段/级别。但这里真的没有经验法则。

如果你理解了不同的轴,那么避免"//*“就会变得很明显。如果您正在使用XSLT和XPath,我真的建议您去读一读这些内容。

票数 5
EN

Stack Overflow用户

发布于 2009-02-18 14:37:15

在我简短的经验中,组织应用模板函数对于好的文档是次要的。试着让你的执行路径变得明显,如果需要的话,用注释来增强它,以使跟踪更容易。

否则,将样式表拆分成所需的任意多个逻辑模块也没什么错。

任何重复的东西都应该在一个模板中,(obviously)

  • Path
  • 应该可以通过字符串搜索来匹配。应用-模板和模板匹配至少应该看起来相似。模板变得越大,这就变得越重要。
票数 1
EN

Stack Overflow用户

发布于 2009-02-18 15:09:32

你必须更多地考虑每个模板选择的是什么,以及你想要从中得到什么输出。不要为设计执行路径而操心。让XSLT为您解决这个问题。

考虑一下文档的结构,以及您想要如何组织输出。然后从根目录开始创建模板,以增量方式选择要创建输出的位置。使用没有任何输出的中间模板来阐明您正在选择的内容和原因是很有用的。

避免"for-each“。它只会欺骗你,让你认为你是在过程性领域工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/534338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档