This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: escaping from CDATA
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] escaping from CDATA
- From: Johannes Döbler <jd at aztecrider dot com>
- Date: Thu, 25 Oct 2001 15:53:46 +0200
- Reply-To: xsl-list at lists dot mulberrytech dot com
Assumed you want to access the XML fragment as XML and not as string, then
you could implement a URIResolver which receveives the xml fragment and
turn it into a Source object (expressed in Java and TrAX-terms).
If the CDATA-Textnode is the current node, then use the following XPath
expression
document(concat('fragment:', .))
to access the fragment string as document.
The URIResolver (which is invoked when document() is called) could be
implemented like this:
public javax.xml.transform.Source resolve(String href, String base)
{
if (href.startsWith("fragment:"))
{
String fragment = href.substring("fragment:".length());
return new javax.xml.transform.stream.StreamSource(new
java.io.StringReader(fragment));
}
else
return null;
}
Cheers,
Johannes
>I have some valid xml embedded in a CDATA section:
>
> <![CDATA[<element attr="100"><a>100</a><b>200</b></element>]]>
>
>I don't control the source XML so I just have to accept this.
>My question is how I can access the XML fragment inside the
>CDATA section. THankx
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list