SEWB+/CONSTRUCTION アプリケーション開発ガイド
テンプレートでXML文書を参照する方法を説明します。
テンプレートでXML文書を参照する場合,必ずルートノードから参照を始めることになります。テンプレートではATTR=XMLを指定した@@interface文の可変記号に,ルートノードが設定されます。
@@interface @XmlDoc = {ATTR=XML};
可変記号に設定されたノードの内容は,可変記号に添字を指定して参照します。ノードの種類によっては参照される情報が異なります。なお,ノードの種類はキーワードのTypeで判断できます。
ノードの種類 | 添字に指定するキーワード | ||
---|---|---|---|
Type | Name | Value | |
要素ノード | 2※1 | タグ名※2 | 長さが0の文字列が設定される。 |
属性ノード | 3※1 | 属性名※2 | 属性値※2 |
テキストノード | 6※1 | #text※1 | テキスト※2 |
注※1
固有の値が参照されます。
注※2XML文書で指定された値が参照されます。
XML関数を使用すると,木構造をたどって目的のノード情報を参照できます。
項番 | 関数名 | 機能 | 取得されるノード | ||
---|---|---|---|---|---|
要素 | テキスト | 属性 | |||
1 | @@xmlparent (可変記号) |
親ノード情報を取得する。 | ○ | × | × |
2 | @@xmlchildnodes (可変記号) |
すべての子供ノードの情報を取得する。 この関数は複数のノードを配列で返す。 |
○ | ○ | × |
3 | @@xmlfirstchild (可変記号) |
先頭の子供のノード情報を取得する。 | ○ | ○ | × |
4 | @@xmllastchild (可変記号) |
最後の子供ノード情報を取得する。 | ○ | ○ | × |
5 | @@xmlprevious (可変記号) |
同じ親を持つ直前のノード情報を取得する。 | ○ | ○ | × |
6 | @@xmlnext (可変記号) |
同じ親を持つ直後のノード情報を取得する。 | ○ | ○ | × |
7 | @@xmlelements (可変記号,"タグ名") |
指定されたタグ名を持つ下位のすべての要素ノードの情報を取得する。この関数は,複数のノードを配列で返す。タグ名に'*'を指定した場合,すべての要素ノードを返す。 | ○ | × | × |
8 | @@xmlattribute (可変記号,"属性名") |
指定された属性名を持つ属性ノード情報を取得する。属性名に'*'は指定できない。 | × | × | ○ |
これらの関数を展開したとき,「基準となるノード」を起点にして,どのように木構造が検索されて,ノード情報が取得されるかを次の図に示します。
なお,図中の番号は「(3) XML文書の木構造をたどる」の表の項番と対応しています。
All Rights Reserved. Copyright (C) 2007, Hitachi, Ltd.