CFWDDX |
説明 CFML データ構造体の、XML ベースの WDDX 形式へのシリアル化およびシリアル化解除を行います。WDDX とは、標準の汎用的な方法で複雑なデータ構造体を記述するための XML の言語の一部です。WDDX を実装すると、アプリケーションサーバープラットフォーム、アプリケーションサーバー、およびブラウザなどの情報に対して HTTP プロトコルを使用できるようになります。 このタグでは、JavaScript ステートメントを生成して、WDDX パケットや CFML データ構造体の内容に相当する JavaScript オブジェクトのインスタンスを作成します。これには Unicode が使用されます。
カテゴリ 拡張タグ
シンタックス
    <cfwddx
       action = "action"
       input = "inputdata"
       output = "result variable name"
       topLevelVariable = "top-level variable name for JavaScript"
       useTimeZoneInfo = "yes"、"no"
       validate = "yes"、"no" >
関連項目 cfcollection、cfdump、cfexecute、cfindex、cfobject、cfreport、cfsearch、ToScript、『ColdFusion MX 開発ガイド』の第35章の「XML および WDDX の使用」
ヒストリ ColdFusion MX 列名の大文字と小文字の区別の動作が変更されました。列名の大文字と小文字の区別が JavaScript 内で保持されます。以前のリリースでは、クエリー列の名前は小文字に変換されていました。 エンコーディング形式のサポートが変更されました。このタグでは、複数のエンコード形式がサポートされます。デフォルトのエンコード形式は、UTF-8 です。このタグには、Unicode が使用されます。
使用方法 列名の大文字と小文字の区別は JavaScript 内で保持されます。 RecordSet java オブジェクトが検出されると、wddx2js および cfml2js アクションによって、WddxRecordset javascript オブジェクトが作成されます。シリアル化された JavaScript コードには、ﾓwddx.jsﾓ ファイルが必要です。 このタグで実行できる変換は、次のとおりです。
変換前 | 変換後
--- | ---
CFML | WDDX
CFML | JavaScript
WDDX | CFML
WDDX | JavaScript
詳細、および XML ドキュメントオブジェクトと関数の管理に使用できる ColdFusion の配列関数と構造体関数のリストについては、『ColdFusion MX 開発ガイド』の第35章の「XML および WDDX の使用」 を参照してください。
メモ: | CFC またはユーザー定義関数 (UDF) をシリアル化しようとすると、cfwddx タグで例外が発生します。
例
    <!--- この例では、cfwddx タグの基本的な使用方法を示します。 --->
    <html>
    <body>
    <!--- 簡単なクエリーを作成します。 --->
    <cfquery name = "q" dataSource = "cfdocexamples">
       select Message_Id, Thread_id, Username from messages
    </cfquery>

    レコードセットデータ: ...<p>
    <cfoutput query = q>
       #Message_ID# #Thread_ID# #Username#<br>
    </cfoutput><p>

    <!--- データをシリアル化して WDDX 形式にします。 --->
    CFML データのシリアル化...<p>
    <cfwddx action = "cfml2wddx" input = #q# output = "wddxText">

    <!--- WDDX XML パケットを表示します。 --->
    最終的な WDDX パケット:
    <xmp><cfoutput>#wddxText#</cfoutput></xmp>

    <!--- シリアル化を解除して、wddxResult という名前の変数に返します。 --->
    WDDX パケットのシリアル化の解除...<p>
    <cfwddx action = "wddx2cfml" input = #wddxText# output = "qnew">

    レコードセットデータ: ...<p>
    <cfoutput query = qnew>
       #Message_ID# #Thread_ID# #Username#<br>
    </cfoutput><p>

ACTION |
| 必須
cfml2wddx: CFML をシリアル化して WDDX にします。 wddx2cfml: WDDX のシリアル化を解除して、CFML にします。 cfml2js: CFML をシリアル化して JavaScript にします。 wddx2js: WDDX のシリアル化を解除して、JavaScript にします。

INPUT |
| 必須
処理する値です。

OUTPUT |
| action = "wddx2cfml" の場合は必須
出力する変数の名前です。action = "WDDX2JS" または "CFML2JS" の場合、この属性を省略すると、結果は HTML ストリーム内に出力されます。

TOPLEVELVARIABLE |
| action = "wddx2js" または "cfml2js" の場合は必須
シリアル化解除で作成したトップレベルの JavaScript オブジェクトの名前です。このオブジェクトは、WddxRecordset オブジェクトのインスタンスです。

USETIMEZONEINFO |
| オプション
Default value: "Yes" CFML を WDDX にシリアル化する場合に、タイムゾーン情報を出力するかどうかを示します。 Yes: 時 - 分オフセットが ISO8601 形式で出力されます。 No: ローカルな時刻が出力されます。

VALIDATE |
| オプション
Default value: "No" action = "wddx2cfml" または "wddx2js" の場合に適用されます。 yes: WDDX DTD を使用して、WDDX 入力を XML パーサで検証します。パーサでエラーが発生することなく入力が処理されると、パケットのシリアル化は解除されます。そうでない場合は、エラーが発生します。 no: 入力検証は行われません。