There is one thing about that approach, when i wrote Hjemmenett on wap we
found some handsets that dont report the full content type, they only report
"wml".

If you test on wml instead of the full content type you should be far better
off :)

Klaus Myrseth



>  -----Opprinnelig melding-----
> Fra:  Kev Palfreyman [mailto:[EMAIL PROTECTED]] 
> Sendt:        29. juni 2000 16:57
> Til:  Orion-Interest
> Emne: RE: XSL Transforms and the XSLServlet
> 
> Tried some more, and this works...
> 
> [JSP file]
> 
> <%@taglib uri="apache-xsl" prefix="xsl" %><%! 
> String style ="";
> String content = "";
> %><%
> if (request.getHeader("Accept").indexOf("text/vnd.wap.wml") >= 0) {
>       style = "/wml.xsl";
>       content = "text/vnd.wap.wml";
> }
> else {
>       style = "/html.xsl";
>       content = "text/html";
> }
> response.setContentType(content);
> %><xsl:InsertWithXSL url="/raw.xml" xsl="<%= style %>" />
> 
> 
> 
> [wml.xsl]
> 
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> <xsl:output method="xml" 
>       indent="yes" 
>       omit-xml-declaration="no" 
>       doctype-system ="http://www.wapforum.org/DTD/wml_1.1.xml" 
>       doctype-public="-//WAPFORUM//DTD WML 1.1//EN"
>       media-type="text/vnd.wap.wml"
>       />
> 
> <xsl:template match="/">
> 
> <wml>
>     <card id="card1" title="raw.xml as WML">
>          <p><xsl:value-of select="."/></p>
> </card>
> </wml>
> 
> </xsl:template>
> 
> </xsl:stylesheet>
>  
> 
> [raw.xml]
> 
> <?xml version="1.0"?>
> <doc>My name is KEV</doc>
> 
> 
> You get the idea.....
> 
>       Kev
>        -----Original Message-----
>       From:   [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]] 
>       Sent:   29 June 2000 14:40
>       To:     Orion-Interest
>       Subject:        RE: XSL Transforms and the XSLServlet
> 
>       Hi David.
> 
>       I'm fighting this issue too.  Only difference is that I tried to do
> it using JSP.
> 
>       [First I must say that I am new to JSP and Orion.]
> 
>       I'm finding that if I put WML in a .jsp file, the return type was
> text/html.
>       So, OK, I set the MIME type for WAP and all is well (notice no line
> feed 
>       after the JSP directive):
> 
>       <% response.setContentType("text/vnd.wap.wml");%><?xml
> version="1.0"?>
>       <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
> "http://www.wapforum.org/DTD/wml_1.1.xml">
>       <wml>
>       ....
> 
> 
>       BUT... if the JSP does any form of XSL transform I have been unable
> to 
>       return the correct type.
> 
>       My only solution with JSP so far has been to detect the agent type
> and 
>       then perform a forward to static page.
> 
>       For example, I could NOT get the following .jsp to work:
>       (it seem to always give text/html even when the content is wml)
> 
>       <%@taglib uri="apache-xsl" prefix="xsl" %><% 
>       if (request.getHeader("Accept").indexOf("text/vnd.wap.wml") > 0) {
>       %><% 
>       response.setContentType("text/vnd.wap.wml");
>       %><xsl:InsertWithXSL url="/raw.xml" xsl="/wml.xsl" /><%
>        } else { 
>       %><% 
>       response.setContentType("text/html");
>       %><xsl:InsertWithXSL url="/raw.xml" xsl="/html.xsl" /><%
>        } %>
> 
> 
>       Lastly, here is some XSL that should set the content type 
>       (according to the spec).  I just don't see how it can - it is 
>       simply transforming the body, not playing with the headers.  
>       Maybe it would work for client side XSL.
> 
>       <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>       <xsl:output method="xml" 
>               indent="yes" 
>               omit-xml-declaration="no" 
>               doctype-system ="http://www.wapforum.org/DTD/wml_1.1.xml" 
>               doctype-public="-//WAPFORUM//DTD WML 1.1//EN"
>               media-type="text/vnd.wap.wml"
>               />
> 
> 
>       I you figure this out, please mail back to the list.  Tomorrow I try
> servlets 
>       rather than JSP.
> 
> 
>               Kev
> 
>                -----Original Message-----
>               From:   [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]] 
>               Sent:   29 June 2000 12:41
>               To:     Orion-Interest
>               Subject:        XSL Transforms and the XSLServlet
>               Importance:     High
> 
>               Hi,
> 
>               I'm using OrionRC1 (heard there were difficulties with RC2
> and the final release) with a servlet that generates XML and decides which
> stylesheet to use (a web one or a wap one) depending on the user-agent
> type passed in the httpservletrequest.
> 
>               This works fine, except that the XSLServlet has a
> defaultcontenttype parameter, which means ALL the output from it comes out
> as that content-type.
> 
>               Default is "text/html", and using that my WAP phone won't
> view the page (even though it REALLY is WML), because it doesn't recognise
> "text/html" as a valid content-type that it can handle.
> 
>               And if I set the default content type for the XSLServlet to
> be "text/vnd.wap.wml" my phone gets the pages OK, but now my browser
> obviously doesn't play!!!
> 
>               Is there a way to specify content-type within the XSL
> stylesheet itself (or elsewhere)???
> 
>               Or, can someone tell me more about what was covered briefly
> in the orion docs about orion being able to "automatically" use the right
> stylesheet for WEB or WAP???
> 
> 
>               Thanks very much,
> 
>               David Middleton
>               [EMAIL PROTECTED]

Reply via email to