3

我很确定这不存在,但我想知道是否有人做过这种事情作为 CSS 的附加组件。

假设我们有一个包含联邦法规 (CFR) 的 XML 文档,并且还说文档本身无法编辑(我们所能做的就是使用样式表来显示它),并且假设有一个子部分其中包含多个规则,XML文档大致如下:

<subpart>
<ruleNo>63.400</ruleNo>
<ruleTitle>Definitions</ruleTitle>
<ruleNo>63.410</ruleNo>
<ruleTitle>Applicability</ruleTitle>
...
</subpart>

现在我想编写一个样式表,将子部分内容放入一个表格中,左列有规则编号,右列有规则标题。ruleNo如果有一种方法可以选择相邻的并且ruleTitle好像它们对应于单个节点,然后为该假想节点编写规则,则任务会容易得多。

例如,可能有一个节点定义函子=>,它将临时将大括号中的部分定义为节点。例如,Rule => subpart > {ruleNo + ruleTitle}将创建一个临时节点,该节点将是任何一对兄弟姐妹的父节点,这些兄弟姐妹ruleNo + ruleTitlesubpart.

4

1 回答 1

4

CSS 不支持操作文档树,也不提供以您描述的方式对元素节点进行分组的能力。此外,CSS2.1 表格模型没有提供一种应用样式的方法,使得每一ruleNo + ruleTitle对都可以格式化为单独的行:而 CSS 有一个可以创建为祖先或后代的匿名框的概念,这也扩展到表模型,它不支持一次生成单个匿名框作为一对ruleNo + ruleTitle单元格的父行。

诸如 Sass 和 LESS 之类的预处理器语言是无关紧要的,因为它们无论如何都被编译成 CSS,所以如果它不适用于 CSS,那么它也不适用于预处理器。

鉴于您当前的 XML,不可能使用 CSS 将其格式化为每行包含一个ruleNo和一个ruleTitle元素的表格。您将希望使用 XSLT 将其转换为具有相应行的 XHTML 表。

于 2013-03-10T17:53:09.803 回答