[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Problem with embeded XHTML in an XML file and tra
Subject: Re: Problem with embeded XHTML in an XML file and transformation to XSL:FO
From: "andrew welch" <andrew.j.welch@xxxxxxxxx>
Date: Sat, 12 Aug 2006 14:54:10 +0100
|
On 8/12/06, Luuk Jansen <subscribe@xxxxxxxxxxxxxxxxx> wrote:
I have a problem with the following, and breaking my head over it the
last couple of days.
I have the content element as seen below in a xml document which has to
be transformed to a PDF. That is no problem with the Apache FOP and I
have almost everything working except the view parts that use the XHTML.
How do I create a template that can transfer the XHTML code to XSL:FO
code on the fly (preserving layout etc). I tried importing the
xhtml2fo.xsl sheet into the general style sheet and then call
apply-templates inside the content element, but that doesn't work, I
guess because the tags are not correct (as in <).
The resulting PDF document shows the HTML perfect (with <HTML> etc.).
I was trying to apply-templates to the code and then put it in a
variable on which the xhtml2fo.xsl template can be applied, but FOP
crashed on that try.
Does anybody have any suggestion?
Thanks a million in advance,
Regards,
Luuk
_____________
A small snip of the embedded code is (I replaced the text):
<Content Version="1.0"
type="XHTML"><html><head></head><body><p
class="MsoNormal" style="margin-top: 6pt; text-align: justify;
text-indent: 21.25pt; font-family: times new roman;"><font
size="3"><span style="font-size: 12pt;">
Because the markup is escaped you will need to parse it twice. You
have a <Content> element containing a string:
<Content><html>
In order for a template to be applied to <html> you need to parse it
once to get angle brackets:
<Content><html>
...then parse it again to get an <html> element.
To do this you can use an extension such as saxon:parse() eg:
<xsl:variable name="htmlContent" select="saxon:parse(/pathto/Content)"/>
and then:
<xsl:apply-templates select="$htmlContent"/>
cheers
andrew
|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
RSS 2.0 |
|
Atom 0.3 |
|
|