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