ナビゲーション・リンクをスキップ
Java(tm) Platform
Standard Edition 8

パッケージ org.xml.sax

このパッケージはコアSAX APIを提供します。

参照: 説明

パッケージorg.xml.saxの説明

このパッケージはコアSAX APIを提供します。コアSAX APIには、名前空間に対応した新しいアプリケーションの設計や既存のインフラストラクチャのメンテナンスに統合するように非推奨とされているものもあります。

SAXについての詳細は、http://www.saxproject.orgを参照してください。

SAX2標準機能フラグ

SAX2の必須の特性の1つに、検証に使用できる機能フラグや変更パーサー・モード(特に検証などのモード)が追加されていることがあります。機能は(絶対) URIによって識別されるため、だれにでも定義できます。現在定義されている標準の機能URIには、validationなどの識別子の前に接頭辞http://xml.org/sax/features/が付きます。setFeatureを使用して機能をオンまたはオフにします。標準の識別子は次のとおりです。

機能ID アクセス デフォルト 説明
external-general-entities 読み取り/書き込み 指定なし このパーサーが一般的な外部エンティティを処理するかどうかを報告する。検証する場合は常にtrue。
external-parameter-entities 読み取り/書き込み 指定なし このパーサーが外部パラメータ・エンティティを処理するかどうかを報告する。検証する場合は常にtrue。
is-standalone (構文解析する) 読取り専用、(構文解析しない) なし 適用外 startDocument()コールバックが終了した後、構文解析中のみ検証される。読取り専用。文書がXML宣言内のstandalone="yes"を指定した場合、値はtrue。そうでない場合はfalse。
lexical-handler/parameter-entities 読み取り/書き込み 指定なし 「true」の値はLexicalHandlerがパラメータ・エンティティの開始と終了を報告することを示す。
namespaces 読み取り/書き込み true 「true」の値は、使用可能な要素名および属性名の名前空間URIと接頭辞を持たないローカル名を示す。
namespace-prefixes 読み取り/書き込み false 「true」の値は接頭辞付きのXML修飾名と属性(xmlns*属性を含む)が使用できることを示す。
resolve-dtd-uris 読み取り/書き込み true 「true」の値は、宣言のシステムIDが基底URIを基準にして報告前に絶対化されることを示す(デフォルトによるすべてのSAX2 XMLパーサーの動作)。「false」の値は、IDが絶対化されないことを示す。パーサーはLocator.getSystemId()の基底URIを提供する。これは渡されたシステムIDに適用される
  • DTDHandler.notationDecl()
  • DTDHandler.unparsedEntityDecl()
  • DeclHandler.externalEntityDecl()
