很难理解代码。
是否有规则来编写易于阅读和维护的应用模板?
例如,“避免在select中使用// *”,“尝试在一个模板中编写所有apply-templates”或“如果可能则不使用apply-templates”
什么看起来自然,丑陋?
答案 0 :(得分:5)
很抱歉,如果您发现apply-templates难以维护 - 但这是XSLT的做法。事实上,你应该使用apply-templates,而不仅仅是for-each作为例子。这就是您将在不同的XSLt处理器中提供最佳性能的原因。一般来说,我会尽量避免在select子句中有太多的XPath段/级别。但这里确实没有经验法则。
如果您了解不同的轴,则应避免“// *”变得明显。如果您正在使用XSLT和XPath,我真的建议您阅读这些内容。
答案 1 :(得分:1)
根据我的简短经验,组织应用模板功能是良好文档的第二要素。尝试使您的执行路径显而易见,并在需要时使用注释增强它以使跟踪更容易。
否则,将样式表拆分为所需数量的逻辑模块没有任何问题。
答案 2 :(得分:0)
您必须根据每个模板选择的内容以及您希望从中获得的输出进行更多考虑。不要过于担心设计一些执行路径。让XSLT为您解决这个问题。
考虑文档的结构以及输出结构的组织方式。然后从根目录开始创建模板,逐步选择要创建输出的位置。使用没有任何输出的中间模板来阐明您选择的内容和原因是很有用的。
避免“for-each”。它只会让你觉得你在一个程序领域工作。
答案 3 :(得分:0)
<xsl:apply-templates select="//abc/xyz" />
永远不要从内部apply-templates的根目录开始,因为它会覆盖溢出