WRITEコマンドはXMLコンポーネントを作成して書き出す場合に使用されます。
OBJECTキーワードは、作成するXMLコンポーネントのタイプを指定します。
必須
WRITE ---- OBJECT ---------- *DOCUMENTSTART ------------------->
*DOCTYPE
*COMMENT
*INSTRUCTION
*NAMESPACE
*ELEMENTSTART
*TEXT
*CDATA
*ELEMENTEMD
*DOCUMENTEND
任意
>-- NAME ------------修飾名------------------------------>
>-- PREFIX ----------接頭辞------------------------------>
>-- NAMESPACE -------ネームスペース---------------------->
>-- TEXT ------------テキスト---------------------------->
>-- TARGET ----------ターゲット-------------------------->
>-- DATA ------------データ------------------------------|
キーワード
OBJECT |
必須キーワードは、作成するXMLエレメントのタイプを指定します。 OBJECTキーワードに可能な値は以下のとおりです。
|
NAME |
このキーワードは、修飾XMLエレメント名を指定します。 このキーワードは、以下のOBJECTタイプの場合に使用されます。
修飾エレメント名を文字列で表現する表記法では、ネームスペースURIを中括弧で囲み、このネームスペースをエレメント名の前に付けます。 例:{http://www.cars.com/xml}part エレメントの属性を作成するには、WRITE OBJECT(*ELEMENTSTART)コマンドの引数として、修飾された属性の名前と値が含まれる2つのフィールドの作業リストを使用します。 |
PREFIX |
このキーワードはXML接頭辞を指定し、OBJECTタイプが*NAMESPACEの場合のみ使用されます。 |
NAMESPACE |
このキーワードはXMLネームスペースを指定し、OBJECTタイプが*NAMESPACEの場合のみ使用されます。 |
TEXT |
キーワードはテキスト値を指定します。 このキーワードは、以下のOBJECTタイプの場合に使用されます。
|
TARGET |
このキーワードは処理命令のターゲットを指定し、OBJECTタイプが*INSTRUCTIONの場合のみ使用されます。 |
DATA |
このキーワードは処理命令のデータを指定し、OBJECTタイプが*INSTRUCTIONの場合のみ使用されます。 |
例
OPEN FILE ( order.xml )
WRITE OBJECT ( *DOCUMENTSTART )
WRITE OBJECT ( *DOCTYPE ) TEXT ( <!DOCTYPE Orders SYSTEM "order.dtd"> )
WRITE OBJECT ( *COMMENT ) TEXT ( Some comment text )
WRITE OBJECT ( *INSTRUCTION ) TARGET ( action ) DATA ( reply )
SET OBJECT ( *PREFIX ) PREFIX ( abc ) NAMESPACE ( http://salesorder.com )
SET OBJECT ( *DEFAULTNS ) NAMESPACE ( http://parts.com )
WRITE OBJECT ( *ELEMENTSTART ) NAME ( {http://acme.com}Orders ) #WRKLST - attribute list
WRITE OBJECT ( *TEXT ) TEXT ( Some text )
WRITE OBJECT ( *ELEMENTEND )
WRITE OBJECT ( *ELEMENTEMPTY ) NAME ( {http://acmme.com}SalesOrder )
WRITE OBJECT ( *ELEMENTSTART ) NAME ( {http://acme.com}Address )
WRITE OBJECT ( *CDATA ) TEXT ( Some text )
WRITE OBJECT ( *NAMESPACE ) PREFIX ( def ) NAMESPACE ( http://acme2.com )
WRITE OBJECT ( *ELEMENTEND )
WRITE OBJECT ( *DOCUMENTEND )
CLOSE
例
RDML
USE BUILTIN(JSM_COMMAND) WITH_ARGS('WRITE OBJECT(*DOCUMENTSTART)') TO_GET(#JSMSTS #JSMMSG #WRKLST)
RDMLX
use builtin(jsmx_command) with_args(#jsmxhdle1 'write object(*documentstart)') to_get(#jsmxsts #jsmxmsg #wrklst)
ILE RPG
c eval jsmcmd = 'write object(*documentstart)'
c callp p_jsmcmd(jsmcmd:jsmsts:jsmmsg)