It sounds like there is a problem with the value of the xsl variable. Can you print it out prior to the newTransformer call and see what it looks like?
Gary > -----Original Message----- > From: Roger L. Costello [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, April 17, 2002 11:22 AM > To: [EMAIL PROTECTED]; [EMAIL PROTECTED] > Subject: Invoking XALAN API with an in-memory XML/XSL string > > > Hi Folks, > > [NOTE: Please mail responses directly to me. Thanks!] > > 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); > > -- create a Transformer using the stream source: > > Transformer transformer = tFactory.newTransformer(ss); > > When I execute the program I get an error message: > > [Fatal Error] :1:1: Content is not allowed in prolog. > > where the following is referenced as the offending instruction: > > Transformer transformer = tFactory.newTransformer(ss); > > Note: there is nothing wrong with my stylesheet. When I run > it from the command line everything works fine. > > Any ideas on what causes this error message? Have you > invoked the XALAN API with in-memory strings? How did you do > it? /Roger >
