XML文件DTD路径解析问题(in Eclipse)

原文出自:http://51dev.com/program/java/1/20070818/10971.html
1、xml文件声明 dtd文件路径如下:
字串7


"http://java.sun.com/dtd/ejb-jar_2_0.dtd">

。。。。。。

  2、dtd声明解析原则:

字串4

  DOCTYPE声明不仅包含常规关键字和根元素名称,而且包含指示外部DTD源关键字和DTD位置。XML规范定义了几种声明源方法。声明中可以使用关键字SYSTEM或PUBLIC。如果使用SYSTEM关键字,解析器将仅根据给出URL寻找DTD?DTD通过URL显式地直接定位。

字串6

  然而,如果DTD源关键字为PUBLIC,情况就略微复杂一些。PUBLIC关键字用于声明众所周知词汇表。例如,假设出版界已经对图书种类DTD达成了大量共识。需要根据该词汇表解析文档应用程序可能会通过某种策略来定位DTD。如果这个DTD非常普及,应用程序或许有本地拷贝。直接使用本地拷贝可能比从Web服务器上远程下载更可取。DTD可能存放在数据库中,或者可以通过其他与应用程序相关技术获得。如果使用PUBLIC关键字和URI,应用程序就有机会利用自己算法定位DTD。统一资源标识符(URI)可以是URL,也可以是一个单独名字。

字串1

  例如:

字串1


             “http://www.myweb.com/dtd/books.dtd”>

  如果URI“universal/Publishing/Book”对于处理这类文档应用程序来说是已知,应用程序可以通过某种有效方式自行寻找DTD。或许我们恰有适合该领域解析器。它可能有DTD本地拷贝,或者它可以访问由本地数据库服务器维护DTD。最关键是,寻找DTD方法主要是由负责处理DOCTYPE声明应用程序确定字串9

  当然,“众所周知”通常是相对。因此,XML1.0允许PUBLIC声明同时有公共URI和系统标识符。如果使用文档应用程序或解析器不能从PUBLIC关键字提供URI定位DTD,它必须使用系统标识符。 字串4

  在本例中,文档设计者允许作为接收方应用程序根据公共URI自行寻找DTD。如果该过程失败,对我们出版领域不熟悉通用解析器一般属于这种情况,应用程序可以从地址为http://www.myweb.com/Web服务器请求指定文件,即获取网络上dtd文件:http://www.myweb.com/dtd/books.dtd。

字串9

字串7

  3、Eclispe中配置dtd路径: 字串5

  如果初始状态下没有配置ejb-jar.xml文件dtd路径,而eclipse又不能去sun公司validate情况下,eclipse报错。 字串6

  可以根据ejb-jar.xml文件声明PUBLICDOCTYPE,指示eclipse到一个本地dtd文件去验证。

字串2

  已声明"-//SunMicrosystems,Inc.//DTDEnterpriseJavaBeans2.0//EN"为本地dtd文件一个别名。

字串9

  可以利用Eclipse【XMLCatalog】来配置: 字串1

   字串5

  添加一个【UserSpecifiedEntries】,用户自定义本地dtd验证入口:

字串8

  【Add…】 à 字串9

  

字串4

  保存,然后在ejb-jar.xml文件上右键->[ValidateXmlfile],Eclipse提示验证通过,不再提示错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值