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

Posted

技术标签:

【中文标题】天线屋无效属性值:column-width="proportional-column-width(4%)"【英文标题】:Antenna House Invalid property value: column-width="proportional-column-width(4%)" 【发布时间】:2020-05-29 03:15:02 【问题描述】:

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

AHFCmd :WARNING: Error Level : 2
AHFCmd :WARNING: Error Code  : 10761 (2A09)
AHFCmd :WARNING: Invalid property value: column-.

来自代码

  <fo:table-column column-number="1" column-/>

website 似乎表明支持比例列宽

问候 联系方式

【问题讨论】:

【参考方案1】:

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 中的“数字”定义和 XSL 1.1 建议 (https://www.w3.org/TR/xsl11/#d0e5961) 中的 proportional-column-width() 函数原型:

数字比例列宽(数字

表示百分比是有效值,因为百分比是相对数字。脑洞大开。大概同一个表中的每个proportional-column-width() 都需要是一个相对数值,以便它们可以加在一起。但是,这可能会导致无意义的定义,例如:

<fo:table layout="fixed" >
  <fo:table-column column= />
  <fo:table-column column= />
  <fo:table-body>...</fo:table-body>
</fo:table>

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

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

表格宽度和列宽度之和之间的差异是可用的比例宽度。比例度量的一种单位是可用比例宽度除以比例因子的总和。

如果比例宽度都是相对数字(实际上是长度),那么可用比例宽度除以长度将产生一个无单位数字。 proportional-column-width() 的结果是没有单位的数字不起作用,所以你又需要 proportional-column-width() 值只是数字,以便函数可以返回宽度。

【讨论】:

以上是关于天线屋无效属性值:column-width="proportional-column-width(4%)"的主要内容,如果未能解决你的问题,请参考以下文章

天线屋的非破坏空间

天线屋 xsl 错误

天线屋强制关闭使用“外部图形”

天线屋 XSL-FO 扩展不工作?

利用column-width属性设置多栏布局

记录column-count,column-width和column-gap之间的关系