| 4D v20.1DOM Parse XML variable | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v20.1
 DOM Parse XML variable 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| DOM Parse XML variable ( variable {; validation {; dtd | schema}} ) -> 戻り値 | ||||||||
| 引数 | 型 | 説明 | ||||||
| variable | BLOB, テキスト |   | 変数名 | |||||
| validation | ブール |   | True = DTDによる検証を行う False = 検証なし | |||||
| dtd | schema | 文字 |   | DTDまたはXMLスキーマの場所 | |||||
| 戻り値 | 文字 |   | XML要素参照 | |||||
DOM Parse XML variableコマンドはXML構造を格納するBLOBまたはテキスト型変数を解析し、XML構造への参照を返します。コマンドはDTDやXMLスキーマ (XML Schema Definition (XSD) ドキュメント) を使用してドキュメントの検証を行うこともできます。
variable 引数にはXMLオブジェクトを含むBLOBまたはテキスト変数の名前を渡します。
ブール引数 validation はDTDを使用して構造の検証を行うか行わないかを指定します。
validationにTrueを渡し、三番目の引数を省略すると、コマンドはXMLストラクチャ中に含まれるDTDまたはXSD参照を使用して、XMLストラクチャを検証しようとします。間接検証も可能です。XMLストラクチャにDTDへの参照が含まれていて、さらにそこにXSDファイルへの参照が含まれる場合、コマンドは両方の検証を試みます。
3番目の引数はドキュメントの解析に使用するDTDやXMLスキーマを指定するために使用します。この引数を使用すると、コマンドはXML変数内で参照されるDTDを考慮に入れません。
DTDによる検証
DTDを指定する方法は2つあります:
DTDやXSDが存在しなかったり、URLが正しくない場合など検証が行えない場合、エラーが生成されます。Errorシステム変数はエラー番号を示します。ON ERR CALLコマンドを使用してインストールされるエラー処理メソッドを使用して、このエラーをとらえることができます。
このコマンドは、メモリ中に展開されたドキュメントの仮想構造への参照を表す文字列 (ElementRef) を返します。この参照を他のXML解析コマンドで使用できます。
重要: 参照の利用が終了したら、DOM CLOSE XMLコマンドを使用してこの参照が使用しているメモリを解放することを忘れないでください。
検証なしで、4Dテキスト変数に格納されたXMLを開きます:
 C_TEXT(myTextVar)
 C_TIME(vDoc)
 C_TEXT($xml_Struct_Ref)
 
 vDoc:=Open document("Document.xml")
 If(OK=1)
    RECEIVE PACKET(vDoc;myTextVar;32000)
    CLOSE DOCUMENT(vDoc)
    $xml_Struct_Ref:=DOM Parse XML variable(myTextVar)
 End if 検証なしで、4D BLOBに格納されたXMLを開きます: 
 C_BLOB(myBlobVar)
 C_TEXT($ref_XML_Struct)
 
 DOCUMENT TO BLOB(c\\import.xml;myBlobVar)
 $xml_Struct_Ref:=DOM Parse XML variable(myBlobVar)コマンドが正しく実行されるとシステム変数OKに1が設定され、エラーが発生すると0が設定されます。
	プロダクト: 4D
	テーマ: XML DOM
	番号: 
        720
        
        
        
	
	変更: 4D 2004
	変更: 4D v11 SQL  
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v20)
	
	
	ランゲージリファレンス ( 4D v20.1)
	
	
	
 コメントを追加
コメントを追加