XML ネームスペースの例

XML の読込

次のXMLファイルを読み込みます。

<? xml version="1.0" encoding="UTF-8" ?>
<person ID="123" xmlns="http://server/person">
<name>John Doe</name>
<gender>male</gender>
</person>

XML入出力ファイルをオープンした場合、エイリアスとネームスペースURIの間に以下の関係があります。  

エイリアス

URI

コメント

 

http://server/person

デフォルトネームスペース

 

項目更新     項目1     XMLGetAlias(0,1,'http://server/person')

 

XMLGet(0,1, '/person/name','')

"John Doe" が返ります。 

XMLGet(0,1, Trim(var1) &'/:person/name','')

"John Doe" が返ります。

XMLGet(0,1, '/person/'&Trim(var1) &':name','')

"John Doe" が返ります。

XMLGet(0,1, '/:person/name','')

"John Doe" が返ります。

新規XMLの作成

ここでは、XML関数を使用してデフォルトネームスペースを持ったXMLドキュメントを作成する方法を説明します。

<? xml version="1.0" encoding="UTF-8" ?>
<person ID="123" xmlns="http://server/person">
<name>John Doe</name>
<gender>male</gender>
</person>

 

XMLSetNS(0,1, '','http://server/person')

XMLInsert(0,1,'person','','')

XMLInsert(0,1,'person','ID','123')

XMLInsert(0,1,'/person/name','','John Doe')

XMLInsert(0,1,'/person/gender','','male')

 

注意:

person を :person に置き換えても同じ結果になります。

XMLドキュメントの修正

名前を更新するには以下のようにします。(ネームスペースは指定していません。)

XMLModify(0,1,'/person/name','','New name')

 または

項目更新   項目1    XMLGetAlias(0,1,'http://server/person')

XMLModify(0,1,Trim(項目1) & ':person.name','','New name')

エイリアスとネームスペースURIの間の関係を設定する

XMLSetNS(0,1,'al2',' http://server/another_person')

間違ったエイリアスを使用

XMLModify(0,1,'/al2:person/name','','New name')

この関数は失敗し、(-4)「Element not found」というエラーを表示します。

エイリアスがネームスペースURIと関係ない場合

XMLModify(0,1,'/al3:person/name','','New name')

「al3」が、ネームスペースURIと関係ない場合は、この関数は失敗し、(-4)「Namespace alias not defined」というエラーを表示します。