[xsl] Saxon 6.5.3: apply-templates="processing-instruction()"

Subject: [xsl] Saxon 6.5.3: apply-templates="processing-instruction()"
From: "Steven Anderson" <sanderson@xxxxxxxxxxxxxx>
Date: Wed, 27 Apr 2005 11:24:31 -0700
Forgive me if this is an obvious question, but I'm a newbie trying to
figure out how to handle processing-instructions with XSLT.

Using Saxon 6.5.3, I'm trying to apply a template defined like this:

MARKER ['), ']')='Filename']">

I thought I could just do the following:

<xsl:apply-templates select="processing-instruction()" />

But if I do that, the other template never gets applied.  If I change
the line to

<xsl:apply-templates select="node()" />

I get the output that I want, but a lot of other output as well.

I have tried

'MARKER ['), ']')='Filename']" />

But that doesn't work, either.

Here's the entire stylesheet, just in case it helps.

<?xml version='1.0' ?>
<xsl:stylesheet version="1.0"
  <xsl:output method="text"/>

  <xsl:template match="dita">
    <xsl:variable name="crossRefId" select="@Id"/>
    <xsl:value-of select="$crossRefId"/>
    <xsl:apply-templates select="processing-instruction" />

MARKER ['), ']')='Filename']">
    <xsl:variable name="filename" select="substring-after(.,
                                        '[Filename] ')" />
    <xsl:value-of select="$filename"/>


The $crossRefId variable is set and output, but $filename isn't output.

Any ideas?


Current Thread