2016-07-21 10 views
0

ich eine XML wie diese:Apache FOP XSL/XSLT - Making Text fett in generierten PDF

<?xml version="1.0" encoding="UTF-8"?> 
<TermsAndConditions> 
     <clause><clausetext>Terms and Conditions of Supply - Please read carefully</clausetext></clause> 
     <clause><clausetext>Available only to <bold>customers who have an existing</bold> account.</clausetext></clause> 
</TermsAndConditions> 

und das Stylesheet ist:

<fo:page-sequence master-reference="simple" > 
     <fo:flow flow-name="xsl-region-body">  
     <xsl:for-each select="data/TermsAndConditions/clause"> 
       <fo:block font-size="10pt" font-family="Arial" color="#6d6e71"><xsl:value-of select="clausetext" /> 
</fo:block> 
       <fo:block font-size="10pt" font-family="Arial" line-height="10pt" space-after.optimum="3pt" text-align="justify">&#0160;</fo:block> 
     </xsl:for-each> 
    </fo:flow> 
</fo:page-sequence> 

Wie gehe ich über den Text zu machen zwischen den Tags < fett> </fett> wie fett in der generierten pdf? Im Moment kann ich die Klauseln sehen, aber der Text ist ganz normal.

Weiter zu diesem, habe ich versucht, eine ähnliche Sache w3schools.com den Tryit Editor: [http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=tryxsl_if]

mit dem folgende Stylesheet:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
    <html> 
    <body> 
    <xsl:apply-templates mode="tttt" /> 
    </body> 
    </html> 
</xsl:template> 

    <xsl:template match="bold" mode="tttt"> 
    <b><xsl:value-of select="." /></b> 
    </xsl:template> 
</xsl:stylesheet> 

und ich bekomme die Ausgabe wie gewünscht.

+0

Das Stylesheet Sie zeigen produziert hrml. Sie müssen mindestens mit XSL FO für Apache FOP arbeiten –

+0

Ich arbeite mit xsl fo. Das zweite Stylesheet basierte auf dem ersten nur als Proof of Concept. – user2260040

Antwort

2

<b> ist HTML-Syntax, für fo dies wahrscheinlich sollte lauten:

<xsl:template match="bold" mode="tttt"> 
    <fo:inline font-weight="bold"><xsl:value-of select="." /></fo:inline> 
    </xsl:template> 
</xsl:stylesheet> 
+0

@ user2260040, du hast nicht viele Antworten akzeptiert, was die Art ist, "Danke" zu sagen - hat dir diese Antwort geholfen oder was können wir tun, um dir zu helfen? –

Verwandte Themen