(给30分)这样难的问题,不知哪能位高手能够解决?

wolfhan 2001-08-31 07:54:42
各位高手:
我最近遇到一个很棘手的问题.主要是对XML进行处理的.问题是:

有一个名为 order.xsl 的文件,其内容如下:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xslns:"urn:myobj">
<xsl:param name="date" select="2001"/>
<xsl:template match="/">
<order>
<date><xsl:value-of select="myobj:dateproc($date)"/></date>
<total><xsl:value-of select="sum(//price)"/></total>
</order>
</xsl:template>
</xsl:stylesheet>

与这相应的 xml 文件如下(order.xml):
<?xml version="1.0"?>
<?xml-stylesheet href="order.xsl" type="text/xsl"?>
<!--Represents a customer order-->
<order>
<book ISBN='10-861003-324'>
<title>The Handmaid's Tale</title>
<price>19.95</price>
</book>
<cd ISBN='2-3631-4'>
<title>Americana</title>
<price>16.95</price>
</cd>
</order>



我做了一个处理这个xsl文件的class, 如下:
import java.util.*; // use Calendar, Date class
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import org.w3c.dom.*;

public class AddExtension{

// constructor
public AddExtension()
{
try{
TransformerFactory tf = TransformerFactory.newInstance();
Transformer tr = tf.newTransformer(new StreamSource("order.xsl"));

StreamSource insrc = new StreamSource("order.xml");
StreamResult outsrc = new StreamResult("test.html");

// EXtenProc 为在当前目录下另外的一个class(后面给出了其源程序)
ExtenProc eobj = new ExtenProc();
tr.setParameter("{urn:myobj}date",eobj);
// setParameter 对xsl文件的命名空间是否支持,如果能,格式是怎么样的?
// 所以上面的这一条语句不知对不对
tr.transform(insrc,outsrc);
}
catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args){
AddExtension t = new AddExtension();
}
} // end all


上面用到的另外的一个类的内容如下:
public class ExtenProc
{
// method
public String dateproc(String mydate)
{
mydate += "-08-30";
return mydate;
}
}

注: 我运行AddExtension 时,老是提示说 order.xsl文件中找不到 dateproc这个function,所以特来请教各位高手,
在此先非常地感谢你们了,并向你们鞠躬了!
...全文
24 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