ValidatorHandler.Characters(Char[], Int32, Int32) メソッド

定義

文字データの通知を受け取ります。

[Android.Runtime.Register("characters", "([CII)V", "GetCharacters_arrayCIIHandler")]
public abstract void Characters (char[]? ch, int start, int length);
[<Android.Runtime.Register("characters", "([CII)V", "GetCharacters_arrayCIIHandler")>]
abstract member Characters : char[] * int * int -> unit

パラメーター

ch
Char[]

XML ドキュメントの文字

start
Int32

配列内の開始位置

length
Int32

配列から読み取る文字数

実装

属性

注釈

文字データの通知を受け取ります。

パーサーはこのメソッドを呼び出して、文字データの各チャンクを報告します。 SAX パーサーは、連続するすべての文字データを 1 つのチャンクで返したり、複数のチャンクに分割したりできます。ただし、ロケーターが有用な情報を提供するためには、1 つのイベント内のすべての文字が同じ外部エンティティから取得される必要があります。

アプリケーションは、指定された範囲外の配列から読み取りを試みてはなりません。

個々の文字は、複数の Java char 値で構成される場合があります。 文字を 16 ビットで表現できないため、これが発生する重要なケースは 2 つあります。 1 つのケースでは、2 つの特殊な Unicode 値を <使用して、文字が em>サロゲート ペア</em> で表されます。 このような文字は、いわゆる "Astral 平面" 内に存在し、U+FFFF の上にコード ポイントがあります。 2 番目のケースには、1 つ以上のアクセント文字と組み合わせた基本文字などの複合文字が含まれます。

コードでは、-at-a-time イディオムを使用 charするアルゴリズムが文字単位で動作することを想定しないでください。場合によっては、文字が分割されます。 これは、属性値、処理命令データ、コメントなどの任意の文字や、このメソッドから報告されたデータなど、XML が許可する任意の文字を許可する場所に関係します。 また、一般に、Java コードが国際化されたテキストを操作するたびにも関連します。この問題は XML に固有ではありません。

一部のパーサーでは、このメソッドではなく、 メソッドを#ignorableWhitespace ignorableWhitespace使用して要素コンテンツ内の空白が報告されることに注意してください (パーサー em <>の検証では、そうする必要があります<>)。

の Java ドキュメント org.xml.sax.ContentHandler.characters(char[], int, int)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象