2009-07-04 19 views
15

avere una abbastanza semplice modello:XSL-FO - elementi blocco vuoto

<xsl:template match="p"> 
    <fo:block> 
     <xsl:apply-templates/> 
    </fo:block> 
</xsl:template> 

mi chiedono come dire FO per mantenere le linee vuote se il blocco è vuota.

Acclamazioni
gen

risposta

32

Basta aggiungere un elemento <fo:leader/> alla fine del vostro <fo:block>. In questo modo:

<xsl:template match="p"> 
     <fo:block> 
       <xsl:apply-templates/> 
       <fo:leader /> 
     </fo:block> 
</xsl:template> 

Il leader non farà nulla per le linee con contenuto e creerà una riga vuota per le linee senza contenuto.

Testato con Apache FOP e XEP.

8

In alternativa,

<fo:block white-space-treatment="preserve"> </fo:block> 
11

O

<xsl:template match="p"> 
    <fo:block> 
      <xsl:apply-templates/> 
      &#x00A0; 
    </fo:block> 

&#x00A0; è l'equivalente di &nbsp; in HTML (in realtà &nbsp; è un'entità XML che è definito come A0, che è il carattere Unicode per spazio non interrotto).

Problemi correlati