|
Subject: Re[2]: [xsl] applying code from inside the comment From: Alexey Nickolaenkov <nikolaenkov@xxxxxxxxxxxx> Date: Tue, 16 Jan 2007 20:12:17 +0300 |
>> I've encountered the following problem:
>>
>> input
>>
>> <?xml version="1.0"?>
>> <A>
>> <!--<B>hello world</b>-->
>> <C>this should remain also</C>
>> </A>
>>
>> I've tried different ways to convert comment into code. But
>> none of them works and I dont have any clues. Can you help me?
MK> I'm not sure what you want to do with the comment. But the important thing
MK> is to note that the comment is just text. It doesn't contain an element
MK> node, it just contains text with a strong resemblance to element markup. If
MK> the structure is potentially more complex than your example, then perhaps
MK> you should consider extracting the text of the comment and parsing it as an
MK> XML document:
MK> <xsl:template match="comment()">
MK> <xsl:apply-templates select="saxon:parse(.)"/>
MK> </xsl:template>
Thank you very much, Michael. This works great. The only thing you
have to make sure when making saxon:parse that you providing it with
valid xml. Great extension. Thank you once again. Here's the code
I've come up with.
<xsl:template match="//comment()[contains(.,'drive_panel')]">
<xsl:variable name="comment">
<comment>
<xsl:value-of select="."/>
</comment>
</xsl:variable>
<xsl:variable name="node-set" select="saxon:parse($comment)" />
<xsl:apply-templates select="$node-set"/>
</xsl:template>
<xsl:template match="comment">
<xsl:apply-templates select="node() except ./text()"/>
</xsl:template>
--
Alexey mailto:alexey.nikolaenkov@xxxxxxxxxxxx
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] applying code from inside, Michael Kay | Thread | Re[2]: [xsl] applying code from ins, Wendell Piez |
| Re: [xsl] Axis specifers, David Carlisle | Date | Re: [xsl] Axis specifers, Wendell Piez |
| Month |