xmlgraphics-fop-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Abel Braaksma (online)" <abel.onl...@xs4all.nl>
Subject Re: Not able generate parse html from xml using XSL Fo
Date Wed, 30 May 2007 15:36:03 GMT
> Hi,
>     I am using an xml file which has the below tag
> <AddInfo>&lt;fo:block font-style=&quot;italic&quot;&gt;URGENT!
> Please note that comments have changed. Please review
> thoroughly.&lt;/fo:block&gt; </AddInfo>

this is XML with quoted XML inside. The XSL-FO parser will never see
the block inside AddInfo (it is just text). Why have you mixed XML
with quoted XSL-FO?

>    And an xsl fo which is of the below form
> <fo:block   text-align="justify"   line-height="20pt"
> space-after.optimum="7pt">
> 	<xsl:value-of select="AddInfo" disable-output-escaping="yes"/>
> </fo:block>

This should select the AddInfo element and take the string value.
Using d-o-e won't help here, I think, to 'unescape' the text.

>  The  XSL Output.html is below
> <fo:block font-style="italic">URGENT! Please note that comments have
> changed. Please review thoroughly.</fo:block>

No. To me it seems that this is what you see when you view it in an
XML renderer (like when you view your output in a browser), but this
part is actually &lt;fo:block etc (if you view it in a browser, try
viewing the source instead).

>   I use org.apache.fop.apps.XSLTInputHandler  to input the xml and
> xsl file and set driver render to pdfformat to generate pdf
> But the parser does not seems to be parsing the fo:block font-style
> in the XML file .

It cannot, there is no fo:block instruction with font-style
attribute, see above, it is escaped.

> <fo:block font-style="italic">URGENT! Please note that comments have
> changed. Please review thoroughly.</fo:block>
>  But I expect that the italic should be applied to the text


> The xml would generated dynamically with different attributes of
> fo:block or html tags
> How could I use these dynamically generated  xml tags which has an
> fo:block or html tag that is parsed and converted to a pdf using xsl
> fo

The simple solution should be: let your XSLT do what it should do:
generate XSL-FO. Let your system design be what it should be:
separated content from layout; meaning: remove the xsl-fo like
stringized XML from your input XML file. Then all will be easy.

If you really MUST use this 'embedded' XSL-FO information, you
should consider using an extension function that allows re-parsing
of a string that contains XML-like text. Saxon provides such an
extension function in its XSLT parser. Not sure of others though.

No need to try to get the XSL-FO renderer to do what you want, you
will have to tackle this in an earlier stage and generate correct

-- Abel Braaksma

To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org

View raw message