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: 入力検証は行われません。