Hi,
Thank you everybody, it's working fine. I have really appreciated your quick
answers =) !
Sandra


Vincent Hennebert-2 wrote:
> 
> Hi Sandra,
> 
> sandraB wrote:
>> Hi,
>> I'm facing another issue. I keep my solution but with yours it will be
>> the
>> same problem:
>> I transform the text() node by replacing the '.' with '\u200B'. But how
>> can
>> I call the <xsl:apply-templates> on the result (I can have some bold text
>> text or italic text text in a table cell) ? 
> 
> I’m no XSLT specialist, but I’d play a bit more with XPath: “transform
> every text node that is a descendant of a td element”:
> 
>      <xsl:template match="td//text()">
>          <xsl:call-template name="addZeroWidthSpace" select="."/>
>      </xsl:template>
> 
> If you have something like <td>Text with bold fragment</td>, the
> above template will be called 3 times: on “Text with ”, “bold” and
> “ fragment”.
> 
> In the template matching td you can replace the call to
> addZeroWidthSpace with a simple <xsl:apply-templates/>.
> 
> 
> 
>> My templates
>> 
>> <xsl:template match="td">
>>        <fo:table-cell overflow="visible"
>> keep-together.within-column="always">
>>          <fo:block padding="0cm" white-space-collapse="false">
>>              <xsl:call-template name="addZeroWidthSpace" >
>>                              <xsl:with-param name="str" select="text()" />
>>                      </xsl:call-template>
>>          </fo:block>
>>         </fo:table-cell>
>> </xsl:template>
>> <xsl:template name="addZeroWidthSpace">
>>              <xsl:param name="str" />
>>              <xsl:variable 
>> name="hyphenation-character">&#x200B;</xsl:variable>
>>              <xsl:choose>
>>                      <xsl:when test="'.' and contains($str, '.')">
> 
> Why are you testing for '.'? It seems to me that you can simply do
>      <xsl:when test="contains($str, '.')">
> 
>>                                <!-- I need to apply another templates on
>> substring-before($str, '.')  -->
>>                              <xsl:value-of select="substring-before($str, 
>> '.')" />.<xsl:value-of
>> select="$hyphenation-character" />
>>                              <xsl:call-template name="addZeroWidthSpace">
>>                                      <xsl:with-param name="str" 
>> select="substring-after($str, '.')" />
>>                              </xsl:call-template>
>>                      </xsl:when>
>>                      <xsl:otherwise>
>>                                <!-- I need to apply another templates
>> here
>> -->
>>                              <xsl:value-of select="$str" />
>>                      </xsl:otherwise>
>>              </xsl:choose>
>>      </xsl:template>         
> 
> If you still have trouble getting your stylesheet right, I suggest you
> to ask on the Mulberry Tech XSL list:
> http://www.mulberrytech.com/xsl/xsl-list/index.html
> You will have more chance to find XSLT specialists who will be able to
> help you.
> 
> 
> HTH,
> Vincent
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/keep-together.within-column-tp20854422p20911273.html
Sent from the FOP - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to