XML FIND FILE

この文には次のパラメーターがあります。

パラメーター 説明
DirectoryName XML ドキュメント (末尾に .xml 拡張子が付いているファイル) がないかどうかを確認するディレクトリの名前。
FileName 指定したディレクトリで見つかった 1 つの XML ドキュメント (末尾に .xml 拡張子が付いているファイル) の名前。
Extension .aaa という形式のユーザー指定の拡張子。Extension を指定しない場合は、「.xml」という拡張子を持つファイルのみがディレクトリで検索されます。

説明

XML FIND FILE 文は、DirectoryName パラメーターで指定したディレクトリで XML ドキュメント (Extension パラメーターを指定しない場合、.xml 拡張子を持つファイル) を検索します。指定したディレクトリに XML ドキュメントがあった場合は、そのうちの 1 つの名前が FileName パラメーターに返されます。

この文が成功した場合 (条件 XML-IsSuccess が true の場合) は、FileName パラメーターによって指定される XML ドキュメントを XML IMPORT FILE で処理できます。

再び XML FIND FILE を呼び出して次のファイルを処理する前に、XML REMOVE FILE を呼び出して、処理された XML ドキュメントを削除する必要があります。そうしないと、次の XML FIND FILE 文の呼び出しで同じファイルが返される可能性があります。

XML-data-group というデータ項目に状態値が返されます。このデータ項目はコピーブック lixmldef.cpy に定義されています。ディレクトリが空の場合は条件 XML-IsDirectoryEmpty が true になります。

FIND-DOCUMENT.
    PERFORM WITH TEST AFTER UNTIL 0 > 1
        XML FIND FILE
            "MY-DIRECTORY"
            MY-FILE-NAME
        IF XML-IsSuccess
            EXIT PERFORM
        END-IF
        IF XML-IsDirectoryEmpty
            CALL "C$DELAY" USING 0.1
        END-IF
        IF NOT XML-OK GO TO Z.
    END-PERFORM
*> Process found document