[xslt] Empty output with xsltproc/libxslt 1.0.8



Folks,

Stylesheets that worked with a previous release of xsltproc/libxslt now
produce no output.  Has anyone seen this before?

Here's my test stylesheet:

---
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0"
                xmlns:cvs="http://www.FreeBSD.org/XML/CVS";>
  
  <xsl:output type="html" encoding="iso-8859-1"
              doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>

  <xsl:template match="page">
    <html>
      <xsl:apply-templates/>
    </html>
  </xsl:template>

  <xsl:template match="p">
    <p><xsl:value-of select="."/></p>
  </xsl:template>
</xsl:stylesheet> 
---

which is pretty trivial, and here's the test document.

---
<?xml version="1.0"?>

<page>
  <p>Hello world</p>
</page>
---

I've tried parsing this with two versions of libxslt.  The first, which
works, has this '-V' output

    Using libxml 20406, libxslt 10005 and libexslt 500
    xsltproc was compiled against libxml 20406, libxslt 10005 and libexslt 500
    libxslt 10005 was compiled against libxml 20406
    libexslt 500 was compiled against libxml 20406

When I process the document in verbose mode I get this output

---
# xsltproc -v test.xsl test.xml
Added namespace: xsl mapped to http://www.w3.org/1999/XSL/Transform
Added namespace: cvs mapped to http://www.FreeBSD.org/XML/CVS
xsltPrecomputeStylesheet: removing ignorable blank node
xsltParseStylesheetProcess : found stylesheet
template has 1 inherited namespaces
xsltCompilePattern : parsing 'page'
xsltCompilePattern : parsed page, default priority 0.000000
added pattern : 'page' priority 0.000000
template has 1 inherited namespaces
xsltCompilePattern : parsing 'p'
xsltCompilePattern : parsed p, default priority 0.000000
added pattern : 'p' priority 0.000000
parsed 2 templates
Initializing keys on test.xml
Registered 0 modules
Registering global variables
Registering global variables from test.xsl
xsltProcessOneNode: no template found for /
xsltProcessOneNode: applying template 'page' for page
xsltApplyOneTemplate: copy node html
xsltApplyTemplates: node: page
xsltApplyTemplates: list of 3 nodes
xsltProcessOneNode: no template found for text
xsltDefaultProcessOneNode: copy text 
  
xsltProcessOneNode: applying template 'p' for p
xsltApplyOneTemplate: copy node p
xsltValueOf: select .
xsltValueOf: result Hello world
xsltProcessOneNode: no template found for text
xsltDefaultProcessOneNode: copy text 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <p>Hello world</p>
</html>
---

The second version has this '-V' output

    Using libxml 20410, libxslt 10008 and libexslt 701
    xsltproc was compiled against libxml 20410, libxslt 10008 and libexslt 701
    libxslt 10008 was compiled against libxml 20410
    libexslt 701 was compiled against libxml 20410

The output from running with '-v' is *identical*, except that at the end
of the run the last four lines (i.e, the transformed, serialised tree)
are not sent to stdout.  All the preceeding lines (the verbose output)
is the same, confirmed by running 'diff' on the results.

I'm running FreeBSD 4.3-RELEASE on these machines.

Anyone seen anything like this?  I checked the FAQ and list archives but
couldn't see anything similar.

N
-- 
FreeBSD: The Power to Serve             http://www.freebsd.org/
FreeBSD Documentation Project           http://www.freebsd.org/docproj/

          --- 15B8 3FFC DDB4 34B0 AA5F  94B7 93A8 0764 2C37 E375 ---

PGP signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]