Subject: RE: [xsl] Invoking XALAN API with an in-memory XML/XSL string From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Thu, 18 Apr 2002 09:58:38 +0100 |
> > 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Invoking XALAN API with an in, Roger L. Costello | Thread | Re: [xsl] Invoking XALAN API with a, Roger L. Costello |
RE: [xsl] Loosing Precision after T, Michael Kay | Date | RE: [xsl] setting global parameter , Michael Kay |
Month |