%XML は、構文解析する XML 文書、および文書の構文解析方法を制御す るオプションを指定する XML-SAX および XML-INTO 命令コードの第 2 オペランドとして使用します。%XML は値を戻しません。 また、XML-SAX および XML-INTO 命令コード以外の場所に指定できません。
第 1 オペランドは、構文解析する文書を指定します。 このオペランドは、定数あるいは変数文字、または XML 文書あるいは XML 文書を含むファイル名のいずれかを持つ UCS-2 表記の場合があります。
optionname1=value1 optionname2=value2
'doc=file allowextra=yes'
' doc=file allowextra=yes '
'ALLOWEXTRA=YES DOC=FILE '
'AllowExtra=Yes Doc=File '
| オプション・ストリング | オプション・ストリングの問題 |
|---|---|
| 'doc = file' | 等号の周辺のスペースは許可されていません。 |
| 'allowextra' | それぞれのオプションには、等号および値が必要です。 |
| 'badopt=yes' | 有効なオプションのみ許可されています。 |
| 'allowextra=ok' | 「allowextra」値は「yes」または「no」のみです。 |
有効なオプションおよび値は、%XML 組み込み関数の内容によって異なります。 有効なオプションおよび値の完全なリストについては、XML-SAX (XML 文書の構文解析)および XML-INTO (XML 文書の変数への構文解析)を参照してください。
'doc=file doc=string'
の場合、構文解析プログラムは「doc」オプションに値「string」を使用します。構文解析プログラムが無効なオプションまたは無効な値を発見した場合は、操作は状況コード 00352 で失敗します。
// The "options" parameter is omitted. Default values are used for
// all options. Since the default value for the "doc" option is
// always "string", the parser will correctly assume that the first
// parameter contains an XML document.
xmldocument = '<myfld>new value</myfld>';
XML-INTO myfld %XML(xmldocument);
// The "options" parameter is specified as a literal with two options.
XML-INTO myds %XML(xmldocument : 'allowmissing=yes allowextra=yes');
// The "options" parameter is specified as a variable expression
// with two options.
ccsidOpt = 'ccsid=' + %char(ccsid);
XML-SAX %HANDLER(mySaxHandler : myCommArea)
%XML('myinfo.xml' : 'doc=file ' + ccsidOpt);
その他の %XML の例については、XML-SAX (XML 文書の構文解析)および XML-INTO (XML 文書の変数への構文解析)を参照してください。