Hi Folks,
I want to parse, as XML, the contents of this comment:
<!--abc<style>hello, world</style>def-->
The contents of that comment is not well-formed XML, so I extracted the
contents and placed a <wrapper> element around it:
<xsl:variable name="wrapped-comment" as="xs:string">
<xsl:value-of select="concat('<wrapper>', comment()/data(),
'</wrapper>')"/>
</xsl:variable>
Then I applied parse-xml-fragment to the variable:
<xsl:sequence select="parse-xml-fragment($wrapped-comment)" />
That produced the desired result:
<wrapper>abc<style>hello, world</style>def</wrapper>
Yea!
Pretty cool. (Thanks Martin)
However, the actual comment that I have contains some nastiness: after the
<style> end-tag is this string: <![endif]
So, the actual comment is this:
<!--abc<style>hello, world</style><![endif]-->
Eek!
When I apply parse-xml-fragment (after wrapping the comment's content in a
<wrapper> element) I get this error:
First argument to parse-xml-fragment() is not a well-formed
and namespace-well-formed XML fragment.
That makes perfect sense since the unescaped '<' at the end of the comment is
causing problems.
Is there an elegant, simple solution to this problem, without manually changing
<![endif] to <![endif]?
/Roger
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--