`
pwosboy
  • 浏览: 84187 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

DTDHandler And EntityResolver

XML 
阅读更多

The DTDHandler API

In Choosing Your Parser Implementation you saw a method for referencing a file that contains binary data, such as an image file, using MIME data types. That is the simplest, most extensible mechanism. For compatibility with older SGML-style data, though, it is also possible to define an unparsed entity.

The NDATA keyword defines an unparsed entity:

  NDATA gif> 

The NDATA keyword says that the data in this entity is not parsable XML data but instead is data that uses some other notation. In this case, the notation is named gif. The DTD must then include a declaration for that notation, which would look something like this:

  NOTATION gif SYSTEM "..URL.."> 
notationDecl(String name, String publicId, String systemId)  
unparsedEntityDecl(String name, String publicId, 
  String systemId, String notationName)  
其实我没有完全弄明白这段是怎么回事。首先NDATA gif>和NOTATION gif SYSTEM "..URL.."> 
要干什么就没有搞清楚。先记下了。

The EntityResolver API

The EntityResolver API lets you convert a public ID (URN) into a system ID (URL). Your application may need to do that, for example, to convert something like href="urn:/someName" into "http://someURL". The EntityResolver interface defines a single method: resolveEntity(String publicId, String systemId)
 
看了一点文档,感觉这个接口主要是用来处理这样的标签的,可以是dtd文件中也可以是xml文件中,"xx"是表示一个
外部的内容。
分享到:
评论

相关推荐

    android 使用Sax解析XML 源码实例

    下面是一个SAX解析XML的示例(有点长,因为详细注解了SAX事件处理的所有方法),SAX API中主要有四种处理事件的接口,它们分别是ContentHandler,DTDHandler, EntityResolver 和 ErrorHandler 。下面的例子可能...

    SAX处理xml

    10. **DefaultHandler**:这个类实现了ContentHandler、DTDHandler、EntityResolver和ErrorHandler接口的默认行为,方便开发者快速构建解析逻辑。 使用SAX处理XML文档时,首先需要配置XMLReader,设置处理器,然后...

    基于SAX实现对XML的解析

    public interface XMLHandler extends ContentHandler, DTDHandler, EntityResolver,ErrorHandler { // 实现具体的事件处理方法 } ``` 3. **实现类**:创建一个`SAXXMLParser`类实现`XMLParser`接口,并使用`...

    python3.6.5参考手册 chm

    PEP 471 - os.scandir() function – a better and faster directory iterator PEP 475: Retry system calls failing with EINTR PEP 479: Change StopIteration handling inside generators PEP 485: A function...

    SAX2 API (英文html)

    此外,还可以通过实现`EntityResolver`来处理外部实体,`DTDHandler`来处理DTD事件,以及`ErrorHandler`来处理解析错误。 以下是SAX2中的关键概念: 1. **XMLReader**: 这是SAX解析器的主要接口,负责读取XML源并...

    java 解析xml

    下面展示的是一个基于 SAX 的 XML 解析示例,其中包括了 `ContentHandler`、`DTDHandler`、`EntityResolver` 和 `ErrorHandler` 这四个主要事件处理接口。 1. **ContentHandler 接口**:用于接收文档逻辑内容的通知...

    使用JAXP处理XML文件.pdf

    - **DefaultHandler**:作为`ContentHandler`, `ErrorHandler`, `DTDHandler`, 和`EntityResolver`接口的默认实现,提供了基础的行为,开发者可以根据需求覆盖其中的方法以实现自定义逻辑。 - **ContentHandler**:...

    Android提高第七篇之XML解析与生成.doc

    在这个例子中,`SAXHandler`是自定义的`ContentHandler`,它继承了`DefaultHandler`,`DefaultHandler`已经实现了`ContentHandler`、`DTDHandler`、`EntityResolver`和`ErrorHandler`接口,提供了基本的XML处理功能...

    nekohtml+xpath实例,及注意事项

    - **解析 HTML**:NekoHTML 可以处理不规范的 HTML,通过创建一个解析器(如 `DTDHandler` 和 `EntityResolver`),它可以将不规则的输入转换为符合 XML 规范的文档对象模型(DOM)。 - **构建 DOM 树**:解析后,...

    经整理过可直接运行的SAX源代码

    - `DTDHandler`:处理文档类型定义(DTD)相关的事件,如元素声明、属性声明等。 - `EntityResolver`:负责解析外部实体,可以重定向或替换外部资源。 - `ErrorHandler`:处理解析过程中的错误,如语法错误、网络...

    Xerces-J-bin.2.2.0.zip

    在Xerces-J中,SAX解析器通过实现SAX2接口来工作,主要包括ContentHandler、EntityResolver、DTDHandler和ErrorHandler。开发者可以自定义这些接口的实现,以便在解析过程中进行特定的数据处理和错误处理。例如,...

    DOM4J-1.6.1

    DOM4J允许注册事件处理器,如EntityResolver、DTDHandler、ContentHandler等,这些处理器在解析过程中被调用,可以用来处理特定的XML解析事件。 **集合框架集成** DOM4J的API设计充分考虑了Java集合框架的集成,...

    Xerces-J-tools.1.2.1.zip

    2. 设置事件处理器:包括ContentHandler、EntityResolver、DTDHandler和ErrorHandler,它们分别处理XML文档内容、实体引用、DTD和错误信息。 3. 配置XMLReader:可以设置各种解析器属性,如是否忽略未知命名空间、...

    基于Android的XML解析器的分析与比较

    开发者可以通过实现特定的接口(如`ContentHandler`、`DTDHandler`、`EntityResolver`和`ErrorHandler`)来定义自己的事件处理器,处理不同类型的事件。 - **接口及类方法**:在`org.xml.sax`包中,`XMLReader`负责...

    Xerces-J-src.1.2.3.zip

    通过实现ContentHandler、EntityResolver、DTDHandler和ErrorHandler接口,开发者可以自定义处理XML文档的方式。 2. **DOM解析器**:遵循DOM Level 2规范,将XML文档加载到内存中的树形结构,方便进行查询和修改。...

    Sax解析xml_动力节点Java学院整理

    3. **EntityResolver**:当解析器遇到外部实体引用时,如DTD或包含外部数据的XML实体,该接口允许程序自定义如何解析这些实体,可以用于处理网络延迟或安全问题。 4. **ErrorHandler**:处理解析过程中的错误和警告...

    Xerces-J-src.1.3.1.zip

    Xerces-J中的SAX解析器实现了SAX2规范,提供了一组接口,如ContentHandler、EntityResolver、DTDHandler等,使得开发者可以自定义XML数据的处理逻辑。 在使用Xerces-J进行SAX解析时,首先需要创建一个XMLReader对象...

    SAX是一个用于处理XML事件驱动的“推”模型,虽然它不是W3C标准,但它却是一个得到了广泛认可的API。SAX解析器不像DOM那样建立一个完整的文档树,而是在读取文档时激活一系列事件,这些事件被推给事件处理器,然后由事件处理器提供对文档内容的访问。

    用于访问XML DTD内容的DTDHandler;  ● 用于低级访问解析错误的ErrorHandler;  ● 用于访问文档内容的ContentHandler,这也是最普遍使用的事件处理器。

    Web-Service填空题简答题扫描版.docx编程资料

    **回调方法**:这些回调方法定义在`ContentHandler`、`ErrorHandler`、`DTDHandler`和`EntityResolver`接口中,用于处理解析过程中遇到的不同事件。 3. **JAXB API的工作原理** - **步骤解析**: 1. **生成类**...

Global site tag (gtag.js) - Google Analytics