[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"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="data:,dpc"
exclude-result-prefixes="d">
<xsl:import href="http://www.dcarlisle.demon.co.uk/htmlparse.xsl"/>

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

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


on an input of:

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

it produces:



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

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

________________________________________________________________________
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:
http://www.star.net.uk
________________________________________________________________________


Current Thread