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>Surrogate Pair</em> で表されます。 このような文字は、いわゆる "Astral Planes" 内に存在し、U+FFFF の上にコード ポイントがあります。 2 番目のケースには、1 つ以上のアクセント文字と組み合わせた基本文字などの複合文字が含まれます。

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

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

Javaドキュメント。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。

適用対象

こちらもご覧ください

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