|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: How to: Returning HTML Elements From a Saxon Exten
W. Eliot Kimber wrote:
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: I discovered it's not quite so simple because the byte array you get from String.getBytes() is a UTF-16 byte sequence, but Aelfred (which Saxon uses in it's DocumentBuilderImpl) only handles UTF-8, so you have to convert the Java UTF-16 string to a UTF-8 byte array, which I did like so: 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 XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








