XMLTRANSFORM  
説明

XSLT (Extensible Stylesheet Language Transformation) を XML に適用します。XML は、文字列形式ドキュメントの場合と XML ドキュメントオブジェクトの場合があります。

 
戻り値

XSLT を XML に適用した結果を含む文字列

 
カテゴリ

変換関数、XML 関数

 
関数のシンタックス
XmlTransform(xml, xsl[, parameters])
 
関連項目

cfxml、XmlFormat、XmlNew、XmlParse、XmlSearch、XmlValidate、『ColdFusion MX 開発ガイド』の第35章の「XML および WDDX の使用」

 
ヒストリ

ColdFusion MX 7: parameters パラメータが追加され、XSL のファイルを使用できるようになりました。

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

 
パラメータ

 
使用方法

XSLT では、Extensible Stylesheet Language (XSL) スタイルシートを適用することにより、XML ドキュメントを別の形式や表現に変換します。XSLT シンタックスを含む XSL は、W3C (World Wide Web Consortium) によって仕様が定められています。XSL および XSLT の詳細については、W3C の Web サイト www.w3.org/Style/XSL/ を参照してください。

インクルードステートメントが相対パスと共に XSLT コードに含まれている場合、ColdFusion は XSLT ファイルの場所に相対してパスを解決します。XSL 文字列の場合は、現在の ColdFusion ページの場所に相対してパスを解決します。

 

次の例では、顧客注文を示す XML ドキュメントを、顧客名および注文品と数量の表を含む HTML ドキュメントに変換します。

顧客注文を示す "custorder.xml" ファイルには、次の行があります。

<?xml version="1.0" encoding="UTF-8"?>
<order id="4323251">
   <customer firstname="Philip" lastname="Cramer" accountNum="21"/>
   <items>
      <item id="43">
         <name>高級大工用ハンマー</name>
         <quantity>1</quantity>
         <unitprice>15.95</unitprice>
      </item>
      <item id="54">
         <name>36 インチのプラスチック製熊手</name>
         <quantity>2</quantity>
         <unitprice>6.95</unitprice>
      </item>
      <item id="68">
         <name>標準の塗料用シンナー</name>
         <quantity>3</quantity>
         <unitprice>8.95</unitprice>
      </item>
   </items>
</order>

XML を HTML に変換して、顧客名および発注された商品と数量を表示する XSLT ファイル "custorder.xsd" には、次の行があります。

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN" />
   <xsl:template match="/">
      <html>
         <body>
            <table border="2" bgcolor="yellow">
               <tr>
                  <th>名前</th>
                  <th>価格</th>
               </tr>
               <xsl:for-each select="breakfast_menu/food">
                  <tr>
                     <td>
                        <xsl:value-of select="name"/>
                     </td>
                     <td>
                        <xsl:value-of select="price"/>
                     </td>
                  </tr>
               </xsl:for-each>
            </table>
         </body>
      </html>
   </xsl:template>
</xsl:stylesheet>

この CFML ファイルには次の行が含まれています。

<cffile action="read" file="C:CFusionMX7wwwrootexamplescustorder.xsl" 
variable="xmltrans">
<cfset xmldoc = XmlParse("C:CFusionMX7wwwrootexamplescustorder.xml")>
<cfoutput>#XmlTransform(xmldoc, xmltrans)#</cfoutput>
XML  
文字列形式または XML ドキュメントまたは XML ドキュメントオブジェクトです。
XSL  
適用する XSLT 変換であり、次のいずれかに相当します。
次のいずれかです。
  • XSL テキストを含む文字列
  • XSTLT ファイルの名前。現在の CFML ページを含むディレクトリで始まる相対パスです。
  • XSLT ファイルの URL。http、https、ftp、ファイルなど、有効なプロトコル識別子です。現在の CFML ページを含むディレクトリで始まる相対パスです。
ケラメータ  
ドキュメントの変換に使用する XSL テンプレートパラメータの名前/値のペアを含む構造 体です。xslString パラメータで定義される XSL 変換では、XML を処理するときにこれ らのパラメータ値を使用します。