如何划分Diazo规则的理智方式?

Gia*_*oli 8 xslt plone diazo

到目前为止,我不止一次遇到过这个问题,现在我想找到一个完美的解决方案:

当你有一个非常复杂的重氮主题时,迟早你会最终将规则分成子集并将它们移动到不同的文件中.

我的习惯是根据它们必须应用的模板将它们分开.现在,选择应该应用哪一种更好的解决方案是什么?

到目前为止,我已经找到了这两个解决方案:

  1. 您可以拥有一个"规则"列表,其中包含标识模板的条件,然后导入正确的外部xml.这里有2个缺点,你必须希望所有条件都是相互排斥的,而"其他"选项,基本上是另一个"规则",其中包含所有先前条件not(),变得非常庞大
  2. 你可以使用a xsl:choose,但似乎这个选项不能完美地工作,因为xsl:otherwise选项并不总是应用,我不确定构造是否在第一次验证时结束 xsl:when

我错过了什么吗?你有其他选择,或者你可以选择哪两个是最好的?

van*_*eem 1

所以这是一个一半的答案。我不是重氮专家,但 Thijs-Code 是,他有很多拆分规则集和重用重氮主题不同部分的示例,您可能想看一下。

他的 github 帐户:

https://github.com/TH-code
Run Code Online (Sandbox Code Playgroud)

主题示例:

https://github.com/TH-code/diazotheme.purecss/blob/master/diazotheme/purecss/theme/rules.xml
Run Code Online (Sandbox Code Playgroud)