The reason it might load up from your file system properly is that Mozilla presumes the content-type based on the file extension ".xml".
Jake
At 10:38 AM 2/24/2004 -0500, you wrote:
All,
I'm trying to read a xml file, then add a processing instruction and trying
to send it back as response from a servlet. But when i send the response and
try to view it from the browser, i dont see the processing instruction added
to the xml file. But if i write the document object to a file in the server
and read it from that file then the xslt processing tag is attached and the
browser displays it correctly.
Reading xml from the file and adding processing instruction.
FileInputStream fis = new FileInputStream("C:\\ragu\\top10.xml"); InputSource in_src = new InputSource(fis); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.parse(in_src); String xslpath = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort(); ProcessingInstruction pi = document.createProcessingInstruction("xml-stylesheet", "href=\""+ "http://wsd-007/summary.xslt" +"\" type=\"text/xsl\""); document.insertBefore(pi, document.getDocumentElement()); document.normalize();
***********************************************************************
writing the document to a file. This file has the processing instruction attached to it.
FileOutputStream fos_1 = new FileOutputStream("c:\\ragu\\test_cv_servlet.xml"); BufferedOutputStream bos_1 = new BufferedOutputStream(fos_1); OutputFormat format_1 = new OutputFormat(document); format_1.setEncoding("ISO-8859-1"); //format.setEncoding(System.getProperty("DbEncoding")); StringWriter stringOut_1 = new StringWriter(); XMLSerializer serial_1 = new XMLSerializer(stringOut_1, format_1); serial_1.asDOMSerializer(); serial_1.serialize(document); bos_1.write(stringOut_1.toString().getBytes()); bos_1.flush(); fos_1.close();
***************************************************************************
sending it back from the document object. But the processing instruction is not there.
OutputStream os = res.getOutputStream(); OutputFormat format = new OutputFormat( document ); //Serialize DOM format.setEncoding("ISO-8859-1"); StringWriter StringOut = new StringWriter(); //Writer will be a String XMLSerializer serial = new XMLSerializer( StringOut, format ); serial.asDOMSerializer(); serial.serialize(document.getDocumentElement()); //OutWriter.write(StringOut.toString()); os.write(StringOut.toString().getBytes()); os.flush(); os.close();
**************************************************************************** **
Please advice me what i'm doing wrong or how to send a document with the processing instructions.
Ragu CircuitVision
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
