3

まず、私は COBOL にあまり詳しくないので、間違った語彙を使用していることをお詫びします。COBOL の固定データ構造から xml ドキュメントを生成しようとしています。これは GENERATE ステートメントを使用してうまく機能していますが、問題があります。

データが次の場合:

First;Second;Age;Optional
JOHN;SNOW;18;Something
JOHN;DOE;45;Nothing
JOHN;ISSUE;30;

次に、生成された xml は次のようになります。

<Persons>
   <Person First="JOHN" Second="SNOW" Age="18" Optional="Something"/>
   <Person First="JOHN" Second="DOE" Age="45" Optional="Nothing"/>
   <Person First="JOHN" Second="ISSUE" Age="18" Optional=""/>
</Persons>

値が空のときにジェネレーターが属性を作成しないようにしたい場合:

<Persons>
   <Person First="JOHN" Second="SNOW" Age="18" Optional="Something"/>
   <Person First="JOHN" Second="DOE" Age="45" Optional="Nothing"/>
   <Person First="JOHN" Second="ISSUE" Age="18" />
</Persons>

これを達成する簡単な方法はありますか?IBM のドキュメントと Google で探し回っていますが、運がありません。

4

2 に答える 2

2

オプション項目に OCCURS 0 から 1 DEPENDING 変数を使用することに成功しました。指示対象が存在するかどうかに応じて、var を 0 または 1 に設定します。

それはクラッジです。クラッジを不要にするためのSHARE要件が現存しています。この機能はv.Next COBOL コンパイラーにあると思います。

于 2012-10-24T17:33:47.253 に答える
0

私の考えでは、より簡単な方法は、XML PARSE動詞を使用して、スキーマにカスタムのきれいなプリンターを作成することです。GENERATEを実行し、それをきれいなプリンターにフィードして、特定のルールを適用して最終出力を生成します。

于 2012-10-25T04:04:06.800 に答える