Xslt 如何以理智的方式分割重氮?

Xslt 如何以理智的方式分割重氮?,xslt,plone,diazo,Xslt,Plone,Diazo,到目前为止,我不止一次地面对这个问题,现在我想找到 完美的解决方案: 当你有一个非常复杂的重氮主题时,迟早 稍后,您将把规则拆分为子集并将其移入 单独的文件 我的习惯是根据模板将它们分开 它们必须被应用到其中。现在,什么是更好的解决方案 选择应应用哪一项 现在我已经找到了这两个 解决方案: 您可以有一个“规则”列表,其中的条件标识 模板,然后导入正确的外部xml。有两个缺点 在这里,你必须希望所有的条件都是相互的 排他性,以及“否则”选项,这基本上是另一个选项 包含not()中所有先前条件的“规

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

当你有一个非常复杂的重氮主题时,迟早 稍后,您将把规则拆分为子集并将其移入 单独的文件

我的习惯是根据模板将它们分开 它们必须被应用到其中。现在,什么是更好的解决方案 选择应应用哪一项

现在我已经找到了这两个 解决方案:

  • 您可以有一个“规则”列表,其中的条件标识 模板,然后导入正确的外部xml。有两个缺点 在这里,你必须希望所有的条件都是相互的 排他性,以及“否则”选项,这基本上是另一个选项 包含
    not()
    中所有先前条件的“规则”会增长 惊人的巨大
  • 您可以使用
    xsl:choose
    ,但这个选项似乎没有 可以像
    xsl:一样完美地工作,否则
    选项并不总是适用 我不确定这个构造是否在第一次验证时结束
    xsl:when
  • 我错过什么了吗?您有其他选择吗,或者您可以选择
    这两者中哪一个是最好的?

    所以这是一个半答案。我不是一个diazo专家,但Thijs代码是,他有很多划分规则集和重用diazo主题不同部分的例子,你可能想看看

    他的github账户:

    https://github.com/TH-code
    
    主题示例:

    https://github.com/TH-code/diazotheme.purecss/blob/master/diazotheme/purecss/theme/rules.xml
    

    非常感谢您的回答,Nathan,尽管我的用例有点不同。Thijs将页面分割成块,而我需要根据路径和/或其他变量包含许多完全不同的规则集。为了提供更多细节,我将改进我的问题。再次感谢你。