Which browser? Is it Mozilla? You need to make sure you set the appropriate content-types. top.xml should be provided as "text/xml" or whatever type of XML it is. If it is XHTML, you might use "application/xhtml+xml". Note that "text/xsl" doesn't exist as a content-type. It is only, lamely, recognized by IE. Make sure that the server serving up the .xsl file sets the content type as "text/xml" as well.

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]



Reply via email to