(クラス)
public final NamespaceSupport
SAX ドライバで使用できるように名前空間ロジックをカプセル化します。
説明
このクラスは、名前空間処理のロジックをカプセル化します。各コンテキストで現在有効な宣言を追跡し、XML 1.0 修飾名から名前空間部分への処理を自動的に行ないます。また、逆に名前空間から XML 1.0 を生成するのにも使用されます。
名前空間サポート オブジェクトは再使用可能ですが、reset メソッドを各セッション間で呼び出す必要があります。
注意事項
このクラスは、要素のほとんどに名前空間宣言が含まれていない場合に使用できるように最適化されています。同一のプレフィックス / URI のマッピングが各コンテキストについて繰り返される場合などは、このクラスの効率性がある程度減少します。
| コンストラクタ public | {NamespaceSupport.default} |
public constant NamespaceSupport.EMPTY_ENUMERATION:{
Array-of String} ={new {Array-of String}, efficient-size = 0}
public constant NamespaceSupport.XMLNS:
String ="http://www.w3.org/XML/1998/namespace"
| public final | {NamespaceSupport.declare-prefix?}:bool |
| public final inline | {NamespaceSupport.get-declared-prefixes }:{Array-of String} |
| public final inline | {NamespaceSupport.get-prefix uri:String}:#String |
| public final inline | {NamespaceSupport.get-prefixes}:{Array-of String} |
| public final | {NamespaceSupport.get-prefixes-for-uri}:{Array-of String} |
| get-uri: | プレフィックスを検索して、現在マップされている名前空間 URI を取得します。 |
| public final inline | {NamespaceSupport.get-uri prefix:String}:#String |
| public final | {NamespaceSupport.pop-context}:void |
| public final inline | {NamespaceSupport.process-name}:(#String, #String, #String) |
| public final | {NamespaceSupport.push-context}:void |
| reset: | この名前空間サポート オブジェクトを再使用するためにリセットします。 |
| public final | {NamespaceSupport.reset}:void |
(コンストラクタ)
| public | {NamespaceSupport.default} |
新規の名前空間サポート オブジェクトを作成します。
(クラス定数)
public constant NamespaceSupport.EMPTY_ENUMERATION:{
Array-of String} ={new {Array-of String}, efficient-size = 0}
この項目はサポートされていません。内部使用限定となっています。
(クラス定数)
public constant NamespaceSupport.XMLNS:
String ="http://www.w3.org/XML/1998/namespace"
定数としての XML 名前空間。
説明
これは xml
プレフィックスに自動的にマップされる名前空間 URI です。
(メソッド)
| public final | {NamespaceSupport.declare-prefix?}:bool |
名前空間のプレフィックスを宣言します。
prefix: 宣言するプレフィックス。null は指定できません。
uri: プレフィックスに関連付ける名前空間 URI。
戻り値
プレフィックスが有効な場合はtrue、その他の場合は false。
説明
このメソッドは、名前空間の現在のコンテキスト内でプレフィックスを宣言します。このプレフィックスは、下位コンテキストでシャドウされない限り、このコンテキストがポップされるまで有効です。
既定の名前空間を宣言するには、空の文字列を使用します。プレフィックスに
xml
または
xmlns
は使用できません。
他の名前空間をプッシュしてポップした後で、プレフィックスを宣言
できないことに注意してください。
このライブラリには非対称性があります。既定の
プレフィックスを宣言した場合でも、
NamespaceSupport.get-prefix はこれを返しません。既定のプレフィックスを確認するには
NamespaceSupport.get-uri を使用して明示的に検索する必要があります。この非対称性の存在によって、既定のプレフィックスが使用できない場合に属性名でプレフィックスを簡単に検索することができます。
注意事項
(メソッド)
| public final inline | {NamespaceSupport.get-declared-prefixes }:{Array-of String} |
このコンテキストで宣言されたすべてのプレフィックスの列挙を返します。
戻り値
このコンテキストで宣言されたすべてのプレフィックスの列挙。
説明
注意事項
(メソッド)
| public final inline | {NamespaceSupport.get-prefix uri:String}:#String |
名前空間 URI にマップされているプレフィックスの 1 つを返します。
uri: 名前空間 URI。
戻り値
指定されている URI に現在マップされているプレフィックスの 1 つ。何もマップされていない場合、または URI が既定の名前空間に割り当てられている場合は null。
説明
注意事項
(メソッド)
| public final inline | {NamespaceSupport.get-prefixes}:{Array-of String} |
現在宣言されているすべてのプレフィックスの列挙を返します。
戻り値
空(既定)のプレフィックスを除き、現在のコンテキストで宣言されているすべてのプレフィックスの列挙。
注意事項
(メソッド)
| public final | {NamespaceSupport.get-prefixes-for-uri}:{Array-of String} |
現在 URI に宣言されているすべてのプレフィックスの列挙を返します。
uri: 名前空間 URI。
戻り値
現在のコンテキストで宣言されたすべてのプレフィックスの列挙。
説明
このメソッドは、特定の名前空間 URI にマップされているプレフィックスを返します。xml:プレフィックスが含まれます。プレフィックスの種類に関わりなく名前空間 URI にマップされているプレフィックス 1 つだけを取得する場合は、代わりに
NamespaceSupport.get-prefix メソッドを使用します。
注意事項
(メソッド)
| public final inline | {NamespaceSupport.get-uri prefix:String}:#String |
プレフィックスを検索して、現在マップされている名前空間 URI を取得します。
prefix: 検索対象のプレフィックス。
戻り値
関連する名前空間 URI。プレフィックスがこのコンテキストで宣言されていない場合は null。
説明
このメソッドは現在のコンテキスト内でプレフィックスを検索します。既定の名前空間の場合には空の文字列 ("") を使用します。
注意事項
(メソッド)
| public final | {NamespaceSupport.pop-context}:void |
以前の名前空間コンテキストに戻します。
説明
通常は、各 XML 要素の最後にコンテキストをポップする必要があります。コンテキストをポップすると、以前に有効であったすべての名前空間プレフィックス マッピングが復元されます。
他のコンテキストを先にプッシュする場合を除き、コンテキストをポップした後で追加の名前空間プレフィックスを宣言するのは回避してください。
注意事項
(メソッド)
| public final inline | {NamespaceSupport.process-name}:(#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 名を含む文字列です。
説明
属性名は要素名とは異なる方法で処理されることに注意してください。プレフィックスがない属性名は、既定の名前空間(ある場合)を受け取り、プレフィックスなしの要素名は既定の名前空間を受け取りません。
注意事項
(メソッド)
| public final | {NamespaceSupport.push-context}:void |
新規の名前空間コンテキストを開始します。
説明
通常は、各 XML 要素の始めに新規のコンテキストをプッシュする必要があります。新規のコンテキストは自動的に親コンテキストの宣言を継承しますが、同時にこのコンテキスト内で作成された宣言を記録します。
名前空間サポート オブジェクトは常に、すでに有効になっている基本コンテキストで開始します。このコンテキストでは、xml
プレフィックスのみが宣言されています。
注意事項
(メソッド)
| public final | {NamespaceSupport.reset}:void |
この名前空間サポート オブジェクトを再使用するためにリセットします。
説明
新規のセッションで名前空間サポート オブジェクトを再使用する前に、このメソッドを呼び出す必要があります。