READ
READコマンドは、XMLドキュメントを解析してロードする場合に使用されます。
READコマンドが実行されると、以下のステップが行われます。
1. サービスは、(XMLドキュメントの)受信したバイト内容からUnicode内容への変換に適用されるエンコーディングを決定します。省略値のアクションでは、XMLソースのエンコーディングを自動検出します。自動検出では、<?xml version="1.0" encoding="UTF-8"?>などのXML宣言エンコーディングからエンコーディングを決定します。
2. サービスは、Unicode内容からUTF-8バイト内容に変換し、内容をドキュメント・オブジェクトに解析します。
3. サービスは、Unicodeデータを保管する必要があるかどうかを判断します。
必須
READ ------------ FILE ------------ファイル・パス------------------>
任意
>-- ENCODING --------値---------------------->
>-- ARCHIVE ---------値----------------------|
キーワード
FILE |
このキーワードは、XMLドキュメントのファイル名とパスを指定する場合に使用されます。 パスの区切り文字にはフォワード・スラッシュを使用し、DOSドライブ指定子を使用しないことをお勧めします。 パスの形式は以下のようにします。 Windowsの場合、以下のように指定できます。 · 絶対パス · 相対パス IBM i の場合、以下のように指定できます。 · 絶対パス · 相対パス 注:どのようなディレクトリ構造を指定する場合でも、すでに存在していなければなりません。 このキーワードは必須です。 |
ENCODING |
このキーワードの詳細については、「ENCODING」を参照してください。 XMLBindFileServiceの省略値は*AUTODETECTです。 このキーワードは任意です。 |
ARCHIVE |
このキーワードの詳細については、「ARCHIVE」を参照してください。 このキーワードは任意です。 |
コメント/警告
ARCHIVEキーワードは、XMLドキュメントの処理後にそのドキュメントを保管する場合に特に役立ちます。
例
RDML
* Define the fields used by the JSM Commands
DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(020)
DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)
DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(256)
CHANGE FIELD(#JSMCMD) TO('READ FILE(orders/order.xml) ARCHIVE(archive/arc_order.xml)')
USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG)
RDMLX
* Define the fields used by the JSM Commands
Define FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(020)
Define FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)
Define FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(256)
Define FIELD(#JSMHND) TYPE(*CHAR) LENGTH(4)
#JSMCMD := 'READ FILE(orders/order.xml) ARCHIVE(archive/arc_order.xml)'
Use BUILTIN(JSMX_COMMAND) WITH_ARGS(#JSMHND #JSMCMD) TO_GET(#JSMSTS #JSMMSG)