ノードの情報
(1) ノードのタイプ
XMLツリーには全部で3種類のノードがあります。それぞれについて説明します。
a) 要素ノード
XMLの要素を表します。実体化(後述)しているものが出力の対象です。要素名は255バイトまでインポートできます。
anyノードアイコンは、マッピングできません。

図4.78 要素ノードアイコン(未実体化状態)

図4.79 要素ノードアイコン(実体化状態)

図4.80 anyノードアイコン

図4.81 要素ノードアイコン(繰り返し基点に設定した状態)
b) 属性ノード
XMLの属性を表します。実体化しているものが出力の対象です。属性名は255バイトまでインポートできます。

図4.82 属性ノードアイコン(未実体化状態)

図4.83 属性ノードアイコン(実体化状態)
c) 内容モデルノード
XMLの内容モデルを表します。直接出力されることはありませんが、実体化することで出力できる範囲が広がります。実体化させるにはいくつかの条件が必要です。

図4.84 内容モデルノードアイコン(未実体化状態)

図4.85 内容モデルノードアイコン(choice実体化状態)

図4.86 内容モデルノードアイコン(sequence実体化状態)

図4.87 内容モデルノードアイコン(all実体化状態)

図4.88 内容モデルノードアイコン(繰り返しの基点に設定した状態)
(2) ノードが持つ情報
ノードが持っている情報について説明します。要素ノードは子要素を持つ場合と持たない場合で異なります。子要素を持つ要素ノードを「中間要素ノード」、子要素を持たない要素を「末端要素ノード」と定義します。「中間要素ノード」と「末端要素ノード」をまとめて「要素ノード」と記載します。
a) name
要素ノードの場合は要素名を表します。属性ノードの場合は属性名を表します。内容モデルノードの場合は「sequence」、「choice」、「all」のいずれかの値です。
b) type
中間要素ノードと内容モデルノードはこの値を持ちません。末端要素ノードと属性ノードは、文字データまたは数値データのいずれかの値を持ちます。
c) minOccurs
要素ノードと内容モデルノードのみ出現頻度の最低値を表示します。
d) maxOccurs
要素ノードと内容モデルノードのみ出現頻度の最高値を表示します。
e) empty
末端要素ノードのみがこの値を持ちます。スキーマファイル上で空要素指定されているか、またはDataMagicがインポートする際にこの末端要素ノードのタイプを特定できない場合にemptyがtrueになります。それ以外はfalseになります。また、emptyがtrueの場合は常に文字データとして扱われます。
emptyは単にその情報を表示のためにしか用いられておらず、空要素に関する何のチェックもDataMagicでは行っていません。たとえば入力側スキーマのemptyがtrueの末端要素ノードに実際には値が入っていてもそれを入力値として用いますし、出力側スキーマのemptyがtrueの末端要素ノードに対してもマッピングが行われれば値が出力されます。
f) default
中間要素ノードと内容モデルノードはこの値を持ちません。末端要素ノードと属性ノードは、デフォルト値がスキーマファイル上に指定されていれば、その値を持ちます。デフォルト値は最大9999バイトまでインポートできます。この値はXMLツリーが入力側である場合にのみ用いられます。マッピングされている入力側の末端要素ノード、または属性ノードに対応する値が入力ファイルに出現しなかった場合、もしスキーマ上にdefault値を持っていれば代わりにその値が入力値として用いられます。
default値が採用される条件は、末端要素ノードの場合はその末端要素ノードの保持する値が存在しなかった場合(空要素であった場合)であり、属性ノードの場合はその属性自体が存在しなかった場合となります。