- 所有已知的子接口:
-
Locator2
- 所有已知的实现类:
-
Locator2Impl
,LocatorImpl
如果SAX解析器向SAX应用程序提供位置信息,它会通过实现此接口,然后通过内容处理程序的setDocumentLocator
方法将一个实例传递给应用程序。应用程序可以使用该对象获取XML源文档中任何其他SAX事件的位置。
请注意,对象返回的结果仅在每个回调方法的范围内有效: 如果应用程序尝试在任何其他时间或解析完成后使用定位器,应用程序将收到不可预测的结果。
SAX解析器不需要提供定位器,但强烈建议这样做。如果解析器提供了定位器,则必须在报告任何其他文档事件之前这样做。如果在应用程序接收到startDocument
事件时尚未设置定位器,则应用程序应假定定位器不可用。
- 自版本:
- 1.4, SAX 1.0
- 另请参阅:
-
Method Summary
Modifier and TypeMethodDescriptionint
返回当前文档事件结束的列号。int
返回当前文档事件结束的行号。返回当前文档事件的公共标识符。返回当前文档事件的系统标识符。
-
Method Details
-
getPublicId
String getPublicId()返回当前文档事件的公共标识符。返回值是触发事件的文档实体或外部解析实体的公共标识符。
- 返回:
- 包含公共标识符的字符串,如果没有可用则返回null。
- 另请参阅:
-
getSystemId
String getSystemId()返回当前文档事件的系统标识符。返回值是触发事件的文档实体或外部解析实体的系统标识符。
如果系统标识符是URL,则解析器必须在将其传递给应用程序之前完全解析它。例如,文件名必须始终提供为file:... URL,其他类型的相对URI也根据其基础解析。
- 返回:
- 包含系统标识符的字符串,如果没有可用则返回null。
- 另请参阅:
-
getLineNumber
int getLineNumber()返回当前文档事件结束的行号。行由XML规范中定义的行结束符分隔。警告: 该方法的返回值仅用作诊断的近似值; 它不打算提供足够的信息来编辑原始XML文档的字符内容。在某些情况下,这些“行”号与文本编辑器显示的列匹配,而在其他情况下,由于内部实体扩展,它们可能与源文本不匹配。
返回值是触发事件的文档实体或外部解析实体中的行号的近似值。
如果可能,SAX驱动程序应提供与文档事件相关联的文本后第一个字符的行位置。第一行是第1行。
- 返回:
- 行号,如果没有可用则为-1。
- 另请参阅:
-
getColumnNumber
int getColumnNumber()返回当前文档事件结束的列号。这是自上次换行符以来的Javachar
值的基于一的数字。警告: 该方法的返回值仅用作诊断的近似值; 它不打算提供足够的信息来编辑原始XML文档的字符内容。例如,当行包含组合字符序列、宽字符、代理对或双向文本时,该值可能不对应于文本编辑器显示的列。
返回值是触发事件的文档实体或外部解析实体中的列号的近似值。
如果可能,SAX驱动程序应提供与文档事件相关联的文本后第一个字符的列位置。每行中的第一列是第1列。
- 返回:
- 列号,如果没有可用则为-1。
- 另请参阅:
-