Ajouter un saut de ligne dans un fichier PDF avec XSL-FO?
Essayer de créer un fichier PDF basé sur XML et un fichier à l'aide de XMLSpy.
Je suis en train de diviser un terrain en deux lignes en fonction du contenu du champ.
Par exemple, si mon varialbe = "John Doe AKA Johnny D", je veux l'afficher comme ceci :
John Doe
Johnny D
Mon problème est que je ne peux pas le faire fonctionner, même avec tous les samples sur le net.
Voici mon code :
<xsl:value-of disable-output-escaping="yes" select="concat(substring-before(//MyField,'AKA'),$newline,substring-after(//MyField,'AKA'))" />
</xsl:when>
Donc, fondamentalement, eveytime-je trouver le "AKA" la ficelle, j'ai envie de casser le champ en deux lignes.
Donc mon code, trouve la chaîne, de créer la nouvelle variable, mais montre encore dans une ligne.
J'ai essayé de créer une variable avec une ligne vide, à l'aide de toutes sortes de techiniques mais montre encore dans une ligne.
Toutes les pensées ?
source d'informationauteur Elkucho
Vous devez vous connecter pour publier un commentaire.
Voir ma réponse ici sur l'utilisation d'un hex de l'entité de référence et
linefeed-treatment
.Modifier
J'ai pris votre code de commentaires, et le mettre dans un template dans un exemple de feuille de style XSLT. La seule chose que j'ai changé, c'est:
newline
variable

.linefeed-treatment="preserve"
à votrefo:block
.À l'aide d'un mannequin de fichier XML et la feuille de style XSLT, j'ai produit une feuille de style XSL-FO document que lors du rendu avec BELLÂTRE, produit de "John Doe" et "Johnny D" sur des lignes distinctes.
Voici le fichier XML:
Voici la feuille de style XSLT:
Ici est celle du XSL-FO:
Le fichier PDF est d'une seule 8.5" x 11" avec ce sur:
La réponse par @daniel-haley produit toujours une seule paire de noms lorsque la source est:
(Dans XPath 1.0, la conversion d'un node-set en une chaîne de caractères retourne la valeur de la chaîne uniquement le nœud en nœud qui est premier dans l'ordre du document. Voir https://www.w3.org/TR/xpath/#function-string.)
La feuille de style ci-dessous divise toute nœud de texte contenant "
AKA
". Depuis la enfermantfo:block
vient de laxsl:template
pourMyField
cette version génère un videfo:block
à cause du saut de ligne.