天线室无效 属性 值:column-width="proportional-column-width(4%)"

Antenna House Invalid property value: column-width="proportional-column-width(4%)"

我从天线屋收到以下警告。

AHFCmd :WARNING: Error Level : 2
AHFCmd :WARNING: Error Code  : 10761 (2A09)
AHFCmd :WARNING: Invalid property value: column-width="proportional-column-width(4%)".

来自代码

  <fo:table-column column-number="1" column-width="proportional-column-width(4%)"/>

website 似乎表明支持 proportional-column-width

问候 康特

proportional-column-width(4) 可以。 proportional-column-width(4%)不会。

如果您希望列为可用宽度的 4%,请使用 column-width="4%"(请参阅 https://www.w3.org/TR/xsl11/#column-width)。


我认为您是我见过的第一个尝试在 proportional-column-width() 中使用百分比而不是数字的人,您让我大吃一惊。

严格阅读 XSL 1.1 定义 'numeric' 和 XSL 1.1 推荐中的 proportional-column-width() 函数原型 (https://www.w3.org/TR/xsl11/#d0e5961):

numeric proportional-column-width(numeric)

表示百分比是有效值,因为百分比是相对数值。精神崩溃了。据推测,同一个 table 中的每个 proportional-column-width() 都需要是一个相对数值,以便它们可以全部加在一起。但是,这可能会导致无意义的定义,例如:

<fo:table layout="fixed" width="100%">
  <fo:table-column column=width="proportional-column-width(4%)" />
  <fo:table-column column=width="proportional-column-width(4%)" />
  <fo:table-body>...</fo:table-body>
</fo:table>

其中两个“4%”列各占宽度的 50%。

幸运的是,proportional-column-width() 的定义包括:

The difference between the table-width and the sum of the column widths is the available proportional width. One unit of proportional measure is the available proportional width divided by the sum of the proportional factors.

如果比例宽度都是相对数值(实际上是长度),则可用比例宽度除以长度将得到一个无单位的数字。 proportional-column-width() 的结果导致无单位数字不起作用,因此您又需要 proportional-column-width() 值只是数字,以便函数可以 return 宽度。