catalog java_Java XML 应用程序使用本地 Catalog

XML 声明的DTD、Schema如果位于网络,解析时,解析器可能无法获取,导致解析失败

解决办法是使用XML Catalog,解析器向它请求资源,而XML Catalog返回的资源是否位于网络或本地对解析器是透明的

1,Sax 解析

Sax解析时使用 XML Catalog的API是:

- org.xml.sax.XMLReader.setEntityResolver()

- org.xml.sax.EntityResolver

- org.xml.sax.ext.EntityResolver2

EntityResolver 用于 Sax 1.0 解析器,EntityResolver2 扩展 EntityResolver,用于 Sax 2 解析器。如果解析器是Sax 2解析器且指定 EntityResolver2 对象,将会使用EntityResolver2 接口方法,否则使用 EntityResolver 接口方法

2,DOM 解析

主要API:

- javax.xml.parsers.DocumentBuilder.setEntityResolver()

- javax.xml.parsers.DocumentBuilderFactory.setSchema()

- javax.xml.validation.Schema

- javax.xml.validation.SchemaFactory.setResourceResolver()

- org.w3c.xml.ls.LSResourceResolver

不多说

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值