以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Java/Eclipse 』  (http://bbs.xml.org.cn/list.asp?boardid=41)
----  请教jaxp基础问题!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=41&rootid=&id=28436)


--  作者:dairyf
--  发布时间:3/11/2006 6:29:00 AM

--  请教jaxp基础问题!
我有一个jsp文件如下:


<%@ page
  import="javax.xml.parsers.*,
  org.w3c.dom.*,
  javax.xml.transform.*,         
  javax.xml.transform.stream.*,
  java.io.*" %>


<%
StreamSource xml = new StreamSource(new File("Fireworks.xml"));

StreamSource xsl = new StreamSource(new File("FireworksHTML.xsl"));

StreamResult result = new StreamResult(out);

TransformerFactory tFactory = TransformerFactory.newInstance(); 

Transformer transformer = tFactory.newTransformer(xsl);

transformer.transform(xml, result);
%>

我其他jsp文件都能正常运行,运行这个文件就有错。请问运行这个文件是否需要下载jaxp1.3软件包,在哪里下载?


--  作者:binaryluo
--  发布时间:3/11/2006 10:57:00 AM

--  
错误信息是什么?
--  作者:dairyf
--  发布时间:3/12/2006 10:57:00 AM

--  
是这样的,我看有的地方说只要我安装了最新版本的JDK,那么jaxp就包含在里边了,就不用特别下载jaxp软件包了,我不知道是不是这样,我的JDK是最新版本的。

最开始运行的错误是找不到xalan.jar,然后我就下了一个xalan.jar文件放到C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib 目录下。

现在的错误是:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
 org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
 org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:795)
 org.apache.jsp.myWML.FireworksHTML_jsp._jspService(FireworksHTML_jsp.java:66)
 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


root cause

javax.xml.transform.TransformerException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
 org.apache.xalan.transformer.TransformerImpl.fatalError(TransformerImpl.java:705)
 org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:681)
 org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
 org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
 org.apache.jsp.myWML.FireworksHTML_jsp._jspService(FireworksHTML_jsp.java:59)
 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


note The full stack trace of the root cause is available in the Tomcat logs.


--  作者:dairyf
--  发布时间:3/12/2006 11:07:00 AM

--  
其他相关的文件如下:

Fireworks.xml

<?xml version="1.0"?>
<xml:stylesheet type="text/xsl" href="FireworksWML.xsl">
<!DOCTYPE fireworks SYSTEM "Fireworks.dtd">
<fireworks>

 <item>
  <name>Roman Candle</name>
  <category>Decorative mortar</category>
  <conditions>ground inserted</conditions>
  <price>3.45</price>
  <size>15</size>
  <stockNo>12345</stockNo>
 </item>
 <item>
  <name>A-Bomb</name>
  <category>Sonic bang</category>
  <conditions>ground inserted</conditions>
  <price>1.10</price>
  <size>5</size>
  <stockNo>12346</stockNo>
 </item>
 <item>
  <name>Star voyager</name>
  <category>Rocket</category>
  <conditions>Launcher</conditions>
  <price>12.99</price>
  <size>125</size>
  <stockNo>12347</stockNo>
 </item>

 <form method="post" action="">
 <input type="text" name="dataIn"/>
 </form>

</fireworks>

---------------------------------------------------------------
FireworksHTML.xsl

<?xml version="1.0"?>
<?xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method = "html" omit-xml-declaration = "no"
doctype-system = "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
doctype-public = "-//W3C//DTD XHTML 1.0 Strict//EN"/>

 <xsl:template match="fireworks">

 <html>
 <body> 
   <h1>The Fireworks Database</h1> 

   <xsl:for-each select="item">

 <p>The name of the firework is <xsl:value-of select="name"/>.</p>
        <p>The category is <xsl:value-of select="category"/>.</p>
 <p>The conditions are <xsl:value-of select="conditions"/>.</p>
 <p>The price is <xsl:value-of select="price"/>.</p>
 <p>The size in cms is <xsl:value-of select="size"/> cms.</p>
 <p>The stock number is <xsl:value-of select="stockNo"/>.</p>

   </xsl:for-each>
  </body>
 </html>

 </xsl:template>

</xsl:stylesheet>

--------------------------------------------------------------------------------
FireworksWML.xsl


<?xml version="1.0"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method = "xml" doctype-public = "-//WAPFORUM//DTD WML 1.3//EN" doctype-system="http://www.wapforum.org/DTD/wml13.dtd" />
 
<xsl:template match="fireworks">

 <wml>
  <card id="Item">

   <xsl:for-each select="item">

  <p>The name is <xsl:value-of select="name"/>.</p>
  <p>The category is <xsl:value-of select="category"/>.</p>
  <p>The conditions are <xsl:value-of select="conditions"/>.</p>
  <p>The price is <xsl:value-of select="price"/>.</p>
  <p>The size in cms is <xsl:value-of select="size"/> cms.</p>
  <p>The stock number is <xsl:value-of select="stockNo"/>.</p>

   </xsl:for-each>

  </card>
 </wml>

</xsl:template>

</xsl:stylesheet>

[此贴子已经被作者于2006-3-13 9:57:36编辑过]

--  作者:binaryluo
--  发布时间:3/13/2006 9:39:00 AM

--  
我帮你看了,不是你的jsp代码有问题,而是第二个xsl文件有问题,它的第二行:
<?xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
多了个“?”,把它修改为:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

jsp就可以运行了,没有错误提示。你试下看。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms