使用应用模板很容易写出难以理解的代码。
是否有编写易于阅读和维护的应用模板的规则?
例如,“避免在select中使用//*”、“尝试在一个模板中写入所有应用模板”或“如果可能的话,不要使用应用模板”
什么看起来自然,什么丑陋?
发布于 2009-02-11 00:26:38
如果您发现应用模板很难维护,很抱歉-但这就是XSLT的工作方式。实际上,您应该使用apply-templates而不是for-each作为示例。这就是在不同的XSLt处理器上提供最佳性能的原因。通常,我会尽量避免在select子句中有太多的XPath段/级别。但这里真的没有经验法则。
如果你理解了不同的轴,那么避免"//*“就会变得很明显。如果您正在使用XSLT和XPath,我真的建议您去读一读这些内容。
发布于 2009-02-18 14:37:15
在我简短的经验中,组织应用模板函数对于好的文档是次要的。试着让你的执行路径变得明显,如果需要的话,用注释来增强它,以使跟踪更容易。
否则,将样式表拆分成所需的任意多个逻辑模块也没什么错。
任何重复的东西都应该在一个模板中,(obviously)
发布于 2009-02-18 15:09:32
你必须更多地考虑每个模板选择的是什么,以及你想要从中得到什么输出。不要为设计执行路径而操心。让XSLT为您解决这个问题。
考虑一下文档的结构,以及您想要如何组织输出。然后从根目录开始创建模板,以增量方式选择要创建输出的位置。使用没有任何输出的中间模板来阐明您正在选择的内容和原因是很有用的。
避免"for-each“。它只会欺骗你,让你认为你是在过程性领域工作。
https://stackoverflow.com/questions/534338
复制相似问题