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: <xsl:template match="processing-instruction('FM')[substring-before(substring-after(.,' 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 <xsl:apply-templates select="processing-instruction('FM')[substring-before(substring-after(., '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" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <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" /> </xsl:template> <xsl:template match="processing-instruction('FM')[substring-before(substring-after(.,' MARKER ['), ']')='Filename']"> <xsl:variable name="filename" select="substring-after(., '[Filename] ')" /> <xsl:value-of select="$filename"/> </xsl:template> </xsl:stylesheet> ----- The $crossRefId variable is set and output, but $filename isn't output. Any ideas? Steve
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Re: Spam:RE: [xsl] Can XS, Thorsten Scherler | Thread | RE: [xsl] Saxon 6.5.3: apply-templ, Michael Kay |
RE: [xsl] Performance benefit in us, Vishwajit Pantvaidya | Date | Re: [xsl] Can XSLT remember the occ, Thorsten Scherler |
Month |