モジュール java.xml
パッケージ org.xml.sax

インタフェースLocator

  • 既知のすべてのサブインタフェース:
    Locator2
    既知のすべての実装クラス:
    Locator2Impl, LocatorImpl

    public interface Locator
    SAXイベントと文書の位置を関連付けるためのインタフェースです。
    このモジュールは、ソース・コード、文書ともに公開ドメインに置かれています。したがって、内容に関する保証は一切提供されません 詳細については、http://www.saxproject.orgを参照してください。

    SAXパーサーは、このインタフェースを実装し、コンテンツ・ハンドラのsetDocumentLocatorメソッドを使ってインスタンスを渡すことにより、SAXアプリケーションに位置情報を提供します。 SAXアプリケーションは、このオブジェクトを使って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()
        現在の文書イベントが終了する列番号を返します。 これは、最後の行が終了したあとのJava char値の1から始まる番号です。

        警告: メソッドからの戻り値は、診断用の近似値としてのみを対象とされます。元のXML文書の文字コンテンツを編集するための詳細情報を提供することは、目的としていません。 たとえば、行に結合文字シーケンス、ワイド文字配列、サロゲート・ペアまたは双方向テキストが含まれる場合、この値はテキスト・エディタの画面の列に対応しないことがあります。

        戻り値は、文書エンティティの列番号の近似値か、イベントをトリガーするマークアップを含む外部の構文解析対象エンティティの列番号の近似値です。

        SAXドライバは、文書イベントに関連付けられたテキストの直後にある、最初の文字を含む行の位置を返そうとします。 なお、各行の最初の列が1列目になります。

        戻り値:
        列番号。使用できない場合は -1。
        関連項目:
        getLineNumber()