блочные кавычки xsl-fo с кавычками - PullRequest
1 голос
/ 27 октября 2009

Я пытаюсь закодировать что-то довольно простое, что сильно усложняется встроенными и блочными элементами xsl-fo.

Вот пример XML:

<quote-block open="&quot;" close="&quot;">
   <quote-para>text...</quote-para>
   <list>
      <item>...</item>
      <item>...</item>
   </list>
   <quote-paragraph>
      <para>...</para>
      <list>
         <item>...</item>
      </list>
   </quote-paragraph>
</quote-block>

Атрибуты open & close должны приводить к открытию и закрытию кавычек, появляющихся вокруг вложенного содержимого.

Проблема, с которой я столкнулся, заключается в том, что, поскольку список в fo - это элемент уровня блока, я не могу получить заключительную кавычку, чтобы она отображалась как внутренняя в конце содержимого. В настоящее время он заканчивается в начале следующей строки.

Я могу обойти это, добавив загрузку кода к каждому возможному элементу, чтобы определить, является ли он последним элементом в цитате, а затем отобразив знак закрывающей кавычки. Но это оказывается сложным для отладки, когда происходит ошибка, так как элементы в кавычках могут быть на любом уровне и вложены несколько раз.

У кого-нибудь есть идеи, как решить эту проблему?

Спасибо

1 Ответ

0 голосов
/ 31 октября 2009

Как насчет атаковать это под другим углом? Может быть, пропустите символ заключительной кавычки, попробуйте стилизовать начальную кавычку (большую, цветную и т. Д.) И / или просто раскрасьте фон / границы блока, чтобы выделить его как кавычку - как люди делают на этих новых модных штуках блога?

Я знаю, что это не полное решение проблемы, но, хотя FO - ИМХО, удивительный инструмент, реализация и спецификация движка все еще находятся в зачаточном состоянии. Я обнаружил, что легче переключать маршрут, чем пытаться «масштабировать стену», когда речь идет о проблемах с FO, часто экономя время и здравый смысл! ;)

...