我曾多次遇到这个问题,现在我想找到一个完美的解决方案:
当你有一个非常复杂的Diazo主题时,迟早你会把规则分成子集并将它们移动到单独的文件中。
我的习惯是根据应用它们的模板将它们分开。那么,选择应用哪个规则的更好的解决方案是什么?
到目前为止,我找到了这两种解决方案:
- 您可以拥有一个“规则”列表,其中包含识别模板的条件,然后导入正确的外部xml。这里有两个缺点,您必须希望所有条件彼此互不相交,并且“否则”选项(基本上是另一个具有所有先前条件的“规则”,在
not()
内),会变得非常庞大。 - 您可以使用
xsl:choose
,但似乎这个选项并不完美,因为xsl:otherwise
选项并不总是被应用,而且我不确定该结构是否以第一个经过验证的xsl:when
结束。
我有什么遗漏的吗?您有其他选项或者您可以选择这两个选项中的哪一个是最好的吗?