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

定義

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

[Android.Runtime.Register("characters", "([CII)V", "GetCharacters_arrayCIIHandler:Org.Xml.Sax.IContentHandlerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public void Characters (char[]? ch, int start, int length);
[<Android.Runtime.Register("characters", "([CII)V", "GetCharacters_arrayCIIHandler:Org.Xml.Sax.IContentHandlerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Characters : char[] * int * int -> unit

パラメーター

ch
Char[]

XML ドキュメントの文字

start
Int32

配列内の開始位置

length
Int32

配列から読み取る文字数

属性

例外

SAX 例外 (別の例外をラップする可能性がある)

注釈

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

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

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

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

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

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

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

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

適用対象

こちらもご覧ください

  • <xref:Org.Xml.Sax.IContentHandler.IgnorableWhitespace(System.Char%5b%5d%2c+System.Int32%2c+System.Int32)>
  • ILocator