gpt4 book ai didi

xsl-fo - 在 what is the difference between the number-columns-spanned vs. number-columns-repeated 属性中?

转载 作者:行者123 更新时间:2023-12-01 23:22:53 26 4
gpt4 key购买 nike

实际上,使用 AHFormatter,如果我有这个:

<fo:table-column column-number="2" number-columns-repeated="2" color="red"/>

如果我使用 from-table-column():

,那么第 3 列中的表格单元格将显示红色文本
<fo:table-cell color="from-table-column()">

但是,

<fo:table-column column-number="2" number-columns-spanned="2" color="red"/>

不是这样工作的,所以也许真正的问题是 number-columns-spanned 属性是做什么的,如果什么?

最佳答案

之前提供的答案,直接复制自W3C XSL-FO 1.1 specnumber-columns-repeated="n" 的作用给出了相当清晰的解释,即它是一个方便的属性,与 格式化对象具有相同的效果在结果树中重复 n 次。这模拟了 xhtml 标签的 span 属性。

规范中关于“这处理 HTML 的‘colgroup’元素”的评论通常是不正确的。 可以是 标签的容器, 并且每个 元素都可以提供完全不同的格式属性(除了跨越一个或多个列之外)。只有在使用空 标记时才适用此声明(这是允许的,但令人困惑,因为这等同于仅使用 标签并完全放弃 。xhtml DTD 不允许 允许 和 成为兄弟。您可以使用所有 元素或所有 元素(可以有 子元素,或使用 span,但不能同时使用两者),或者两者都不是。

number-columns-spanned 属性充当附加的 标识符。例如,给定

<fo:table-column column-number="2" color="green" number-columns-spanned="2"/>

如果这两个 都在第二列:

<fo:table-cell color="from-table-column()">
<fo:table-cell number-columns-spanned="2" color="from-table-column()">

只有 second table-cell 会呈现为绿色文本。

这允许对跨越不同列数的表格单元格进行单独格式化;例如:

<fo:table-column column-number="2" color="red"/>
<fo:table-column column-number="2" background-color="lightgray" color="green" number-columns-spanned="2"/>

将提供使用from-table-column() 函数将第二列中任何单列 表格单元格中的文本着色为红色的机会,而为横跨第二列和第三列的表格单元格呈现浅灰色背景,并带有绿色文本。

迷惑的一点。规范对 from-table-column() 有这样的说法:

The from-table-column function returns the inherited value of the property whose name matches the argument specified, or if omitted for the property for which the expression is being evaluated, from the fo:table-column whose column-number matches the column for which this expression is evaluated and whose number-columns-spanned also matches any span. If there is no match for the number-columns-spanned, it is matched against a span of 1. If there is still no match, the initial value is returned.

我发现这有点令人困惑,所以这是翻译。假设您的

中只有以下 元素
<fo:table-column column-number="2" color="red" font-weight="bold"/>

将此 显示在表格的第二列中:

<fo:table-cell number-columns-spanned="2" color="from-table-column()" font-weight="from-table-column()">

格式化程序将检查是否有第 2 列 number-columns-spanned="2"。如果找不到, 它将继续使用单列 并将文本呈现为红色和粗体

关于xsl-fo - 在 <fo :table-column> what is the difference between the number-columns-spanned vs. number-columns-repeated 属性中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29308671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com