XSLT (Extensible Stylesheet Language Transformation) を XML に適用します。XML は、文字列形式ドキュメントの場合と XML ドキュメントオブジェクトの場合があります。
XSLT を XML に適用した結果を含む文字列
XmlTransform(xml,xsl[,parameters])
cfxml、XmlFormat、XmlNew、XmlParse、XmlSearch、XmlValidate、『ColdFusion MX 開発ガイド』のXML および WDDX の使用
ColdFusion MX 7: parameters パラメータが追加され、XSL のファイルを使用できるようになりました。
ColdFusion MX: この関数が追加されました。
| パラメータ | 説明 |
|---|---|
|
xml |
文字列形式または XML ドキュメントまたは XML ドキュメントオブジェクトです。 |
|
xsl |
適用する XSLT 変換であり、次のいずれかに相当します。 次のいずれかです。
|
|
パラメータ |
ドキュメントの変換に使用する XSL テンプレートパラメータの名前/値のペアを含む構造体です。 |
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:¥CFusionMX7¥wwwroot¥examples¥custorder.xsl" variable="xmltrans">
<cfset xmldoc = XmlParse("C:¥CFusionMX7¥wwwroot¥examples¥custorder.xml")>
<cfoutput>#XmlTransform(xmldoc, xmltrans)#</cfoutput>
ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX* | ColdFusion 5* | フォーラム* | デベロッパーセンター | サポート情報 | バグ報告
バージョン7