モジュール java.xml
パッケージ org.xml.sax.helpers

クラスNamespaceSupport

java.lang.Object
org.xml.sax.helpers.NamespaceSupport

public class NamespaceSupport extends Object
SAXを使用するアプリケーションによって、また内部的にはSAXドライバによって使用する名前空間論理をカプセル化します。

このクラスは名前空間処理のロジックをカプセル化します。このクラスを使用して、各コンテキストで現在有効な宣言を追跡し、XML修飾名から自動的に名前空間部分を生成できます。名前空間を生成元のXML qnameに戻すこともできます。

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

次に、単純なセッションの例を示します。

 String parts[] = new String[3];
 NamespaceSupport support = new NamespaceSupport();

 support.pushContext();
 support.declarePrefix("", "http://www.w3.org/1999/xhtml");
 support.declarePrefix("dc", "http://www.purl.org/dc#");

 parts = support.processName("p", parts, false);
 System.out.println("Namespace URI: " + parts[0]);
 System.out.println("Local name: " + parts[1]);
 System.out.println("Raw name: " + parts[2]);

 parts = support.processName("dc:title", parts, false);
 System.out.println("Namespace URI: " + parts[0]);
 System.out.println("Local name: " + parts[1]);
 System.out.println("Raw name: " + parts[2]);

 support.popContext();
 

このクラスは、名前空間宣言を含む要素がほとんどないことを想定して最適化されています。したがって、すべてのコンテキストで同一の接頭辞とURIのマッピングが繰り返されるような場合は、効率が低くなる可能性があります。

SAXドライバ(パーサー)はこのクラスを選択して名前空間処理を実装する場合がありますが、これは要求されません。 アプリケーションが名前空間情報を使用する場合は、アプリケーション自体が名前空間情報を追跡する必要があります。

導入されたバージョン:
1.4, SAX 2.0