NamespaceSupport (クラス)
public final NamespaceSupport
パッケージ: CURL.XML.SAX.HELPERS

SAX ドライバで使用できるように名前空間ロジックをカプセル化します。

説明

このクラスは、名前空間処理のロジックをカプセル化します。各コンテキストで現在有効な宣言を追跡し、XML 1.0 修飾名から名前空間部分への処理を自動的に行ないます。また、逆に名前空間から XML 1.0 を生成するのにも使用されます。

名前空間サポート オブジェクトは再使用可能ですが、reset メソッドを各セッション間で呼び出す必要があります。

注意事項

このクラスは、要素のほとんどに名前空間宣言が含まれていない場合に使用できるように最適化されています。同一のプレフィックス / URI のマッピングが各コンテキストについて繰り返される場合などは、このクラスの効率性がある程度減少します。

コンストラクタ
default:新規の名前空間サポート オブジェクトを作成します。
コンストラクタ public {NamespaceSupport.default}

クラス変数と定数
EMPTY_ENUMERATION:
public constant NamespaceSupport.EMPTY_ENUMERATION:{Array-of String} ={new {Array-of String}, efficient-size = 0}
XMLNS:定数としての XML 名前空間。
public constant NamespaceSupport.XMLNS:String ="http://www.w3.org/XML/1998/namespace"

