Module java.xml
Package org.xml.sax

Interface Locator

所有已知的子接口:
Locator2
所有已知的实现类:
Locator2Impl, LocatorImpl

public interface Locator
用于将SAX事件与文档位置关联的接口。

如果SAX解析器向SAX应用程序提供位置信息,它会通过实现此接口,然后通过内容处理程序的setDocumentLocator方法将一个实例传递给应用程序。应用程序可以使用该对象获取XML源文档中任何其他SAX事件的位置。

请注意,对象返回的结果仅在每个回调方法的范围内有效: 如果应用程序尝试在任何其他时间或解析完成后使用定位器,应用程序将收到不可预测的结果。

SAX解析器不需要提供定位器,但强烈建议这样做。如果解析器提供了定位器,则必须在报告任何其他文档事件之前这样做。如果在应用程序接收到startDocument事件时尚未设置定位器,则应用程序应假定定位器不可用。

自版本:
1.4, SAX 1.0
另请参阅:
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    返回当前文档事件结束的列号。
    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()
      返回当前文档事件结束的列号。这是自上次换行符以来的Java char值的基于一的数字。

      警告: 该方法的返回值仅用作诊断的近似值; 它不打算提供足够的信息来编辑原始XML文档的字符内容。例如,当行包含组合字符序列、宽字符、代理对或双向文本时,该值可能不对应于文本编辑器显示的列。

      返回值是触发事件的文档实体或外部解析实体中的列号的近似值。

      如果可能,SAX驱动程序应提供与文档事件相关联的文本后第一个字符的列位置。每行中的第一列是第1列。

      返回:
      列号,如果没有可用则为-1。
      另请参阅: