java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

org.xml.sax.ext
接口 LexicalHandler

所有已知子接口:
TransformerHandler
所有已知实现类:
DefaultHandler2

public interface LexicalHandler

用于词法事件的 SAX2 扩展处理程序。

此模块(包括源代码和文档)在公共域中,同时 没有担保有关更多信息,请参阅http://www.saxproject.org

这是 SAX2 的可选扩展处理程序,以提供关于 XML 文档的词汇信息,例如,注释和 CDATA 节边界。不需要 XML 阅读器识别此处理程序,它不是仅核心 SAX2 分发的一部分。

词汇处理程序中的事件应用于整个文档,不是仅应用于文档元素,并且所有词汇处理程序事件必须在内容处理程序的 startDocument 和 endDocument 事件之间出现。

要为 XML 阅读器设置 LexicalHandler,使用带有属性名称 http://xml.org/sax/properties/lexical-handlersetProperty 方法以及将此接口(或 null)实现为该值的对象。如果阅读器不报告词汇事件,则尝试注册处理程序时,它将抛出 SAXNotRecognizedException

从以下版本开始:
SAX 2.0 (extensions 1.0)

方法摘要
 void comment(char[] ch, int start, int length)
          报告文档的任何位置的 XML 注释。
 void endCDATA()
          报告 CDATA 节的结束。
 void endDTD()
          报告 DTD 声明的结束。
 void endEntity(String name)
          报告实体的结束。
 void startCDATA()
          报告 CDATA 节的开始。
 void startDTD(String name, String publicId, String systemId)
          报告 DTD 声明的开始(如果存在)。
 void startEntity(String name)
          报告一些内部和外部 XML 实体的开始。
 

方法详细信息

startDTD

void startDTD(String name,
              String publicId,
              String systemId)
              throws SAXException
报告 DTD 声明的开始(如果存在)。

此方法主要用于报告 DOCTYPE 声明的开始;如果文档没有任何 DOCTYPE 声明,则不调用此方法。

通过 DTDHandlerDeclHandler 事件报告的所有声明必须在 startDTD 和 endDTD 事件之间出现。可以假设声明属于内部 DTD 子集,除非它们在 startEntityendEntity 事件之间出现。也应该在 startDTD 和 endDTD 事件之间,以事件出现的原始顺序(逻辑)报告 DTD 的注释和处理指令;但是,它们不需要出现在相对于 DTDHandler 或 DeclHandler 事件的正确位置。

注意,start/endDTD 事件将出现在 ContentHandler 的 start/endDocument 事件中,并在第一个 startElement 事件之前。

参数:
name - 文档类型名称。
publicId - 用于外部 DTD 子集的已声明的公共标识符,如果没有声明,则为 null。
systemId - 用于外部 DTD 子集的已声明的系统公共标识符,如果没有声明,则为 null。(注意,这不能根据文档基 URI 解析)
抛出:
SAXException - 应用程序可能引发一个异常。
另请参见:
endDTD(), startEntity(java.lang.String)

endDTD

void endDTD()
            throws SAXException
报告 DTD 声明的结束。

此方法主要用于报告 DOCTYPE 声明的结束;如果文档没有任何 DOCTYPE 声明,则不调用此方法。

抛出:
SAXException - 应用程序可能引发一个异常。
另请参见:
startDTD(java.lang.String, java.lang.String, java.lang.String)

startEntity

void startEntity(String name)
                 throws SAXException
报告一些内部和外部 XML 实体的开始。

参数实体(包括外部 DTD 子集)的报告是可选的,报告 LexicalHandler 事件的 SAX2 驱动程序不能实现它;可以使用 http://xml.org/sax/features/lexical-handler/parameter-entities 功能查询或控制参数实体的报告。

使用其正规名称报告常规实体,参数实体具有置于其名称前的 "%",并且外部 DTD 子集具有伪实体名 "[dtd]"。

在 SAX2 驱动程序提供这些事件时,所有其他事件必须在开始/结束实体事件中正确嵌套。不存在对来自 DeclHandlerDTDHandler 的事件进行正确排序的 附加要求。

注意,跳过的实体将通过 skippedEntity 事件(是 ContentHandler 接口的一部分)报告。

由于 SAX 使用的流事件模型,不能在任何环境下报告某些实体边界:

  • 属性值中的常规实体
  • 声明中的参数实体

将默认扩展上述实体,而不指示原始实体边界的位置。

还要注意,不报告字符引用(实际上它不是实体)的边界。

必须正确嵌套所有 start/endEntity 事件。

参数:
name - 实体的名称。如果是参数实体,则名称将以 "%" 开头,如果是外部 DTD 子集,则将是 "[dtd]"。
抛出:
SAXException - 应用程序可能引发一个异常。
另请参见:
endEntity(java.lang.String), DeclHandler.internalEntityDecl(java.lang.String, java.lang.String), DeclHandler.externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)

endEntity

void endEntity(String name)
               throws SAXException
报告实体的结束。

参数:
name - 正在结束的实体名称。
抛出:
SAXException - 应用程序可能引发一个异常。
另请参见:
startEntity(java.lang.String)

startCDATA

void startCDATA()
                throws SAXException
报告 CDATA 节的开始。

通过常规 characters 事件报告 CDATA 节的内容;此事件仅用于报告边界。

抛出:
SAXException - 应用程序可能引发一个异常。
另请参见:
endCDATA()

endCDATA

void endCDATA()
              throws SAXException
报告 CDATA 节的结束。

抛出:
SAXException - 应用程序可能引发一个异常。
另请参见:
startCDATA()

comment

void comment(char[] ch,
             int start,
             int length)
             throws SAXException
报告文档的任何位置的 XML 注释。

此回调将用于文档元素内外的注释,包括外部 DTD 子集中的注释(如果读取)。必须在 start/endDTD 和 start/endEntity 事件内部正确嵌套 DTD 中的注释(如果已使用)。

参数:
ch - 保存注释中的字符的数组。
start - 数组中的开始位置。
length - 使用的数组中的字符数。
抛出:
SAXException - 应用程序可能引发一个异常。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策