XML DATは、任意のXMLやSGML/HTML形式のデータを解析することができます。フォーマットされたテキストは、選択された部分が出力され、さらに処理を行うことができます。
XML DATを使った解析の一つの方法は、Text DATやWeb DATでXMLを読み込んで、それをデフォルトのXML DATに渡すことです。そして、 match-allパターン(「*」)を、 出力される要素を減らすための文字列に変更することで、 選択範囲を狭めていきます。
XMLやHTMLのデータは、要素で構成されたツリー状の構造をしています。各要素には、タグを付けることも、任意のテキストを含めることもできます。要素は入れ子にすることもできます。タグ付けされた要素は、開始セクションで始まり、通常は終了セクションで終了します。
例
<greeting a=”1″ b=”2″ c=”3″> Hello there. </greeting>
上の例では、2つの要素があります。1つ目はgreetingという名前のタグ要素で、属性はa、b、cです。2つ目の要素は、”Hello there. “というテキスト要素です。
XML DATは、まず入力を解析して、要素の内部ツリーを作成します。
次に、Element Scopeパラメータを使用して、不要な要素を除外します。残った要素を使って出力を作成します。出力の形式はFormatパラメータで設定されます。Outputパラメータを使用して、スコープされた各要素に表示される情報をさらに制限することができます。
解析された各要素には、いくつかの詳細情報が含まれています。
各要素には、n0、n1、n2などと名付けられた任意のラベルが付けられています。すべての要素は
rooot と書かれた予約済みの要素の子供たちです。
要素は主に tag または text のタイプですが、タグのタイプはさらにdoctype、declaration、comment、entityに分類できます。
エレメントのテキストとは、エレメントのtag属性や、任意のテキストコンテンツのことを指します。上記の例では、最初の要素は tag 型で、greeting というテキストを含みます。2番目の要素は text タイプで、 Hello there のテキストを含みます。
これはエレメントがどれだけ深く入れ子になっているかを表します。例えば、単一のルート要素のレベルは常に0です。
各エレメントは1つの親を持ちます。ルートのエレメントは親を持ちません。
各エレメントは、任意の数の子エレメントを持つことができます。
タグ付けされた各エレメントは,任意の数の属性を持つことができます。各属性は、名前と値で構成されます。上記の例では、greetingタグに3つの属性(名前はa、b、c、値はそれぞれ1、2、3)が含まれます。
参照:共通 Common ページ