IsXmlAttribute

説明

関数パラメータが XML DOM (Document Object Model) 属性ノードであるかどうかを調べます。

戻り値

関数の引数が XML 属性ノードの場合は true、そうでない場合は false。

カテゴリ

決定関数XML 関数

関数のシンタックス

IsXmlAttribute(value)

関連項目

IsXMLIsXmlDocIsXmlElemIsXmlNodeIsXmlRootXmlGetNodeTypeXmlValidate、『ColdFusion MX 開発ガイド』のXML および WDDX の使用

ヒストリ

ColdFusion MX 7: この関数が追加されました。

パラメータ

パラメータ 説明

value

XML 属性の名前です。

使用方法

この関数は、パラメータが XML DOM 属性ノードであるかどうか、つまり ATTRIBUTE の値が XMLType のノードであるかどうかを調べます。XmlSearch 関数が返す値が XML 属性であるかどうかを確認する場合に役立ちます。

DOM および ColdFusion MX は、XML 属性を要素のプロパティとして処理します。DOM ノードとして直接示すことはありません。したがって、ColdFusion XML ドキュメントオブジェクト内の XmlAttributes エントリは、DOM 属性ノードを示さず、次のようなテストでは常に false が返されます。

IsXmlAttribute(myxmlelement.XMlAttributes);
IsXmlAttribute(myxmlelement.XMlAttributes.myattribute);

XmlSearch 関数は、属性を XML DOM 属性ノードとして返します。たとえば次の行は、xmlobject ドキュメントオブジェクト内の quantity 属性を含む属性ノードの配列を返します。

quantities = XmlSearch(xmlobject, '//@quantity');

次の例では、XML ドキュメントを作成して、そのパーツを取得します。次に、それらのパーツが属性ノードであるかどうかをテストします。

<!--- XML ドキュメントオブジェクトを作成 --->
<cfxml variable="xmlobject">
<order id="4323251">
   <customer firstname="Philip" lastname="Cramer" accountNum="21"/>
   <items>
      <item id="43">
         <quantity>1</quantity>
         <unitprice>15.95</unitprice>
      </item>
   </items>
</order>
</cfxml>

<!--- lastname、quantity の DOM 属性ノードをすべて含む配列を取得 
   (この例ではエントリは 1 つのみ) --->
<cfset lastnames = XmlSearch(xmlobject, '//@lastname')>

<!--- オブジェクトをテストして属性かどうかを確認 --->
<cfoutput>
<h3>これらは XML 属性ノードですか?</h3>
<!--- オーダー要素の ID 属性。 
       これは DOM 属性ノードではなく、単純な変数です。--->
node.xmlobject.order.XmlAttributes.id: 
#IsXmlAttribute(xmlobject.order.XmlAttributes.id)#<br> <!--- アイテム要素 ---> xmlobject.order.items:#IsXmlAttribute(xmlobject.order.items)#<br> XmlSearch が返す lastnames[1]:
#isXmlAttribute(lastnames[1])#<br> </cfoutput>

ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告

バージョン7