xml出力で予約済みのCOBOL名を使用する

ダニエル・セーダーバーグ

私は、COBOLメインフレームシステムが作成したディスクからxmlファイルを読み取るプロジェクトに取り組んでいます。このxmlファイルに次のような特定の命名構造が必要です。

<Orders>
 <Order>
  <Data>
   ...
  </Data>
 </Order>
 <Order>
  <Data>
   ...
  </Data>
 </Order>
 <Order>
  <Data>
   ...
  </Data>
 </Order>
</Orders>

この命名構造でCOBOL開発者から学んだ問題は、「Order」と「Data」がCOBOLで予約されている名前であるため、使用できないと言っていることです。これは本当に事実ですか、それとも、COBOLがxmlファイルを作成しているときにxml出力が必要なものになる方向を誰かが指摘する可能性がありますか?

cschneid

IBM Enterprise COBOLには、COBOLデータ構造からXMLを生成するために使用されるXMLGENERATEステートメントがあります。生成されるタグ名は、デフォルトでは、構造内のデータ項目の名前です。データ項目の名前を予約済みのCOBOLワードにすることはできません。

IBM Enterprise COBOLのバージョン5以降、データ項目の名前でないデータ項目のタグ名を生成するメカニズムがあります。これは、XMLGENERATEステートメントのNAME句です。

このような構造...

01  WS-ORDERS.
    05  WS-ORDER OCCURS 2.
        10  WS-DATA    PIC X(4096).

... XML GENERATEを介して処理すると、通常は...

<WS-ORDERS><WS-ORDER><WS-DATA>...</WS-DATA></WS-ORDER><WS-ORDER><WS-DATA>...</WS-DATA></WS-ORDER></WS-ORDERS>

...しかし、NAMEフレーズを使用しています...

XML GENERATE WS-BUFFER FROM WS-ORDERS
  NAME WS-ORDERS 'ORDERS'
       WS-ORDER  'ORDER'
       WS-DATA   'DATA'
END-XML

...あなたが望むものをあなたに与えるべきです。それはただのフリーハンドですが、あなたはその考えを見ることができると思います。

COBOLコンパイラーがXMLGENERATEのNAME句をサポートするバージョンにアップグレードされていない可能性があります。そのような最後のバージョンは4.2で、2021年9月30日にサービスを停止します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

TypeScriptでFirebaseの予約済みホスティングURLを使用する

分類Dev

haskellで特別な(予約済み)文字を使用する方法は?

分類Dev

Virtualmin-予約済みの電子メール名を使用する方法は?([email protected]

分類Dev

Xstreamと、予約済みキーワードをXML属性として使用するための回避策。("クラス")

分類Dev

Cで予約済み識別子の競合する使用を検出することは可能ですか?

分類Dev

dynamodbクエリで予約済みキーワード「year」を使用する方法

分類Dev

JIRAクエリで予約済みのJQLキーワードを使用して修正する最良の方法は?

分類Dev

Powershellで予約済みIPを確認する方法

分類Dev

「javax」の違法(予約済み)パッケージ名ですか?

分類Dev

SAS ProcSQLの予約済みフィールド名「user」に関する問題

分類Dev

JPQLのエンティティ名である予約済みキーワードをエスケープする方法-Hibernate

分類Dev

hibernate @ Formulaで予約済みテーブル列を使用するにはどうすればよいですか

分類Dev

予約済みの偽色で灰色の cmap を変更するにはどうすればよいですか?

分類Dev

MySQL クエリですでに予約済みの顧客を取得する方法は?

分類Dev

NS_SWIFT_NAMEで予約済みのキーワードを使用できますか?

分類Dev

Android SQLite JOINクエリで予約済みキーワードを使用する方法は?

分類Dev

予約済みのキーワードであるテーブルの列名を返しますか?

分類Dev

Luaの予約済みキーワードをすべて印刷する

分類Dev

シェルスクリプトの終了ステータスに「予約済み」コードを使用する

分類Dev

シェルスクリプトの終了ステータスに「予約済み」コードを使用する

分類Dev

レコードフィールドでHaskellの予約済みキーワードを処理する方法は?

分類Dev

Access2013フォームで変更をキャプチャする際の予約済みエラー

分類Dev

JSONで予約済みの正規表現文字を適切にエスケープする方法は?

分類Dev

ApplicationInsightsで予約済みのEventId

分類Dev

Azure VM:既存のVMに予約済みIPアドレスを追加する

分類Dev

私のHDD全体はシステム予約済みです

分類Dev

SyntaxError:letはFirefoxの予約済み識別子です

分類Dev

OpenCLの予約済みデータ型とは何ですか?

分類Dev

予約済みのJavascript関数を要素化しますか?

Related 関連記事

  1. 1

    TypeScriptでFirebaseの予約済みホスティングURLを使用する

  2. 2

    haskellで特別な(予約済み)文字を使用する方法は?

  3. 3

    Virtualmin-予約済みの電子メール名を使用する方法は?([email protected]

  4. 4

    Xstreamと、予約済みキーワードをXML属性として使用するための回避策。("クラス")

  5. 5

    Cで予約済み識別子の競合する使用を検出することは可能ですか?

  6. 6

    dynamodbクエリで予約済みキーワード「year」を使用する方法

  7. 7

    JIRAクエリで予約済みのJQLキーワードを使用して修正する最良の方法は?

  8. 8

    Powershellで予約済みIPを確認する方法

  9. 9

    「javax」の違法(予約済み)パッケージ名ですか?

  10. 10

    SAS ProcSQLの予約済みフィールド名「user」に関する問題

  11. 11

    JPQLのエンティティ名である予約済みキーワードをエスケープする方法-Hibernate

  12. 12

    hibernate @ Formulaで予約済みテーブル列を使用するにはどうすればよいですか

  13. 13

    予約済みの偽色で灰色の cmap を変更するにはどうすればよいですか?

  14. 14

    MySQL クエリですでに予約済みの顧客を取得する方法は?

  15. 15

    NS_SWIFT_NAMEで予約済みのキーワードを使用できますか?

  16. 16

    Android SQLite JOINクエリで予約済みキーワードを使用する方法は?

  17. 17

    予約済みのキーワードであるテーブルの列名を返しますか?

  18. 18

    Luaの予約済みキーワードをすべて印刷する

  19. 19

    シェルスクリプトの終了ステータスに「予約済み」コードを使用する

  20. 20

    シェルスクリプトの終了ステータスに「予約済み」コードを使用する

  21. 21

    レコードフィールドでHaskellの予約済みキーワードを処理する方法は?

  22. 22

    Access2013フォームで変更をキャプチャする際の予約済みエラー

  23. 23

    JSONで予約済みの正規表現文字を適切にエスケープする方法は?

  24. 24

    ApplicationInsightsで予約済みのEventId

  25. 25

    Azure VM:既存のVMに予約済みIPアドレスを追加する

  26. 26

    私のHDD全体はシステム予約済みです

  27. 27

    SyntaxError:letはFirefoxの予約済み識別子です

  28. 28

    OpenCLの予約済みデータ型とは何ですか?

  29. 29

    予約済みのJavascript関数を要素化しますか?

ホットタグ

アーカイブ