使用SAX和Java解决XML实体

ZDNet软件频道 时间:2004-05-25 作者:Builder.com |  我要评论()
本文关键词:xml
你一定会发现不同的XML文档及其不同的语法都具有各自的特点。当在你的文档中包含这些不同语法时,你可能需要以一种抽象的方式来描述它们。
本文译自Builder.com,未经许可请勿转载

你一定会发现不同的xml文档及其不同的语法都具有各自的特点。当在你的文档中包含这些不同语法时,你可能需要以一种抽象的方式来描述它们。其中一种方法为使用通用xml实体来表示普通的、可重新使用的xml组件。

xml实体

实体(Entity)是一个相对模糊的术语,它主要用于表面上很含糊的程序中,其用于指代xml文档中的特定类别。

一个实体为xml文档中的一些被命名的数据。有些实体你应该很熟悉,比如&amp(这一实体用于代表一个&记号)。当这一实体使用不正确时会产生各种问题。

剖析实体

分类xml实体的方式有三种,如表A所示。实体使用“实体引用(entity references)”来代表xml文档内容。&记号就是一种最基本的表示,它后面跟随实体名称,接着是一个分号(;)。在以上例子中,我们引用&amp作为一个实体,实体的名称为amp,其代表的数据为一个&字符。

表A:实体种类

被剖析的实体

没有被剖析的实体

内部

外部

常规

参量

xml部析器将实体引用解释为可替代的文本。这一过程的一部分是使用DTD来查找内部被剖析实体的定义。你的实体有可能没有被定义但却在DTD中被引用,在这种情况下,它们是外部实体。当SAX engines剖析文档时,它们需要解析这些外部的实体,你也可以使用EntityResolver接口来截取这一过程。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134