本站首页    管理页面    写新日志    退出

The Neurotic Fishbowl

[/*Java*/]xalan处理xslt遇到的uri异常
nybon 发表于 2005/3/19 23:13:19

昨天在用xalan处理xslt样式表时遇到了以下异常:com.sun.org.apache.xml.internal.utils.URI$MalformedURIException: URI 中未找到模式.因为处理的这个样式表原来在Stylus Studio里面使用过,显示是正常的,这里应该也不会有什么问题,但是在重构代码的时候将xsl文件的读取由硬编码文件路径改成为用ClassLoader的getResource方法来进行读取了.     开始的时候丝毫没有意识到是这里出了问题,还以为是xsl文件中引用的uri出了问题(因为上面那个异常导致了xalan编译xsl样式表的时候无法找到import的locale.xsl文件,于是编译器又报了locale.xsl中定义的变量找不到的错误,就是这个错误误导了我好长时间而没有发现错误的源头),修改了好半天的xsl文件都没发现有问题,而且用xalan.jar直接进行xslt转换可以通过,弄了一个晚上也没搞懂到底是怎么回事,彻底没想法掉了那个时候.     今天放松了一天,回来继续看的时候去看了一下uri解析的源码,本来想看看这个uri到底是怎么解析而后出错的,好不容易找到这段报错在源码中的位置,但是看不懂这里到底怎么解析的,和其他部分源码的关联太高了,不过看的时候看到了解析的时候有关于slash符号"/"的解析,有种顿悟的感觉,因为前面ClassLoader的getResource方法给出的绝对路径是以"/"开始的(像/G:/src/xsl/folder.xsl这种形式),开始看着就觉得很奇怪,但是直接使用这个路径确实找的到样式表所以也就没去多想,但是实际情况是xalan如果用这种路径访问样式表对于样式表中import的样式表就找不到(异常显示说没有这种模式)!     不知道这算不算是xalan的一个bug呢?或者是jdk的一个bug,ClassLoader的getResource方法给出的路径为什么前面加上一个"/"要?呼,即使不是一个bug的话,也是在这两个api同时使用时会出现的一个问题,解决方法很简单,把getResource得到的路径前面的"/"去掉就可以了,xalan一下就通过了这一样式表的编译,其他地方对这一路径的使用也没问题.

阅读全文(2224) | 回复(0) | 编辑 | 精华

 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)

 
 



The Neurotic Fishbowl

.: 公告

This blog focuses on:

Semantic Web && Java Technology


Bloginess

«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31

.: 我的分类(专题)

首页(171)
/*SemanticWeb*/(34)
/*Java*/(74)
/*FreeComments*/(59)
/*Agent*/(4)


In the Bowl

.: 最新日志

The End
使用Google Trends进行选型
怎样才能称为一次新的版本发行?
如何防止RSS信息过载
使用Excel作为用户接口
如何有效地报告Bug
sourceforge再次被封
趣文两篇
编写Firefox扩展
Jetspeed心得随笔


.: 最新回复

回复:Google API与yahoo 
回复:JADE 3.3的bug
回复:JADE 3.3的bug
回复:JADE 3.3的bug
回复:JADE 3.3的bug
回复:Jbpm和Shark比较的feat
回复:JADE 3.3的bug
回复:JADE 3.3的bug
回复:[转]批判性地看待一种可行的表示技
回复:JIRA破解


The Fishkeeper
blog名称:SW Portal
日志总数:171
评论数量:219
留言数量:8
访问次数:1044935
建立时间:2004年10月30日



Text Me

.: 留言板

签写新留言

路过
路过
页脚问题
RE:请问一下你的主页的下面部分是怎么关
请问一下你的主页的下面部分是怎么关闭的?
我是做Mobile Agent的
Gmail
不错
不错啊小倪同学


Other Fish in the Sea

.: 链接





站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.184 second(s), page refreshed 144786610 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号