|
Subject: Re: [xsl] How to: Returning HTML Elements From a Saxon Extension Function (6.5.x) From: "W. Eliot Kimber" <eliot@xxxxxxxxxx> Date: Fri, 18 Apr 2003 10:29:27 -0500 |
W. Eliot Kimber wrote:
My analysis is correct--turns out one of my collegues had already figured this out and I didn't know it. What I had missed was the the "Parse()" method on the Saxon DocumentBuilderImpl class, which allows you to pass in a string to be parsed more or less directly. Here's the basic pattern:
public NodeInfo generateResultTree(String markup) { java.io.ByteArrayInputStream bais = new ByteArrayInputStream(markup.getBytes()); org.xml.sax.InputSource isource = null; try { isource = new InputSource(bais); } catch (org.xml.sax.SAXException e) { e.printStackTrace(); } org.w3c.dom.Document root = new com.icl.saxon.om.DocumentBuilderImpl().parse(isource); return (NodeInfo)(root.getDocumentElement()); }
public NodeInfo generateMarkup(String markupString) {
ByteArrayOutputStream baos = new ByteArrayOutputStream(); OutputStreamWriter osw = null;
// NOTE: the following exceptions should never happen,
// so there's no point in trapping them.
try {
osw = new OutputStreamWriter(baos, "UTF-8");
} catch (UnsupportedEncodingException e2) {
e2.printStackTrace();
}
try {
osw.write(markupString);
} catch (IOException e3) {
e3.printStackTrace();
}
try {
osw.flush();
osw.close();
} catch (IOException e4) {
e4.printStackTrace();
}
ByteArrayInputStream bais = new
ByteArrayInputStream(baos.toByteArray());
InputSource isource = new InputSource(bais);
Document root = null;
try {
root = new DocumentBuilderImpl().parse(isource);
} catch (SAXException e1) {
e1.printStackTrace();
}
return (NodeInfo)(root.getDocumentElement());
}-- W. Eliot Kimber, eliot@xxxxxxxxxx Consultant, ISOGEN International
1016 La Posada Dr., Suite 240 Austin, TX 78752 Phone: 512.656.4139
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] How to: Returning HTML El, W. Eliot Kimber | Thread | RE: [xsl] How to: Returning HTML El, Michael Kay |
| Re: [xsl] splitting a process into , Wendell Piez | Date | Re: [xsl] fetch value from processi, Oleg Tkachenko |
| Month |