设置MyEclipse中XML Editor的DTD分析方式

大家用Eclipse插件如XMLBuddy,myeclipse的xml editor写xml文件时在没有联网的情况下有没有碰到这种情况,DTD文件分析失败?
如果DTD文件不能正常解析,那Content Assist功能就无效了. 没有Content Assist功能写XML文件非常不爽,还要去记那些语法,有可能输入时还会不小心输错.

r_dtd_in_eclipse.JPG

在网上看到过相关文章说修改http://www.springframework.org/dtd/spring-beans.dtd为本地路径file:///可以解决这种问题,在这里还给出另一种解决方法,首先来看看DTD文件解析的方式:

    D O C T Y P E声明不仅包含常规的关键字和根元素名称,而且包含指示外部D T D源的关键字和D T D的位置。X M L规范定义了几种声明源的方法。声明中可以使用关键字SYSTEM 或 PUBLIC。如果使用 SYSTEM 关键字,解析器将仅根据给出的U R L寻找DTD,DTD通过U R L显式地直接定位。
    然而,如果D T D源关键字为 PUBLIC,情况就略微复杂一些。P U B L I C关键字用于声明众所周知的词汇表。例如,假设出版界已经对图书种类D T D达成了大量共识。需要根据该词汇表解析文档的应用程序可能会通过某种策略来定位D T D。如果这个D T D非常普及,应用程序或许有本地拷贝。直接使用本地拷贝可能比从We b服务器上远程下载更可取。D T D可能存放在数据库中,或者可以通过其他与应用程序相关的技术获得。如果使用P U B L I C关键字和U R I,应用程序就有机会利用自己的算法定位D T D。统一资源标识符(URI)可以是URL,也可以是一个单独的名字。

我们可以在eclipse中用已声明的"-//SPRING//DTD BEAN//EN",建立一个本地DTD连接.下面以myeclipse为例:

选择Windows -> Preferences -> MyEclipse -> Editors -> XML -> XML Catalog, 点New新建一个XML Catalog Entries,如下图:(在URI栏点browser将.dtd文件导入进来)

o_dtd_in_eclipse2.JPG
OK,搞定..来试试Content Assist功能,在XML文件中按Ctrl+Space就可以弹出提示框了(Ctrl+Space是windows输入法的快捷键,须先改为其它键).如图:
o_dtd_in_eclipse3.JPG

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值