[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Saxon 6.5.3: apply-templates="processing-instruction()
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|