-
- All Known Subinterfaces:
-
Locator2
- 所有已知实现类:
-
Locator2Impl
,LocatorImpl
public interface Locator
用于将SAX事件与文档位置相关联的接口。This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.
如果SAX解析器向SAX应用程序提供位置信息,则它通过实现此接口然后使用内容处理程序的
setDocumentLocator
方法将实例传递给应用程序来实现。 应用程序可以使用该对象获取XML源文档中任何其他SAX事件的位置。请注意,对象返回的结果仅在每个回调方法的范围内有效:如果应用程序在任何其他时间尝试使用定位器,或者在解析完成后,应用程序将收到不可预测的结果。
SAX解析器不需要提供定位器,但强烈建议他们这样做。 如果解析器提供定位器,则必须在报告任何其他文档事件之前执行此操作。 如果在应用程序收到
startDocument
事件时未设置定位器,则应用程序应假定定位器不可用。- 从以下版本开始:
- 1.4,SAX 1.0
- 另请参见:
-
ContentHandler.setDocumentLocator(org.xml.sax.Locator)
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 int
getColumnNumber()
返回当前文档事件结束的列号。int
getLineNumber()
返回当前文档事件结束的行号。String
getPublicId()
返回当前文档事件的公共标识符。String
getSystemId()
返回当前文档事件的系统标识符。
-
-
-
方法详细信息
-
getPublicId
String getPublicId()
返回当前文档事件的公共标识符。返回值是文档实体或外部解析实体的公共标识符,其中触发事件的标记出现在该公共标识符中。
- 结果
- 包含公共标识符的字符串,如果没有,则返回null。
- 另请参见:
-
getSystemId()
-
getSystemId
String getSystemId()
返回当前文档事件的系统标识符。返回值是文档实体或外部解析实体的系统标识符,其中触发事件的标记出现在该系统标识符中。
如果系统标识符是URL,则解析器必须先将其完全解析,然后再将其传递给应用程序。 例如,文件名必须始终作为file:... URL提供,其他类型的相对URI也会根据其基础进行解析。
- 结果
- 包含系统标识符的字符串,如果没有,则为null。
- 另请参见:
-
getPublicId()
-
getLineNumber
int getLineNumber()
返回当前文档事件结束的行号。 行由行结尾分隔,行结束在XML规范中定义。警告:该方法的返回值仅作为诊断的近似值; 它无意提供足够的信息来编辑原始XML文档的字符内容。 在某些情况下,这些“行”数字与列显示的内容相匹配,而在其他情况下,由于内部实体扩展,它们可能与源文本不匹配。
返回值是文档实体或外部解析实体中的行号的近似值,其中触发事件的标记出现。
如果可能,SAX驱动程序应在与文档事件关联的文本之后提供第一个字符的行位置。 第一行是第1行。
- 结果
- 行号,如果没有,则为-1。
- 另请参见:
-
getColumnNumber()
-
getColumnNumber
int getColumnNumber()
返回当前文档事件结束的列号。 这是自上一行结束以来基于1的Javachar
值。警告:该方法的返回值仅作为诊断的近似值; 它无意提供足够的信息来编辑原始XML文档的字符内容。 例如,当行包含组合字符序列,宽字符,代理项对或双向文本时,该值可能与文本编辑器显示中的列不对应。
返回值是文档实体或外部解析实体中列号的近似值,其中显示触发事件的标记。
如果可能,SAX驱动程序应在与文档事件关联的文本之后提供第一个字符的行位置。 每行中的第一列是第1列。
- 结果
- 列号,如果没有,则为-1。
- 另请参见:
-
getLineNumber()
-
-