模块  java.xml
软件包  org.xml.sax

Interface Locator

  • All Known Subinterfaces:
    Locator2
    所有已知实现类:
    Locator2ImplLocatorImpl

    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)
    • 方法详细信息

      • 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的Java char值。

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

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

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

        结果
        列号,如果没有,则为-1。
        另请参见:
        getLineNumber()