Jeff,

It looks as if you are not telling the page about its content type.  Add 
the tag:

<%@ page language="java" contentType="text/xml" %>

That may get you further.

Nick


At 11:57 AM 1/19/01 -0600, you wrote:
>Hi Folks,
>
>Although I'm an experienced Java and Web
>developer, I'm very new to Orion and am
>trying a tactic that I've seldom seen
>mentioned on this newsgroup.  My search
>of posts for the last few months shows one
>person doing something pretty similar, but
>recommendations to his note haven't solved
>my problem.
>
>Basically, I would like a JB to emit pure XML
>into a JSP which wraps it in the proper code
>to cause IEv5.5 to perform the XML/XSL
>transformation (instead of the server).  I've
>been able to get this logic to work in other
>web crafting environments (Tango and ASP), but
>have not been able to get it to work from JSPs.
>
>I've got a local JB (ClassInfoBean2.java)
>with a method that emits a chunk of XML.
>The following code is in the associated JSP.
>
>[NOTE: The <xsl:output...> lines were the
>recommendation I found in a note from
>1/8/01 who's subject is "XSL on Orion
>returns content type text/xml instead
>of text/html".  Whether these lines
>are present or not has made no difference.]
>
>This JSP code is about as simple as
>it gets.
>
>   <?xml version="1.0"?>
>   <?xml-stylesheet type="text/xsl"
>     href="ClassInfo2.xsl"?>
>
>   <xsl:output method = "html"
>    indent = "yes"
>    doctype-system = "http://www.w3.org/DTD/HTML4-strict-dtd"
>    doctype-public = "-//W3C//DTD HTML 4.0//EN"
>    media-type= "text/html" />
>
>   <jsp:useBean id="ClassInfoBeanId"
>     scope="session"
>     class="school.ClassInfoBean2" />
>   <jsp:setProperty
>     name="ClassInfoBeanId" property="*" />
>
>   <root>
>     <jsp:getProperty
>       name="ClassInfoBeanId"
>       property="xmlData" />
>   </root>
>
>The associated XSL file is too long to try
>to post in this note.  The content probably
>isn't a part of the problem since the browser
>doesn't even try to do the transformation.
>When I copy the following XML into an XML file,
>the browser loads the file and performs the
>transformation perfectly.  However the browser
>refuses to perform the transformation when
>the same XML is emitted from a JSP file.
>
>Here's the XML output that the JSP emits:
>
>   <?xml version="1.0"?>
>   <?xml-stylesheet type="text/xsl"
>     href="ClassInfo2.xsl"?>
>   <xsl:output method = "html"
>     indent = "yes"
>     doctype-system = "http://www.w3.org/DTD/HTML4-strict-dtd"
>     doctype-public = "-//W3C//DTD HTML 4.0//EN"
>     media-type= "text/html" />
>   <root>
>     <title>Class Info</title>
>     <stylesheet>resources.css</stylesheet>
>     <studentinfo>
>       <id>234567890</id>
>     </studentinfo>
>     <class>
>       <id>23</id>
>       <name>ThisName</name>
>       <descr>Relatively longggg Description</descr>
>       <section>ThisSection</section>
>       <dept>ThisDept</dept>
>       <maxsize>18</maxsize>
>       <credits>3</credits>
>       <startdate>1-18-2001</startdate>
>       <starttime>13:00</starttime>
>       <finishtime>15:30</finishtime>
>       <building>thisBuilding</building>
>       <room>thisRoom</room>
>     </class>
>   </root>
>
>Now when this is sent to IEv5 (with the latest
>XSLT updates installed), the XSL file should be
>loaded and used to transform the XML data into
>the appropriate HTML--but this is not happening
>and I can't tell what's missing.
>
>Specifically, I can't tell if the browser isn't
>able to find the XSL file (thus the subject
>of this note), or if the browser doesn't know
>that this is really an XML page that warrants
>XML/XSL processing, or if the browser thinks
>there's a valid reason (ie., security) to avoid
>doing the transformation.  No errors are
>produced, the browser simply refuses to do
>the transformation.
>
>In this setting, I have several questions.
>
>1.  Given the <?xml-stylesheet...> statement
>shown above, where should I put the XSL file?
>Perhaps with the JSP files? (This worked for the
>CSS files in this project.)  Perhaps a different
>path in the href value would be appropriate?
>Any suggestions?
>
>2.  Do I need to explicitly tell Orion to
>handle XSL and/or CSS file types?  There
>wouldn't be much for Orion to do except emit
>their contents 'as is' and let the downstream
>device do the processing.  If I don't do this
>then it would seem that these files would be
>(apparently) served from a different server
>(http://whatever:8080/something vs
>http://whatever/something).  I mention this
>because it occurred to me that the browser's
>sandbox might be interfering with loading the
>XSL file from what appears to be a different
>domain that where the original page is served
>from.  My gut feeling is that this shouldn't
>be necessary, but I don't want to leave any
>stone unturned in this search.
>
>3.  There's a possibility that the browser is
>confused since the URL ends in JSP but I'm
>returning XML content.  That is, the browser may
>not realize that it is appropriate for it to
>do the XSL transformation.  The first two lines
>should remove any of the browser's doubt about the
>content type of the page, but since nothing I've
>done has made a difference I don't want to rule
>this out as a possible cause of confusion.
>
>My plan is to produce a transform object
>which detects the browser's capabilities and
>pushes the transformation as close to the
>browser as possible.  In the case of IE5,
>then we would emit XML with an appropriate
>reference to a transformation file.  In browsers
>that don't handle XML but have a JRE, we would
>emit a page with a reference to a compiled
>transformation (produced by Sun's XSLT compiler).
>If the browser has no XML nor JRE support,
>then the Server will perform the transformation
>and emit HTML.  The ultimate goal is to maximize
>the utilization of the browser's capabilities.
>
>Anyone had any luck getting IEv5 to participate
>in this tactic from a JSP page?  Any suggestions
>would be appreciated.
>
>Cheers,
>Jeff Chapman
>Pervasive Software


Reply via email to