Subject: XT (XSLServlet) ignores media-type for xml? From: Tom Myers <tom.myers@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 07 Mar 2000 10:21:59 -0500 |
I think I'm probably missing something obvious. I'm trying to use jclark's XSLServlet class to generate output which may be xhtml or wml, and I need to set the content-type accordingly; well, "text/html" is okay in one case, but I need "text/vnd.wap.wml" (or preferably "text/vnd.wap.wml;charset=ISO-8859-1") in the other. I seem to have a choice between getting the content-type right, and getting the actual content right: I can do either, but not both. Specifically, I can generate exactly the right output headers with <xsl:output method="xml" media-type=... but my browser (IE4) simply offers to save the file; the media-type is being ignored. I can get the content-type set to the media-type via <xsl:output method="html" media-type=.... and all is well, except that the header is always "<html..." where I need to set it, e.g. to "<wml..." (and yes, I do need to include the XML headers). Looking at the source code, I see that the contentType is set within ServletDestination.getOutputStream, and that the XMLOutputHandler class says merely this.out = dest.getOutputStream("application/xml", null); where the HTMLOutputHandler class contains String mediaType = atts.getValue("media-type"); and then calls on writer = dest.getWriter(mediaType, encoding); Destination.java lays out both getOutputStream and getWriter, but I am not clear on the relationships here. I've tried making an editted XMLOutputHandler class and calling it by method="http://www.jclark.com/xt/java/MyNa.jspUtil.XMLOutputHandler" because it looks from the code in OutputMethodHandlerImpl.java as if that's the way to do it, but it's not being called; it gets a no-such-prefix error unless I define xmlns:http="..something, and maybe I'm just defining it to be the wrong something. I admit I'm feeling really stupid, and I probably deserve it...I'm now using jsp pages to set up a bean in a session with an arbitrary list of named sql.PreparedStatement strings, save the session into a session cache, forward to my version of XSLServlet which just adds one line to define the session ID as a parameter so that an extension function can look up the session in its cache, pull out and activate the bean, extract a nodeiterator representing the results to an arbtrary database query or update, and format... and the output is fine. I just can't see it in the browser because I can't set the content-type. aarrrrggh. Tom Myers XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: RTF Files, Rick Geimer | Thread | using xt-extensions for getting a s, felix |
RE: Balanced Two column tables, Leigh Dodds | Date | Re: Balanced Two column tables, David Carlisle |
Month |