コピーブック
lixmlall.cpy には、XML 文を定義する REPLACE 文が含まれています。COBOL の REPLACE 文は、レキシカルに先行するすべての REPLACE 文をオーバーライドします。したがって、ユーザーのプログラムに REPLACE 文が含まれていると、
lixmlall.cpy ファイルを使用できない可能性があります。
lixmlall.cpy ファイルによってコピーされる
lixmlrpl.cpy コピーブックが XML 拡張に含まれているのはそのためです。
lixmlrpl.cpy ファイルには、XML 文を定義するために必要な REPLACE 文のオペランドが含まれていますが、REPLACE 文そのものは含まれていません。そのため、次のように、ユーザーの REPLACE 文に
lixmlrpl.cpy をコピーして使用することができます。
REPLACE
*> include user's replacements here
COPY "lixmlrpl.cpy". *> define XML statements
. *> end of combined REPLACE statement
COPY "lixmldef.cpy". *> XML data definitions
これにより、lixmlall.cpy ファイルをソース プログラムにコピーする必要がなくなります。
注:ソース プログラムに複数の REPLACE 文がある場合は、XML 文に先行する各 REPLACE 文に
lixmlrpl.cpy ファイルをコピーして、置換用の文が保持されるようにする必要があります。
InstantSQL 製品の
lisqlall.cpy というコピーブックには、SQL 文を定義する REPLACE 文が含まれています。InstantSQL を XML 拡張とともに使用する場合は、
lixmlall.cpy および
lisqlall.cpy のいずれのコピーブックも使用しないでください。代わりに、次の内容を含むコピーブックを (
isqlxml.cpy などの名前を使用して) 作成します。
REPLACE
*> optionally include user's replacements
COPY "lisqlrpl.cpy". *> define SQL statements
COPY "lixmlrpl.cpy". *> define XML statements
. *> end of combined REPLACE statement
COPY "lisqldef.cpy". *> SQL data definitions
COPY "lixmldef.cpy". *> XML data definitions
このコピーブックを lixmlall.cpy および lisqlall.cpy の代わりに使用します。