[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Can someone help me understand why this isn't working?

Subject: Re: [xsl] Can someone help me understand why this isn't working?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 20 Jan 2005 15:30:19 GMT

If you can use XSLT2 (eg saxon8) one option is to parse within xslt.

eg the following implements your test example of converting the &lt;P&gt;... to
an em element rather than the fo:block you really want, to generate fo,
just replace <em>  final template by the obvious thing.

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="2.0"
<xsl:import href="http://www.dcarlisle.demon.co.uk/htmlparse.xsl"/>

<xsl:output method="html"/>
<xsl:template match="/">
<title>Today's greeting</title>
<xsl:apply-templates select="d:htmlparse(string(greeting[1]),'',true())/node()"/>

<xsl:template match="p"> <em><xsl:apply-templates/></em> </xsl:template>

on an input of:

<?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet type="text/xsl"
<greeting>&lt;P&gt;Hello, world!&lt;/P&gt;</greeting>

it produces:

$ java -jar saxon8.jar  h.xml h.xsl
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

      <title>Today's greeting</title>
   <body><em>Hello, world!</em></body>

This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:

Current Thread