2017-01-06 5 views
0

В настоящее время я использую XSL для рабочего проекта, и у меня возникла проблема.XSL-FO | FO: Метки удаляются

Я пытаюсь прочитать значения для базы данных, которые выглядят следующим образом:

<fo:block font-weight='bold>hello</fo:block> 

и кажется, что XSL является зачистка <fo:block> элемента, потому что это дает мне текст только (я вижу только Привет, а не в полужирный, и он не ведет себя как элемент блока). Я чувствую, как-то, что XSL интерпретирует значение, считанное из БД, как строку, и полосу тегов <fo>, оставляя только текст.

Любая идея, что можно сделать, чтобы сохранить мой стиль?

(Очевидно, что этот пример был упрощен, текст, который будет отображаться больше, чем это)

EDIT: ответил на будущие ссылки

+0

Какую технологию вы используете для компиляции файла '.fo'? У вас есть доступ к этому файлу, прежде чем процессор создаст выход? – Boldewyn

+1

Также вы связываете префикс 'fo' с XSL-FO? Дважды проверьте, что ваша проблема звучит точно так же, как процессор FO игнорирует его из-за неправильных пространств имен. – Boldewyn

+0

@Boldewyn да, это префикс, остальная часть моего шаблона написана с использованием 'fo', только часть, прочитанная из БД, кажется проблемой –

ответ

0

Как только я хотел поблагодарить вас всех, что потратил время, чтобы ответить мне. Я очень рад видеть, что сообщество SO настолько сильное.

я решил мою проблему таким образом:

<xsl:for-each select="/fulfill-list/ticket-list/list-item/eventTicketContent/xmlTicketContent/ticketdescription/node()"> 
     <xsl:copy-of select="child::node()" /> 
    </xsl:for-each> 

Я действительно не знаю, что произошло под капотом и почему <fo> теги были удалены, но они были. Проникнуть через все из них и использовать <xsl:copy-of> сделал трюк.

Еще раз большое спасибо y'all!

+0

Нет необходимо для этого 'for-each' с вложенной' copy-of', вы можете также использовать один '' напрямую. –

0

На основе комментариев, которые вы хотите изменить <xsl:value-of select='/fulfill-list/ticket-list/list-item/eventTicketConte‌​nt/xmlTicketContent/‌​ticketdescription'/> к <xsl:copy-of select='/fulfill-list/ticket-list/list-item/eventTicketConte‌​nt/xmlTicketContent/‌​ticketdescription'/> себя (или возможно <xsl:copy-of select='/fulfill-list/ticket-list/list-item/eventTicketConte‌​nt/xmlTicketContent/‌​ticketdescription/node()'/>).

Смежные вопросы