[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Invoking XALAN API with an in-memory XML/XSL strin
> > I have a (Java) program which has two String variables: > - xml, whose value is the XML, and > - xsl, whose value is the stylesheet > > I am trying to invoke the XALAN API using these in-memory > strings, e.g., > > -- convert the xsl (String) to a byte array and create an instance > -- of an InputStream: > > ByteArrayInputStream is = new ByteArrayInputStream(xsl.getBytes()); > > -- create a StreamSource using the input stream: > > StreamSource ss = new StreamSource(is); > String.getBytes() converts characters to bytes in the "platform's default character encoding", according to the JDK spec. I'm never quite sure what they mean by "platform", sometimes it seems to mean the computer, sometimes the JVM. But either way, you end up with an array of bytes in some unknown encoding, which the XML parser then has to decipher. Just give the parser the character string to play with directly: StringReader sr = new StringReader(xsl); StreamSource ss = new StreamSource(ss); (And by the way, it's not the Xalan API, it's the JAXP API). Michael Kay Software AG home: Michael.H.Kay@xxxxxxxxxxxx work: Michael.Kay@xxxxxxxxxxxxxx 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
|