メソッド
declare-prefix?:名前空間のプレフィックスを宣言します。
public final {NamespaceSupport.declare-prefix?
prefix:String,
uri:String
}:bool
get-declared-prefixes:このコンテキストで宣言されたすべてのプレフィックスの列挙を返します。
public final inline {NamespaceSupport.get-declared-prefixes
}:{Array-of String}
get-prefix:名前空間 URI にマップされているプレフィックスの 1 つを返します。
public final inline {NamespaceSupport.get-prefix uri:String}:#String
get-prefixes:現在宣言されているすべてのプレフィックスの列挙を返します。
public final inline {NamespaceSupport.get-prefixes}:{Array-of String}
get-prefixes-for-uri:現在 URI に宣言されているすべてのプレフィックスの列挙を返します。
public final {NamespaceSupport.get-prefixes-for-uri
uri:String
}:{Array-of String}
get-uri:プレフィックスを検索して、現在マップされている名前空間 URI を取得します。
public final inline {NamespaceSupport.get-uri prefix:String}:#String
pop-context:以前の名前空間コンテキストに戻します。
public final {NamespaceSupport.pop-context}:void
process-name:raw XML 1.0 名を処理します。
public final inline {NamespaceSupport.process-name
q-name:String,
is-attribute?:bool
}:(#String, #String, #String)
push-context:新規の名前空間コンテキストを開始します。
public final {NamespaceSupport.push-context}:void
reset:この名前空間サポート オブジェクトを再使用するためにリセットします。
public final {NamespaceSupport.reset}:void
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {NamespaceSupport.default}

新規の名前空間サポート オブジェクトを作成します。





クラス変数と定数の詳細
EMPTY_ENUMERATION (クラス定数)
public constant NamespaceSupport.EMPTY_ENUMERATION:{Array-of String} ={new {Array-of String}, efficient-size = 0}
この項目はサポートされていません。内部使用限定となっています。


XMLNS (クラス定数)
public constant NamespaceSupport.XMLNS:String ="http://www.w3.org/XML/1998/namespace"

定数としての XML 名前空間。

説明

これは xml プレフィックスに自動的にマップされる名前空間 URI です。




メソッド詳細
declare-prefix? (メソッド)
public final {NamespaceSupport.declare-prefix?
prefix:String,
uri:String
}:bool

名前空間のプレフィックスを宣言します。

prefix: 宣言するプレフィックス。null は指定できません。
uri: プレフィックスに関連付ける名前空間 URI。

戻り値

プレフィックスが有効な場合はtrue、その他の場合は false

説明

このメソッドは、名前空間の現在のコンテキスト内でプレフィックスを宣言します。このプレフィックスは、下位コンテキストでシャドウされない限り、このコンテキストがポップされるまで有効です。

既定の名前空間を宣言するには、空の文字列を使用します。プレフィックスに xml または xmlns は使用できません。

他の名前空間をプッシュしてポップした後で、プレフィックスを宣言できないことに注意してください。

このライブラリには非対称性があります。既定の プレフィックスを宣言した場合でも、NamespaceSupport.get-prefix はこれを返しません。既定のプレフィックスを確認するには NamespaceSupport.get-uri を使用して明示的に検索する必要があります。この非対称性の存在によって、既定のプレフィックスが使用できない場合に属性名でプレフィックスを簡単に検索することができます。

注意事項

参照:NamespaceSupport.process-name, NamespaceSupport.get-uri, NamespaceSupport.get-prefix


get-declared-prefixes (メソッド)
public final inline {NamespaceSupport.get-declared-prefixes
}:{Array-of String}

このコンテキストで宣言されたすべてのプレフィックスの列挙を返します。

戻り値

このコンテキストで宣言されたすべてのプレフィックスの列挙。

説明

空(既定)のプレフィックスもこの列挙に含まれます。この動作は NamespaceSupport.get-prefixes の動作と異なることに注意してください。

注意事項

参照:NamespaceSupport.get-prefixes, NamespaceSupport.get-uri


get-prefix (メソッド)
public final inline {NamespaceSupport.get-prefix uri:String}:#String

名前空間 URI にマップされているプレフィックスの 1 つを返します。

uri: 名前空間 URI。

戻り値

指定されている URI に現在マップされているプレフィックスの 1 つ。何もマップされていない場合、または URI が既定の名前空間に割り当てられている場合は null。

説明

同じ URI に複数のプレフィックスが現在マップされていると、このメソッドは任意に選択を実行します。すべてのプレフィックスを取得する場合は、代わりに NamespaceSupport.get-prefixes メソッドを使用します。

注意事項

これは空(既定)のプレフィックスは返しません。既定のプレフィックスを確認するには NamespaceSupport.get-uri メソッドを引数 と共に使用します。

参照: NamespaceSupport.get-prefixes, NamespaceSupport.get-uri


get-prefixes (メソッド)
public final inline {NamespaceSupport.get-prefixes}:{Array-of String}

現在宣言されているすべてのプレフィックスの列挙を返します。

戻り値

空(既定)のプレフィックスを除き、現在のコンテキストで宣言されているすべてのプレフィックスの列挙。

注意事項

既定のプレフィックスがある場合、それはこの列挙には含まれません。既定のプレフィックスを確認するには NamespaceSupport.get-uri を引数 と共に使用します。

参照: NamespaceSupport.get-declared-prefixes, NamespaceSupport.get-uri


get-prefixes-for-uri (メソッド)
public final {NamespaceSupport.get-prefixes-for-uri
uri:String
}:{Array-of String}

現在 URI に宣言されているすべてのプレフィックスの列挙を返します。

uri: 名前空間 URI。

戻り値

現在のコンテキストで宣言されたすべてのプレフィックスの列挙。

説明

このメソッドは、特定の名前空間 URI にマップされているプレフィックスを返します。xml:プレフィックスが含まれます。プレフィックスの種類に関わりなく名前空間 URI にマップされているプレフィックス 1 つだけを取得する場合は、代わりに NamespaceSupport.get-prefix メソッドを使用します。

注意事項

この列挙には空(既定)のプレフィックスは含まれません。既定の名前空間の存在を確認するには、NamespaceSupport.get-uri メソッドを引数 と共に使用します。

参照: NamespaceSupport.get-prefix, NamespaceSupport.get-declared-prefixes, NamespaceSupport.get-uri


get-uri (メソッド)
public final inline {NamespaceSupport.get-uri prefix:String}:#String

プレフィックスを検索して、現在マップされている名前空間 URI を取得します。

prefix: 検索対象のプレフィックス。

戻り値

関連する名前空間 URI。プレフィックスがこのコンテキストで宣言されていない場合は null。

説明

このメソッドは現在のコンテキスト内でプレフィックスを検索します。既定の名前空間の場合には空の文字列 ("") を使用します。

注意事項

参照:NamespaceSupport.get-prefix, NamespaceSupport.get-prefixes


pop-context (メソッド)
public final {NamespaceSupport.pop-context}:void

以前の名前空間コンテキストに戻します。

説明

通常は、各 XML 要素の最後にコンテキストをポップする必要があります。コンテキストをポップすると、以前に有効であったすべての名前空間プレフィックス マッピングが復元されます。

他のコンテキストを先にプッシュする場合を除き、コンテキストをポップした後で追加の名前空間プレフィックスを宣言するのは回避してください。

注意事項

参照:NamespaceSupport.push-context


process-name (メソッド)
public final inline {NamespaceSupport.process-name
q-name:String,
is-attribute?:bool
}:(#String, #String, #String)

raw XML 1.0 名を処理します。

q-name: 処理される raw XML 1.0 名。
is-attribute?: これが属性名 (true) であるか要素名 (false) であるかを示すフラグ。

戻り値

このメソッドは 3 つの文字列を返します。qName 引数に宣言されていないプレフィックスが含まれている場合は、3 つの文字列はすべて null になります。最初の戻り値は、名前空間 URI を含む文字列です。名前空間 URI が使用されていない場合は空の文字列です。2 番目の戻り値は、ローカル名(プレフィックスなし)を含む文字列です。3 番目の戻り値は、元の raw 名を含む文字列です。

説明

属性名は要素名とは異なる方法で処理されることに注意してください。プレフィックスがない属性名は、既定の名前空間(ある場合)を受け取り、プレフィックスなしの要素名は既定の名前空間を受け取りません。

注意事項

参照:NamespaceSupport.declare-prefix?,


push-context (メソッド)
public final {NamespaceSupport.push-context}:void

新規の名前空間コンテキストを開始します。

説明

通常は、各 XML 要素の始めに新規のコンテキストをプッシュする必要があります。新規のコンテキストは自動的に親コンテキストの宣言を継承しますが、同時にこのコンテキスト内で作成された宣言を記録します。

名前空間サポート オブジェクトは常に、すでに有効になっている基本コンテキストで開始します。このコンテキストでは、xml プレフィックスのみが宣言されています。

注意事項

参照:NamespaceSupport.pop-context


reset (メソッド)
public final {NamespaceSupport.reset}:void

この名前空間サポート オブジェクトを再使用するためにリセットします。

説明

新規のセッションで名前空間サポート オブジェクトを再使用する前に、このメソッドを呼び出す必要があります。