Je rencontre un problème lorsque je publie mes modspecs en pdf (XSL-FO). Mes tables ont des problèmes, où le contenu d'une cellule débordera de sa colonne dans la suivante. Comment puis-je forcer une pause sur le texte afin qu'une nouvelle ligne soit créée à la place?XSL-FO: Force Wrap sur les entrées de table
Je ne peux pas insérer manuellement des caractères à espace nul, car les entrées de table sont entrées par programme. Je suis à la recherche d'une solution simple que je peux simplement ajouter à docbook_pdf.xsl (soit en tant que xsl: param ou xsl: attribute)
EDIT: est ici où je suis actuellement:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="urn:docbkx:stylesheet"/>
...(the beginning of my stylesheet for pdf generation, e.g. header and footer content stuff)
<xsl:template match="text()">
<xsl:call-template name="intersperse-with-zero-spaces">
<xsl:with-param name="str" select="."/>
</xsl:call-template>
</xsl:template>
<xsl:template name="intersperse-with-zero-spaces">
<xsl:param name="str"/>
<xsl:variable name="spacechars">
	

      
     ​
</xsl:variable>
<xsl:if test="string-length($str) > 0">
<xsl:variable name="c1" select="substring($str, 1, 1)"/>
<xsl:variable name="c2" select="substring($str, 2, 1)"/>
<xsl:value-of select="$c1"/>
<xsl:if test="$c2 != '' and
not(contains($spacechars, $c1) or
contains($spacechars, $c2))">
<xsl:text>​</xsl:text>
</xsl:if>
<xsl:call-template name="intersperse-with-zero-spaces">
<xsl:with-param name="str" select="substring($str, 2)"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Avec cela, les mots longs sont rompus avec succès dans les cellules du tableau! Malheureusement, l'effet secondaire est que le texte normal ailleurs (comme dans une sous-sextion X) rompt maintenant les mots de sorte qu'ils apparaissent sur des lignes séparées. Existe-t-il un moyen d'isoler le processus ci-dessus à seulement des tables?
Cela ressemble plus à une question de vocabulaire XSL-FO. J'ai revérifié comme tel. Si vous pensez être une question XSLT, veuillez fournir un échantillon d'entrée et la sortie désirée. –
@Alejandro: Oui c'est techniquement un problème XSL-FO (puisque le problème ne se termine pas en html). Je suppose que j'espère un moyen d'ajouter quelque chose au xml. – Ace
Voulez-vous une solution XSLT qui mettra des caractères à espace zéro dans le texte? Si oui, pouvez-vous fournir le plus petit exemple possible de votre XSL-FO et quel texte/où vous devez rendre splittable? –