Антенный дом Неверное значение свойства: ширина столбца = пропорциональная ширина столбца (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%)"/>

веб-сайт предполагает, что пропорциональная ширина столбца поддерживается

С уважением Конте


person conteh    schedule 13.02.2020    source источник


Ответы (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 «числового» и прототипа функции proportional-column-width() в Рекомендации XSL 1.1 (https://www.w3.org/TR/xsl11/#d0e5961):

числовая пропорциональная ширина столбца(числовая)

будет означать, что процент является допустимым значением, поскольку процент является относительным числовым числом. С ума сошел. Предположительно, каждое 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() включает в себя:

Разница между шириной таблицы и суммой ширин столбцов является доступной пропорциональной шириной. Одна единица пропорционального измерения – это доступная пропорциональная ширина, деленная на сумму пропорциональных коэффициентов.

Если бы все пропорциональные ширины были относительными числами (которые на самом деле являются длинами), то деление доступной пропорциональной ширины на длину дало бы безразмерное число. Безразмерное число не будет работать как результат proportional-column-width(), поэтому вы вернулись к тому, что значения proportional-column-width() должны быть только числами, чтобы функция могла возвращать ширину.

person Tony Graham    schedule 17.02.2020