1) The "hide" strings in the processing instructions are not being replaced
by "show".
<xsl:when test="contains($text, $find)">
<xsl:value-of select="substring-before($text, $find)"/>
<xsl:value-of select="$find"/>
... and so on
So this part of your code gets everything before the occurance of
$find, returns that. Then it returns the value of $find. It keeps
doing this while there is still a string (I hope, otherwise it won't
terminate). It might work better to have something like:
<xsl:when test="contains($text, $find)">
<xsl:value-of select="substring-before($text, $find)"/>
<xsl:value-of select="$replace"/>
..and so on
which would return all the text before the first occurance of $find,
the the value of $replace, and then do a recursive call on the rest of
the string (everything after the first occurance of $find).
2) I am loosing the <? ?> delimiters on the processing instructions.
As far as I can tell you're not "losing them", you never create a new
processing instruction. Your stylesheet essentially says: when you
see a processing instruction, generate this text.
I've only skimmed your email, but I would venture you need something like:
<xsl:template match="/processing-instruction()">
<xsl:processing-instruction>
<xsl:call-template name="do-replace">
<xsl:with-param name="text" select="."/>
</xsl:call-template>
</xsl:processing-instruction>
</xsl:template>
Or in other words: when you see a processing instruction in the input
XML, produce a processing instruction that contains the results of the
call-template.
3) Lower level processing instructions are not getting written to the output
(e.g. <?Fm Condstart Prolog?>).
Just got an email you figured out what's wrong there.
I am using Saxon 8.5, but my stylesheet needs to be XSLT 1 compatible.
Thanks in advance for any help you can give.
So why not use Saxon 6.5? Besides, this looks XSLT 1ish to me.
Jon Gorman
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--