これは、宣言の報告に使用されないEntityResolver.resolveEntity()や、絶対化されていないURIをすでに提供しているLexicalHandler.startDTD()には適用されない。
string-interning 読み取り/書き込み 指定なし 要素、接頭辞、属性、エンティティ、表記法、およびローカル名のすべてのXML名と名前空間URIがjava.lang.String.internを使用して保持される場合は「true」の値を持つ。これによって、より低速なString.equals()呼出しを使用しなくても、文字列定数が等しいかどうかをすばやく判定できるようになる。
unicode-normalization-checking 読み取り/書き込み false XML 1.1勧告のセクション2.13と付録Bで説明されているようなUnicode正規化エラーをパーサーが報告するかどうかを制御する。trueの場合、Unicode正規化エラーはErrorHandler.error()を使用して報告される。このようなエラーは、ほかのUnicode関連のエンコーディング・エラーとは違い、それ自体が致命的なエラーではない。
use-attributes2 読取り専用 適用外 このパーサーによってContentHandler.startElement()に渡されたAttributesオブジェクトがorg.xml.sax.ext.Attributes2インタフェースを実装している場合は「true」を返す。このインタフェースは、属性がデフォルトで設定されたかどうかではなく、ソース・テキストで指定されたかどうかなどのDTD関連の追加情報を公開する。
use-locator2 読取り専用 適用外 このパーサーによってContentHandler.setDocumentLocator()に渡されたLocatorオブジェクトがorg.xml.sax.ext.Locator2インタフェースを実装している場合は「true」を返す。このインタフェースは使用されている文字エンコーディングやXMLのバージョンなどのエンティティの追加情報を公開する。
use-entity-resolver2 読み取り/書き込み true setEntityResolverorg.xml.sax.ext.EntityResolver2インタフェースを実装しているオブジェクトが渡された場合にそれらの新しいメソッドが使用されるときは「true」を返す。新しいメソッドが使用されないことを示す場合は「false」を返す。
validation 読み取り/書き込み 指定なし パーサーがすべての妥当性エラーを報告しているかどうかを制御する。trueの場合、すべての外部エンティティが読み取られる。
xmlns-uris 読み取り/書き込み false namespace-prefixes機能が設定されたとき、パーサーが名前空間宣言の属性をhttp://www.w3.org/2000/xmlns/名前空間に存在するものとして処理するかどうかを制御する。デフォルトでは、SAX2はこのような属性がどの名前空間にも存在しないということを明示している元の「Namespaces in XML」勧告に従う。このオプションのフラグをtrueに設定することによって、SAX2イベントを下位互換できない元の勧告の今後の改訂版に従わせ、それらの属性を名前空間に置く。
xml-1.1 読取り専用 適用外 パーサーがXML 1.1とXML 1.0の両方をサポートする場合は「true」を返す。XML 1.0のみをサポートする場合は「false」を返す。

namespacesプロパティとnamespace-prefixesプロパティのデフォルト値をサポートする必要があります。それ以外の機能フラグのサポートは完全にオプションです。

SAX2で指定されていないデフォルト値の場合、それぞれのXMLReader実装によってそのデフォルトを指定しますが、機能フラグを公開しないように選択することもできます。ここで指定されないかぎり、実装によってこれらの標準機能フラグの現在の値を変更できますが、構文解析中は変更できません。

SAX2標準ハンドラおよびプロパティID

パーサー・インタフェースの特性をオブジェクトとして説明する場合、別の名前空間が定義されます。この名前空間のオブジェクトはURIによって再度識別されます。標準のプロパティURIには、lexical-handlerdom-nodeなどの識別子の前に接頭辞http://xml.org/sax/properties/が付きます。それらのプロパティはsetProperty()を使用して管理します。識別子は次のとおりです。

プロパティID 説明
declaration-handler 字句構文規則(「文書の要素名は...」)として扱われるものやすべてのSAXパーサーに対して必須であるものを除いて(DTDHandler)ほとんどのDTD宣言を見るために使用する。オブジェクトはorg.xml.sax.ext.DeclHandlerを実装している必要がある。
document-xml-version startDocument()コールバックが終了した後、構文解析中のみ検証される。読取り専用。このプロパティはXML 1.0やXML 1.1など、文書の実際のXMLバージョンを説明するリテラル文字列。
dom-node parser.parse()パラメータを無視するDOM Walker型パーサーの場合、これはパーサーが移動するDOM (サブ)ツリーを指定するために使用される。オブジェクトはorg.w3c.dom.Nodeインタフェースを実装している必要がある。
lexical-handler コメント、CDATA区切り文字、選択された一般のエンティティの取り込み、DTDの最初と最後(および文書要素名の宣言)といった一部のアプリケーションで必須の構文イベントを見るために使用する。オブジェクトはorg.xml.sax.ext.LexicalHandlerを実装している必要がある。
xml-string パーサーのコールバック中のみ読取り可能。これによって、現在のイベントを扱うTBS文字チャンクを公開する。

これらの標準プロパティはすべてオプションです。XMLReader実装の場合、これらをサポートする必要はありません。

ナビゲーション・リンクをスキップ
Java(tm) Platform
Standard Edition 8

バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2018, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。