DOM Create XML element

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 11 (Modified)


DOM Create XML element (elementRef; xPath{; attrName; attrValue}{; attrName2; attrValue2; ...; attrNameN; attrValueN}) 文字列

引数説明
elementRef文字列ルートXML要素参照
xPathテキスト作成するXML要素のXPathパス
attrName文字列設定する属性
attrValue文字列 | 値新しい属性値
戻り値文字列作成されたXML要素の参照

説明

DOM Create XML element コマンドは、elementRef で参照されるXML中のxPath 引数で指定された位置に新しい要素を作成し、また必要であれば属性を追加します。

elementRef にはルートの要素参照 (例えばDOM Create XML Ref コマンドで作成された) を渡します。

xPath,には作成する要素のパスをXPath記法で渡します (XML DOM コマンドの概要の節の"XPath記法の利用"を参照)。途中存在しないパス要素があれば作成されます。

xPath 引数に直接単純な項目名を渡すことができます。この場合、カレントの項目のサブ項目が作成されます (例題3参照).

Note: elementRef を使用して設定したツリーに1つ以上の名前空間が定義されている場合 (DOM Create XML Ref コマンド参照)、xPath 引数の前に名前空間を指定しなければなりません (例えば “MyNameSpace:MyElement”)。

オプションのattrNameattrValue引数に必要なだけ、属性/属性値のペアを渡すことができます (変数、フィールド、またはリテラル値で)。

attrValue 引数はテキストあるいは他の型 (ブール、整数、実数、日付または時間) です。テキスト以外の型を渡した場合、4Dは以下の原則に基づきテキストへの変換を行います:

変換された値の例
ブール"true" または "false"
整数"123456"
実数"12.34" (小数点は常に ".")
日付"2006-12-04T00:00:00Z" (RFC 3339 標準)
時間"5233" (秒数)

コマンドは作成された要素のXML参照を返します。

例題

1. 以下の要素を作成したいとします:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
   <Elem1>
      <Elem2>
         <Elem3> </Elem3>
         <Elem3> </Elem3>
      </Elem2>
   </Elem1>
</RootElement>

これを行うには以下のコードを実行します:

   C_STRING(16;vRootRef;vElemRef)
   vRootRef:=DOM Create XML Ref("RootElement") 
   vxPath:="/RootElement/Elem1/Elem2/Elem3"
   vElemRef:=DOM Create XML element(vRootRef;vxPath) 
   vxPath:="/RootElement/Elem1/Elem2/Elem3[2]"
   vElemRef:=DOM Create XML element(vRootRef;vxPath) 

2. 以下の要素を作成したいとします (属性付き):

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<RootElement>
   <Elem1>
      <Elem2>
         <Elem3 Font=Verdana  Size=10> </Elem3>
      </Elem2>
   </Elem1>
</RootElement>

これを行うには以下のコードを実行します:

   C_STRING(16;vRootRef;vElemRef)
   C_STRING(80;$aAttrName1;$aAttrName2;$aAttrVal1;$aAttrVal2)
   $aAttrName1:="Font"
   $aAttrName2:="Size"
   $aAttrVal1:="Verdana"
   $aAttrVal2:="10"

   vRootRef:=DOM Create XML Ref("RootElement") 
   vxPath:="/RootElement/Elem1/Elem2/Elem3"
   vElemRef:=DOM Create XML element(vRootRef;vxPath;$aAttrName1;$aAttrVal1;$aAttrName2;$aAttrVal2)

3. 以下の構造を作成して書き出したいとします:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
   <Elem1>Hello</Elem1>
</Root>

項目名を使用したシンプルなシンタックスを使用する場合、以下のように書きます:

   C_STRING(16;$root)
   C_STRING(16;$ref1)

   $root:=DOM Create XML Ref ("Root")
   $ref1:=DOM Create XML element($root;"Elem1")
   DOM SET XML ELEMENT VALUE($ref1;"Hello")
   DOM EXPORT TO FILE($root;"mydoc.xml")
   DOM CLOSE XML($root)

参照

DOM Get XML element, DOM REMOVE XML ELEMENT.

システム変数またはセット

コマンドが正しく実行されるとOKシステム変数に1が、そうでなければ0が設定され、エラーが生成されます。

エラー処理

エラーは以下の場合に生成されます:

・ルート要素参照が無効の場合。

・作成する要素の名前が無効の場合 (例えば名前が数字で始まる場合)。


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次