模块 java.xml

接口 Locator

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

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

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

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

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

自从:
1.4, SAX 1.0
参见:
  • 方法总结

    修饰符和类型
    方法
    描述
    int
    返回当前文档事件结束的列号。
    int
    返回当前文档事件结束的行号。
    返回当前文档事件的公共标识符。
    返回当前文档事件的系统标识符。
  • 方法详情

    • getPublicId

      String  getPublicId()
      返回当前文档事件的公共标识符。

      返回值是文档实体或触发事件的标记出现在其中的外部解析实体的公共标识符。

      返回:
      包含公共标识符的字符串,如果没有可用标识符,则为 null。
      参见:
    • getSystemId

      String  getSystemId()
      返回当前文档事件的系统标识符。

      返回值是文档实体的系统标识符或触发事件的标记出现在其中的外部解析实体的系统标识符。

      如果系统标识符是一个 URL,解析器必须在将它传递给应用程序之前完全解析它。例如,文件名必须始终作为 file:... URL 提供,其他类型的相对 URI 也根据其基础进行解析。

      返回:
      包含系统标识符的字符串,如果没有可用的,则为 null。
      参见:
    • getLineNumber

      int getLineNumber()
      返回当前文档事件结束的行号。行由行尾分隔,这是在 XML 规范中定义的。

      Warning: 该方法的返回值仅用作诊断的近似值;它无意提供足够的信息来编辑原始 XML 文档的字符内容。在某些情况下,这些“行”号与将显示为列的内容匹配,而在其他情况下,由于内部实体扩展,它们可能与源文本不匹配。

      返回值是文档实体或外部解析实体中触发事件的标记出现的行号的近似值。

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

      返回:
      行号,如果没有行号则为 -1。
      参见:
    • getColumnNumber

      int getColumnNumber()
      返回当前文档事件结束的列号。这是自最后一行结束以来以一为基础的 Java char 值数。

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

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

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

      返回:
      列号,如果没有,则为 -1。
      参见: