Антенна Дом Неверное значение свойства: column-width = "пропорциональная-ширина-столбца (4%)" - PullRequest
0 голосов
/ 13 февраля 2020

Я получаю следующее предупреждение от антенного дома.

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%)"/>

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

С уважением,

1 Ответ

1 голос
/ 17 февраля 2020

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

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

будет указывать, что процент является допустимым значением, поскольку процент является относительным числом c. Разум взорван. Предположительно, каждый proportional-column-width() в одной и той же таблице должен быть относительным числовым значением c, чтобы их можно было сложить вместе. Однако это может привести к бессмысленным определениям, таким как:

<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() были только числами, чтобы функция могла возвращать ширину.

...