OTD エディタは、選択されたオブジェクト型定義 (OTD) の構造を表示します。また、組み込み型のテスターでその処理を確認できます。エディタを使用して OTD の作成および変更を行うこともできます。オブジェクト型定義、OTD の構造、および OTD エディタの概要については、『Sun Enterprise Service Bus ユーザーガイド』を参照してください。その中では、使用可能なすべての OTD プロパティーを定義し、OTD エディタのすべての機能を説明しています。
次のセクションでは、OTD エディタでライブラリ OTD を使用する場合に固有の情報について説明します。これらの OTD は、業界固有のデータ交換システムおよびオープンソース標準で使用されるメッセージタイプに対応するテンプレートです。テンプレートは事前に定義されており、そのまま使用できるほか、OTD エディタを使用して変更することもできます。
OTD エディタは、選択されたオブジェクト型定義 (OTD) の構造を表示します。また、組み込み型のテスターでその処理を確認できます。エディタを使用して、ユーザー定義の OTD を作成および変更することもできます。
OTD エディタを使用して HL7 汎用 OTD または HL7 ライブラリ OTD (HL7 アダプタを Sun HL7 OTD ライブラリと組み合わせて使用している場合) を表示するには、次の手順に従います。
Java CAPS のプロジェクトツリーで、Sun OTD ライブラリディレクトリ、HL7 ディレクトリ、該当する HL7 ライブラリバージョンのフォルダの順に展開します。ビルドにはインストールしたバージョンのみが表示されます。
プロジェクトエディタの OTD ライブラリにある使用可能な OTD は保護されています (読み取り専用)。現在の場所で OTD をダブルクリックすることで、OTD を「読み取り専用」モードで表示できます。
OTD を編集可能モードで表示するには、OTD をプロジェクトにコピー&ペーストします。OTD を右クリックし、ショートカットメニューから「コピー」を選択して、次にプロジェクトを右クリックし、ショートカットメニューから「ペースト」を選択します。OTD がプロジェクトエクスプローラツリーのプロジェクトに追加されます。
コピーされた OTD を表示するには、コピーされた OTD をダブルクリックします。編集可能な OTD が OTD エディタに表示されます。ライブラリ OTD の場合、OTD セグメントは引き続き書き込み保護されています。この時点で、OTD プロパティーは、ルートノードからのみ変更できます (次の図を参照)。
エディタの「オブジェクト型定義」区画で、任意の OTD ノードまたはサブノードを選択すると、エディタの「プロパティー」区画にノードのプロパティーが表示されます。
オブジェクト型定義、OTD の構造、および OTD エディタの概要については、『Sun Enterprise Service Bus ユーザーガイド』を参照してください。
汎用 HL7 OTDS (HL7 OTD ライブラリからインストールされる OTD) は、Project Explorer の Sun フォルダにあります。これらの OTD は保護されており、変更できません。これにより、元の OTD を常に元の形で使用できます。OTD を変更するには、まず OTD を「Sun」 > 「OTD ライブラリ」フォルダからプロジェクトにコピー&ペーストします。
プロジェクトに保存したすべての OTD のバージョンを管理できます。OTD をチェックインまたはチェックアウトするには、プロジェクトエクスプローラツリーで OTD を右クリックし、ショートカットメニューから「バージョン管理」 > 「チェックアウト」または「チェックイン」を選択します。OTD がチェックインされると、プロジェクトエクスプローラツリーに OTD ファイルアイコンが「ロック」として表示されます (アイコンに赤い南京錠が含まれる)。
プロジェクトにコピーした HL7 OTD は、ルートノードからのみ編集できます。OTD の各セグメントは書き込み保護されています。OTD セグメントは、OTD エディタの「参照」区画で見ることができます。この「参照」区画には、OTD ファイルの内部テンプレートおよび外部テンプレートが含まれます。ライブラリ OTD の特定のセグメントを編集する方法は、「OTD セグメントの追加および編集」を参照してください。OTD プロパティーの詳細は、「OTD プロパティー」を参照してください。
ルートノードのプロパティー
次の表に、ルートノードに関連付けられた一連のプロパティーを示します。
ノードプロパティーの説明 |
|
---|---|
name |
ノードの表示名。これは、事実上任意の文字列にすることができます。 |
javaName |
プロパティーアクセサベース名。これは、通常、表示名から引き出され、Java 識別子に対する制限に適合するように変更されます。Sun Enterprise Service Bus によって自動的に提供されます。 |
javaType |
Java 型。自動的に割り当てられ、編集できません。 |
comment |
自由形式のテキスト (実行時には無効)。 |
delim |
指定された区切り文字。「区切り文字の指定」を参照してください。 |
nodeType |
マーシャル/アンマーシャルフォーマットを制御します。「ノードタイプの指定」を参照してください。 |
antecoding |
入力データのコーディングを指定します (219 ページの「データエンコーディングの指定」参照)。このプロパティーを指定しないと、decoding プロパティーに指定した値が入力データに使用されます。このプロパティーは、top プロパティーが true に設定されている場合のみ表示されます。 |
decoding |
アンマーシャルコーディングを指定します (219 ページの「データエンコーディングの指定」参照)。(DBCS データには UTF-8 を使用することをお勧めします。これは、一部の ASCII 区切り文字の 16 進値が 2 バイト文字に含まれる 16 進値と一致することがあるためです。)このプロパティーは、top プロパティーが true に設定されている場合のみ表示されます。 |
encoding |
マーシャルコーディングを指定します (219 ページの「データエンコーディングの指定」参照)。このプロパティーは、top プロパティーが true に設定されている場合のみ表示されます。 |
order |
アンマーシャルプロセスの間の、選択したノードの子の順序を指定します。
|
postcoding |
出力データのコーディングを指定します (219 ページの「データエンコーディングの指定」参照)。このプロパティーを指定しないと、encoding プロパティーに指定した値が出力データに使用されます。このプロパティーは、top プロパティーが true に設定されている場合のみ表示されます。 |
public |
今後の開発用に予約済み |
top |
ルートノードのフラグ: マーシャル/アンマーシャルのサポート (T/F)。 |
ルートノードから編集したプロパティーは、OTD に包括的に適用されます。たとえば、ルートノードから変更したレベル 3 の区切り文字は、レベル 3 のすべてのノードの区切り文字に適用されます。特定のセグメントのプロパティーは排他的に編集できますが、このためには、セグメントが参照する特定の OTD をプロジェクトにコピー&ペーストします。特定のセグメントの編集については、「OTD セグメントの追加および編集」を参照してください。
OTD をプロジェクトにコピー&ペーストします。OTD がプロジェクトエクスプローラツリーのプロジェクトに追加されます。
OTD をダブルクリックして、OTD エディタでプロジェクトを開きます。
エディタの「オブジェクト型定義」区画で、OTD のルートノードを選択します。エディタの「プロパティー」区画にルートプロパティーが表示されます。
「プロパティー」区画で、プロパティーを編集する任意のプロパティーフィールドをクリックします。
すべてのノードレベルの区切り文字は、ルートノードから設定 (および変更) します。デフォルトのレベル 1 の区切り文字は ASCII 以外の文字であることに注意してください。いったん変更すると、文字として入力し直すことはできません (ただし、ペーストは可能)。OTD の特定セグメントの編集については、「OTD セグメントの追加および編集」を参照してください。
OTD エディタで、「オブジェクト型定義」区画のルートノードを選択します (この例では ADT_A02 とします)。「プロパティー」区画で、delim プロパティーフィールドをダブルクリックします。省略記号 (...) ボタンがフィールドに表示されます。省略記号ボタンをクリックします。区切り文字リストエディタが表示されます (次の図を参照)。
OTD エディタの「プロパティー」フィールドでどのレベルのフィールドをダブルクリックしても、そのフィールドは編集可能になるか、またはオプションのリストが表示されます。レベル 3 の「区切り文字バイト」フィールドをダブルクリックします (前の図を参照)。現在の区切り文字をナンバー記号 (#) に変更し、次のフィールドに Tab で移動して、「了解」をクリックします。
OTD に存在するレベル 3 のすべてのノードの区切り文字がナンバー記号 (#) になります。ただし、特定のセグメントで別途指定されている場合は除きます。次の図は、オブジェクト型定義ツリー内のさまざまなレベルの例をルートノードから示しています。
すべての HL7 OTD には、HL7 標準の定義に従って、区切り文字の定義済みリストがあります。HL7 メッセージ内の区切りエンコーディング文字を変更する場合は、OTD エディタを使用してルートノードから OTD の区切り文字を変更して、HL7 メッセージで使用している区切り文字と一致させます。
区切りエンコーディング文字フィールドは、4 つのエンコーディング文字とフィールド区切り文字から構成される固定長フィールドです。5 番目 (追加) の文字は、セグメントのフィールド区切り文字として必要です。
エンコーディング文字と突き合わせた妥当性検査を行うには、次のように、事前に構築されたコラボレーションルールを変更します。
// first unmarshal the HL7 OTD payload // then get the encoding character field: String encodingChars = otdHL7_GENERIC_EVT_1.getMSH().getMsh2EncodingCharacters(); if (!encodingChars.equals(“<customer_encoding_characters>”)) { validated = false; ErrorMessage = "Validation Failure: Receiving Facility"; log( LOG_LEVEL_ERROR, "Validate HL7 Message failed: Encoding character field" ); } |
ノードは、外部データ表現内の階層化されたデータ構造内で、外部データ表現そのものと、その下位に使用される一連の区切り文字を定義します。ノードで区切り文字リストを定義している場合、上位の区切り文字リストは、このノード自体とその下位に一切影響しません。区切り記号リストは、通常、ルートノードに指定します。
たとえば、次のデータを解析する場合、
a^b|c^d|e |
OTD を次のように定義できます。
この OTD の区切り文字リストは、demo-otd 要素で指定するため、OTD 全体に適用され、2 つのレベルを持ちます。
レベル 1
区切り文字 |
レベル 2
区切り文字 ^
レベル 1 の区切り文字は、2 つの要素およびフィールド 5 に適用され、レベル 2 の区切り文字はフィールド 1 から 4 に適用されます。
区切り文字リストは、この非常に簡単な例よりもずっと複雑になることがあります。たとえば、任意の特定レベルで異なるタイプの区切り文字を複数作成したり、例のようにルートノードでだけでなく、OTD 内の任意のノードで区切り文字リストを指定したりすることができます。区切り文字リストの作成手順については、「OTD エディタを使用した OTD の変更」を参照してください。
区切り文字のプロパティー
区切り文字は、区切り文字リストエディタを使用して定義します。
区切り文字のプロパティーと値を表 1–4 に示します。
表 1–4 区切り文字のプロパティー
区切り文字のプロパティーと値のオプション |
||
---|---|---|
プロパティー |
オプション |
説明 |
レベル |
定義中のノードの下の子レベル。 |
|
タイプ |
escape |
エスケープシーケンス。 |
repeat |
配列区切り文字/セパレータ。 |
|
normal |
終端文字。 |
|
区切り文字バイト |
区切り文字 (単一または複数の文字)。 |
|
優先度 |
「優先度」を参照してください。 |
|
オプションモード |
never |
入力では許可せず、出力では発行しません (区切り文字間の空のフィールドは、長さゼロのデータフィールドを意味する)。 |
allow |
空のフィールドが存在する場合はスキップし、存在しない場合、出力では区切りません。 |
|
cheer |
空のフィールドが存在する場合はスキップし、存在しない場合、出力では区切ります。 |
|
force |
入力では空の区切られたフィールドが必須で、出力では常に区切ります。 |
|
ターミネータモード |
never |
入力では許可せず、出力では発行しません (純粋なセパレータ)。 |
allow |
入力では許可し、出力では発行しません。 |
|
cheer |
入力では許可し、出力では常に発行します。 |
|
force |
入力では必須で、出力では常に発行します (純粋な終端文字)。 |
タイププロパティー - Escape オプション
escape 区切り文字は、解析時に認識されて無視されるシーケンスです。その目的は、エスケープシーケンスの使用を許可して、データ内にバイトシーケンスを組み込むことで、この存在がないと、区切り文字の出現として見なされます。
たとえば、あるレベルに通常の区切り文字「+」が存在し、エスケープ区切り文字「\+」を定義した場合、aaa+b\+c+dddは 3 つのフィールド、aaa、b\+c、および ddd として解析されます。エスケープ区切り文字を定義しなかった場合、シーケンスは 4 つのフィールド、aaa、b\、c、および ddd として解析されます。
ただし、あるレベルでエスケープ区切り文字が 1 つのみの場合、delim および array ノードでは区切り文字の定義されていない状態を表します。
区切り文字バイト
基本的には、区切り文字として使用できる文字に制限はありません。ただし、データと混同する可能性のある文字や、エスケープシーケンスと衝突する文字は避けてください。バックスラッシュ (\) は通常、エスケープ文字として使用されます。HL7 プロトコルは、エスケープシーケンスの一部に二重のバックスラッシュを使用して特別なテキストフォーマット指示を与えます。
コロン (:) は区切り文字として使用しないでください。コロンは、システムが生成した時刻文字列でリテラルとして使用されます。これは、ドメインのシャットダウン後などの復旧手順を妨げる可能性があります。
ターミネータモードプロパティー
前の例に示したツリー構造を見てみましょう。この構造では、ノード a はその区切り文字としてパイプ (|) を、サブノード b はその区切り文字としてチルダ (~) を、サブノード c はその区切り文字としてアスタリスク (*) を持っています。
オプション |
入力 |
出力 |
---|---|---|
never |
c| |
c| |
allow |
c| または c*| |
c| |
cheer |
c| または c*| |
c*| |
force |
c*| |
c*| |
オプションモードプロパティー
次の図に示したツリー構造を見てみましょう。この構造では、ノード a はその区切り文字としてパイプ (|) を、サブノード b、c、および d はいずれもその区切り文字としてアスタリスク (*) を持っています。
例 1: サブノード c が optional の場合(サブノード c とサブノード d の match パラメータの値は異なる必要がある)。
オプション |
入力 |
出力 |
---|---|---|
never |
b*d| |
b*d| |
allow |
b**d| |
b*d| |
cheer |
b**d| |
b**d| |
force |
b**d| |
b**d| |
例 2: サブノード c とサブノード d の両方が optional の場合。
オプション |
入力 |
出力 |
---|---|---|
never |
b| |
b| |
allow |
b|、b*|、または b**| |
b| |
cheer |
b|、b*|、または b**| |
b**| |
force |
b**| |
b**| |
優先度
優先度は、ある区切り文字の他の区切り文字に対する優先順位を示します。デフォルトでは、すべての区切り文字の優先度は 10 で、つまり、すべての区切り文字は同様と見なされ、固定フィールドは優先度 10 でハードコードされます。親ノードの区切り文字は、子フィールドの解析時には考慮されず、子の区切り文字 (または子が固定フィールドの場合はその長さ) のみが考慮されます。
区切り文字の優先度を変更すると、入力データストリームに異なる方法で区切り文字が適用されるようになります。次に例を示します。
ルートノード
要素 (type delim, delimiter = “^”, repeat)
フィールド1 (type fixed, length = 5)
フィールド2 (type fixed, length = 8, optional)
これは「abcde12345678^zyxvuABCDEFGH」を解析しますが、テキスト「abcde^zyxvuABCDEFGH」は、2 番目の固定フィールドが optional であっても解析されません。これは、要素と固定フィールドの区切り文字の優先度が同じであるため、要素の区切り文字が固定フィールド内で無視されるからです。固定フィールドデータ内で要素の区切り文字が調べられるようにするには、次のようにその優先度を変更します。
HL7 ライブラリ OTD は、HL7 メッセージセグメントに対応するさまざまな OTD で構成されています。メインの HL7 メッセージ OTD は、同じ HL7 ディレクトリ内にあるセグメント OTD への参照を含んでいます。
セグメントの編集
次の例では、HL7_25_ADT_A02 OTD を使用しています。OTD の特定セグメントのプロパティーを編集するには、次の手順に従います。
編集する OTD セグメントを決定したら、プロジェクトエクスプローラの「Sun」 > 「OTD ライブラリ」 > 「HL7 フォルダ」からセグメント OTD をプロジェクトにコピー&ペーストします。
エディタの「オブジェクト型定義」区画に示されているセグメント OTD の順序を書き留めておきます。元の OTD 構造を保つことが重要です。次の手順では、このリストからセグメント OTD を削除します。したがって、元のセグメント OTD の位置を書き留めておき、編集したセグメント OTD を OTD 構造内の元の位置に再配置できるようにすることが重要です (次の図を参照)。
「参照」区画の「内部」タブで、SFT セグメントを右クリックし、「削除」を選択して、セグメントを削除します。
「オブジェクト型定義」区画で、OTD ツリーから SFT セグメントを削除します。このためには、セグメントを右クリックし、ショートカットメニューから「削除」を選択します。
「参照」区画の「外部」タブで、セグメント OTD の参照のうちどれかひとつを削除します。この操作によって、このセグメント OTD に対する他のすべての参照も削除されます。
セグメント OTD をメイン OTD にインポートするには、「OTD を外部テンプレートにインポート」アイコンをクリックします。「インポート」ダイアログボックスが表示されます。
「インポート」ダイアログボックスで、プロジェクトファイルからインポートする OTD を検出して選択します。「追加」ボタンをクリックして、OTD を「インポートする OTD の選択」フィールドに追加します。「インポート」をクリックします (次の図を参照)。OTD がエディタの「参照」区画の「外部」タブに追加されます。
「参照」区画の「外部」タブから、インポートしたセグメントの参照 (この例の場合、HL7_25_SFT/SFT) を「オブジェクト型定義」区画のルートノードにドラッグ&ドロップします。セグメントがオブジェクト型定義ツリーに追加されます。
オブジェクト型定義ツリーで、セグメントを右クリックし、ショートカットメニューから「上のレベルへ」を選択して、セグメントをツリーの上位へ移動します。この手順を繰り返して、置き換え中のセグメントが存在していたのと同じ位置に新規セグメントが配置されるようにします。
変更をリポジトリに保存します。
これで、プロジェクトに配置されたセグメント OTD を開き、そのプロパティーを編集できるようになりました。
メッセージ OTD へのセグメント OTD の追加
また、OTD の外部テンプレートにほかのセグメント OTD を追加することで、OTD を変更することもできます。
OTD とインポートするセグメント OTD をプロジェクトにコピーして保存します。OTD エディタで OTD を開きます。
OTD エディタのツールバーで、「OTD を外部テンプレートにインポート」アイコンをクリックします。「インポート」ダイアログボックスが表示されます。
「インポート」ダイアログボックスで、プロジェクトファイルからインポートする OTD を検出して選択します。「追加」ボタンをクリックして、OTD を「インポートする OTD の選択」フィールドに追加します。「インポート」をクリックします。OTD がエディタの「参照」区画の「外部」タブに追加されます。
「参照」区画の「外部」タブから、セグメント OTD 参照を「オブジェクト型定義」区画のルートノードにドラッグ&ドロップします。セグメント OTD がオブジェクト型定義ツリーに追加されます。
変更をリポジトリに保存します。
OTD エディタの「オブジェクト型定義」区画 (中央の区画) には、OTD のノード、要素、およびフィールドが表示されます。これらのいずれかを選択すると、その項目のプロパティーが「プロパティー」区画に表示されます。
ノードのプロパティー
OTD エディタで HL7 OTD を開くと、ルートノードのプロパティーが「プロパティー」区画に表示されます。設定できるノードのプロパティーを次の表に示します。
ノードプロパティーの説明 |
|
---|---|
name |
ノードの表示名。これは、事実上任意の文字列にすることができます。 |
javaName |
プロパティーアクセサベース名。これは、通常、表示名から引き出され、Java 識別子に対する制限に適合するように変更されます。Sun Enterprise Service Bus によって自動的に提供されます。 |
javaType |
Java 型。自動的に割り当てられ、編集できません。 |
comment |
自由形式のテキスト (実行時には無効)。 |
delim |
指定された区切り文字。「区切り文字の指定」を参照してください。 |
nodeType |
マーシャル/アンマーシャルフォーマットを制御します。「ノードタイプの指定」を参照してください。 |
antecoding |
入力データのコーディングを指定します (219 ページの「データエンコーディングの指定」参照)。このプロパティーを指定しないと、decoding プロパティーに指定した値が入力データに使用されます。このプロパティーは、top プロパティーが true に設定されている場合のみ表示されます。 |
decoding |
アンマーシャルコーディングを指定します (219 ページの「データエンコーディングの指定」参照)。(DBCS データには UTF-8 を使用することをお勧めします。これは、一部の ASCII 区切り文字の 16 進値が 2 バイト文字に含まれる 16 進値と一致することがあるためです。)このプロパティーは、top プロパティーが true に設定されている場合のみ表示されます。 |
encoding |
マーシャルコーディングを指定します (219 ページの「データエンコーディングの指定」参照)。このプロパティーは、top プロパティーが true に設定されている場合のみ表示されます。 |
order |
アンマーシャルプロセスの間の、選択したノードの子の順序を指定します。
|
postcoding |
出力データのコーディングを指定します (219 ページの「データエンコーディングの指定」参照)。このプロパティーを指定しないと、encoding プロパティーに指定した値が出力データに使用されます。このプロパティーは、top プロパティーが true に設定されている場合のみ表示されます。 |
public |
今後の開発用に予約済み |
showDelim |
nodeType が区切られている場合。 |
top |
ルートノードのフラグ: マーシャル/アンマーシャルのサポート (T/F)。 |
javaName プロパティーは変更しないでください。
要素のプロパティー
次の図に、要素レベルに関連付けられた一連のプロパティーを示します。
設定できる要素のプロパティーを次の表に示します。
要素プロパティーの説明 |
|
---|---|
name |
要素の表示名。 |
javaName |
プロパティーアクセサベース名。 |
javaType |
Java 型。自動的に割り当てられ、編集できません。 |
comment |
自由形式のテキスト (実行時には無効)。 |
access |
アクセス仕様。 |
optional |
フラグ: この要素が省略可能かどうか (T/F) ルート、または選択したノードの子には適用されません。 |
repeat |
フラグ: このノードは複数回の出現を許可されるかどうか (T/F) ルート、または選択したノードの子には適用されません。 |
maxOccurs |
ノードが反復の場合に、ノードの最大出現回数を指定します。ノードが反復でない場合、プロパティーは影響しませんが、値 >1 に設定されている場合、検証時にエラーが表示されることがあります。 |
delim |
区切り文字仕様 (「区切り文字の指定」参照)。 |
nodeType |
マーシャル/アンマーシャルフォーマットを制御します。 |
showDelim |
nodeType が区切られている場合。 |
Public |
将来の使用向けで、現在はアクティブではありません。 |
Top |
マーシャル/アンマーシャルがサポートされているかどうかを指定します (true または false)。デフォルト値は true です。 |
javaName プロパティーは変更しないでください。
フィールドのプロパティー
次の図に、フィールドレベルに関連付けられた一連のプロパティーを示します。
設定できるフィールドのプロパティーを次の表に示します。
フィールドプロパティーの説明 |
|
---|---|
name |
フィールドの表示名。 |
javaName |
プロパティーアクセサベース名。 |
javaType |
Java 型: java.lang.String またはバイト配列 (byte[]) のいずれか。 |
comment |
自由形式のテキスト (実行時には無効)。 |
access |
アクセス仕様。 |
optional |
フィールドがインスタンスに存在しないことを許可されるかどうかを指定します。「値」フィールドをクリックすると、true と false が切り替わります。フィールドが選択した要素ノードの子である場合は適用されません。 |
repeat |
ノードが複数回の出現を許可されるかどうかを指定します。「値」フィールドをクリックすると、true と false が切り替わります。フィールドが選択した要素ノードの子である場合は適用されません。 |
maxOccurs |
ノードが反復の場合に、ノードの最大出現回数を指定します。ノードが反復でない場合、プロパティーは影響しませんが、値 >1 に設定されている場合、検証時にエラーが表示されることがあります。 |
delim |
区切り文字仕様 (「区切り文字の指定」参照)。 |
initial |
親ノードの作成時またはリセット時に設定される、フィールドの初期値。指定した場合、ノードにデータが取り込まれる前に、ノードに割り当てられます。 |
match |
nodeType が区切られている場合、データに対する完全一致を実行します。 |
nodeType |
マーシャル/アンマーシャルフォーマットを制御します。 |
align |
match プロパティーのバイト整列の基準を指定します。 |
decoding |
nodeType が fixed の場合のみ表示されます。アンマーシャルコーディングを指定します(DBCS データには UTF-8 を使用することをお勧めします。これは、一部の ASCII 区切り文字の 16 進値が 2 バイト文字に含まれる 16 進値と一致することがあるためです)。 |
encoding |
nodeType が fixed の場合のみ表示されます。マーシャルコーディングを指定します。 |
length |
nodeType が fixed の場合のみ表示されます。フィールドの長さを指定します。デフォルト値は 0 です。 |
javaName プロパティーは変更しないでください。
nodeType プロパティーフィールドをクリックすると、フィールドが編集できるようになります。矢印ボタンをクリックすると、選択メニューが表示されます。プロパティーオプションの説明を次の表に示します。
ノードタイプのプロパティーオプション |
||||
---|---|---|---|---|
オプション |
説明 |
要素 |
フィールド |
内部 |
array |
array は区切られた構造です。反復される場合、出現は repeat 区切り文字によって区切られます。最後の出現は、normal 区切り文字で終端処理できます。 |
はい |
はい |
単一またはグループ |
delim |
delim (区切り) 構造。反復される場合、出現は normal 区切り文字によって区切られます。 |
はい |
はい |
単一またはグループ |
fixed |
fixed は固定長を意味し、負でない整数によって指定されます (また、0 は親ノードデータの終わりを意味します)。 |
はい |
はい |
単一またはグループ |
group |
group は、繰り返しなどのために、組織的なグループ化を可能にします。要素のみに適用されます。 |
はい |
いいえ |
グループ |
trans |
trans (一時) は、スクラッチパッドフィールドとして、内部ツリーのみに表示されます。外部データ表現には出現せず、子として trans nodeType のみを持つことができます。 |
はい |
はい |
選択、単一、またはグループ |
OTD ノードを移動した場合は、そのノードの nodeType をリセットします。
ノードの管理
OTD エディタでは、次の操作が可能です。
ノードおよび要素を OTD に「追加」する。
OTD からノードおよび要素を「削除」する。
ノードが削除されると、ノードと、このノードに関連付けられていた子 (データ要素) の両方が削除されます。
OTD 内のノードを「取り除く」。
ノードが取り除かれると、このノードに関連付けられていた子 (データ要素) のみが削除され、ノード自体は維持されます。取り除きは、ノードに対してのみ実行できます。
これらのコマンドには、ノードのコンテキストメニューからアクセスします。