我有两个具有相同匹配模式的键。图案很长。模式本身并不重要。问题是长时间的重复:
<xsl:key name="narrow-things-by-columnset" match="p | p-cont |
heading[not(parent::section or parent::contents) and not(parent::p)] |
language-desc | country-desc | graphic[not(parent::section or parent::contents)] |
block-quote | bulleted-list | blank-line |
bibliography | language-name-index | language-code-index | country-index | table-of-contents"
use="sileth:columnset-id(.)"/>
<!-- TODO: DRY: I would love to be able to share the above match pattern instead of
duplicating it. -->
<xsl:key name="narrow-things-by-section" match="p | p-cont |
heading[not(parent::section or parent::contents) and not(parent::p)] |
language-desc | country-desc | graphic[not(parent::section or parent::contents)] |
block-quote | bulleted-list | blank-line |
bibliography | language-name-index | language-code-index | country-index | table-of-contents"
use="sileth:section-id(.)"/>
DRY 主体提醒我们,当我们有数据重复时,我们会遇到保持多个副本同步的问题。事实上,这只是发生在我身上,导致了一个需要一段时间才能找到的错误。
所以我希望能够在两个键之间共享一个共同的匹配模式。AFAIK 你不能使用变量来做到这一点。还有其他方法吗?