4D v16.3

DOM SET XML ELEMENT VALUE

ホーム

 
4D v16.3
DOM SET XML ELEMENT VALUE

DOM SET XML ELEMENT VALUE 


 

DOM SET XML ELEMENT VALUE ( elementRef {; xPath}; elementValue {; *} ) 
引数   説明
elementRef  文字 in XML要素参照
xPath  テキスト in XML要素のXPathパス
elementValue  文字, 変数 in 要素の新しい値
演算子 in 指定時: 値をCDATAに設定

説明   

DOM SET XML ELEMENT VALUEコマンドを使用して、elementRefで指定した要素の値を更新できます。

オプションのxPath 引数を渡すと、更新する要素の指定にXPath記法を指定したことになります (この記法に関する詳細は、XML DOMコマンドの概要の “XPath記法の利用” を参照してください)。この場合、elementRef にはルート要素参照を渡し、xPath には変更する要素のXPathを渡します。

elementValueには新しい値を格納した文字列、変数またはフィールドを渡します:

  • 文字列を渡した場合、値はXML構造の中でそのまま使用されます。
  • 変数またはフィールドを渡した場合、4DはelementValueの型に基づき値を処理します。配列やピクチャ、ポインタを除くすべてのデータタイプを使用できます。

オプションのアスタリスクを渡すと、要素の値はCDATAセクションに設定されます。テキストをそのまま挿入するために特別なCDATAの形式が使用されます (例題 2参照)。

注: elementRefで指定された要素がDOM SET XML ELEMENT VALUEコマンドで処理されたBLOBの場合、それは自動でBase64にエンコードされます。この場合DOM GET XML ELEMENT VALUEは自動で逆の処理を行います。

XML処理のルールに準拠するため、行末文字シークエンス(CRとCRLF)は全てLF文字に変換されます。

以下のXMLソースで:

<Book>
   <Title>The Best Seller</Title>
</Book>

vElemRef が“Title”要素への参照を持つときに以下のコードを実行すると:

 DOM SET XML ELEMENT VALUE(vElemRef;"The Loser")

以下のようになります:

<Book>
   <Title>The Loser</Title>
</Book>

以下のXMLソースがあるとき:

 <Maths>
   <Postulate>1+2=3</Postulate>
</Maths>

<Postulate> 要素にテキスト “12<18” を書き込みたいとします。 “<” 文字は受け入れられないため、この文字列をそのままXMLに書き込むことはできません。この文字を “<” に変更するか、CDATAの形式を使用しなければなりません。vElemRefがXML <Postulate> ノードを指すとき:

  ` Normal form
 DOM SET XML ELEMENT VALUE(vElemRef;"12<18")

このコードを実行すると、次のようになります:

 <Maths>
   <Postulate>12 < 18</Postulate>
</Maths>


  ` CDATA form
 DOM SET XML ELEMENT VALUE(vElemRef;"12<18";*)

このコードを実行すると、次のようになります:

<Maths>
   <Postulate><![CDATA[12 < 18]]></Postulate>
</Maths>

コマンドが正しく実行されるとシステム変数OKに1が設定され、そうでなければ0が設定されてエラーが生成されます (例えば要素参照が無効な時など)。



参照 

DOM GET XML ELEMENT VALUE
XML SET OPTIONS

 
プロパティ 

プロダクト: 4D
テーマ: XML DOM
番号: 868

このコマンドはOKシステム変数を更新しますErrorシステム変数が更新されることがあります。This command can be run in preemptive processes

 
履歴 

変更: 4D 2004.4
変更: 4D v11 SQL

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)