2016-11-16 1 views
1

Я не удаляю пробелы внутри встроенных элементов в FOP с DITA-OT PDF2. Это мой фрагмент кода:Полоса пробела в встроенном элементе FOP

<p>1 BEFORE <uicontrol>test</uicontrol> AFTER</p> 
<p>2 BEFORE <uicontrol> test</uicontrol> AFTER</p> 
<p>3 BEFORE <uicontrol>test </uicontrol> AFTER</p> 
<p>4 BEFORE <uicontrol><keyword keyref="test"/> </uicontrol> AFTER</p> 
<p>5 BEFORE <uicontrol> <keyword keyref="test"/></uicontrol> AFTER</p> 
<p>6 BEFORE <uicontrol> 
    <keyword keyref="test"/> 
</uicontrol> AFTER</p> 
<p>7 BEFORE <uicontrol> 
    <keyword keyref="test"/> 
</uicontrol> AFTER</p> 

воздает:

Это устанавливается мой атрибут:

<xsl:attribute-set name="uicontrol"> 
    <xsl:attribute name="white-space">nowrap</xsl:attribute> 
    <xsl:attribute name="white-space-treatment">ignore</xsl:attribute> 
    <xsl:attribute name="white-space-collapse">true</xsl:attribute> 
    <xsl:attribute name="linefeed-treatment">treat-as-zero-width-space</xsl:attribute> 
    <xsl:attribute name="background-color">#ff0000</xsl:attribute> 
</xsl:attribute-set> 

Все красные пробелы должны быть удалены. Где моя ошибка?

ответ

1

ФОП, кажется, испытывают трудности в "Пробельные обращения":

XSL-FO Property Support Table (§7)

Таким образом, может быть необходимо использовать < XSL: стрип-космические элементы = "UIControl" > плюс нормализуют-пространство() для текста() в uicontrol.

Ниже приводится результат при определении < XSL: стрип-космических элементов = "UIControl" >

After applying xsl:strip-space

Для справки, Antenna House делает ваше оригинальное определение стиля следующим образом:

AHF render result

Надеюсь, это поможет вашему развитию.

+0

Большое спасибо. '' сделал трюк –

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