MAP | SASAX ドキュメント > SASAX とは何か [ <| 1| 2| 3| > ] |
本ドキュメントでは、 SASAX がどのようなものであるかを説明します。
SASAX は構造化データを表現する XML 文書 (XML における "単純内容"/"複合内容" モデル)の解析用に設計されたものであり、 予期せずに適用可能かもしれませんが、 マークアップされた文書を表現する XML 文書 (XML における "混在内容" モデル)の解析用には設計されておりません。
SASAX を利用する場合、 解析対象の(期待される)文書構造は、 Java オブジェクトの構造として表現され、 それによって検証されます。
例えば '"int" 要素の解析' に示す "element" を用いることで、 XML 文書 "<int>123456</int>" を解析することが出来ます。
// 以下の XML 文書を解析するコード // <int> // 123456 // </int> IntElement element = new IntElement(null, "", "int");
より複雑な XML 文書を用いた例を '"composite" 要素の解析' に示します。
// 以下の XML 文書を解析するコード // <composite> // <int>123456</int> // <string>文字列値</string> // </composite> CompositeElement element = new CompositeElement(null, "", "composite"); IntElement intValue = new IntElement(element, "", "int"); element.addMustItem(intValue); StringElement stringValue = new StringElement(element, "", "string"); element.addMustItem(stringValue);
コンストラクタの第一引数が、 "親" 要素をあらわすことに気が付かれたかもしれません (ちなみに、 第二引数が要素の名前空間 URI で、 第三引数が要素の局所名です)。
前者の例では、 "int" と名付けられた要素は、 XML 文書のルート要素でありそれより高位の要素を持たないため、 "element" 変数により参照されるオブジェクトは、 "null" を親要素として生成されます。 後者の例では、 "composite" と名付けられた要素は、 同様の理由から "null" を親要素として生成されますが、 "int" あるいは "string" と名付けられた要素は "composite" を親として生成されます。
MAP | SASAX ドキュメント > SASAX とは何か [ <| 1| 2| 3| > ] |