cfwddx

Serializes and deserializes CFML data structures to the XML-based WDDX format. The WDDX is an XML vocabulary for describing complex data structures in a standard, generic way. Implementing it lets you use the HTTP protocol to such information among application server platforms, application servers, and browsers.

This tag generates JavaScript statements to instantiate JavaScript objects equivalent to the contents of a WDDX packet or CFML data structure. Interoperates with Unicode.

Extensibility tags

<cfwddx 
action = "action"
input = "inputdata"
output = "resultvariablename"
topLevelVariable = "toplevelvariablenameforjavascript"
useTimeZoneInfo = "Yes" or "No"
validate = "Yes" or "No" >

cfcollection, cfdump, cfexecute, cfindex, cfobject, cfreport, cfsearch

ColdFusion MX

Attribute Req/Opt Default Description

action

Required

 

  • cfml2wddx: serialize CFML to WDDX
  • wddx2cfml: deserialize WDDX to CFML
  • cfml2js: serialize CFML to JavaScript
  • wddx2js: deserialize WDDX to JavaScript

input

Required

 

A value to process

output

Required if action = "wddx2cfml"

 

Name of variable for output. If action = "WDDX2JS" or "CFML2JS", and this attribute is omitted, result is output in HTML stream.

topLevelVariable

Required if action = "wddx2js" or "cfml2js"

 

Name of top-level JavaScript object created by deserialization. The object is an instance of the WddxRecordset object.

useTimeZoneInfo

Optional

Yes

Whether to output time-zone information when serializing CFML to WDDX.

  • Yes: the hour-minute offset, represented in ISO8601 format, is output.
  • No: the local time is output.

validate

Optional

No

Applies if action = "wddx2cfml" or "wddx2js".

  • yes: validates WDDX input with an XML parser using WDDX DTD. If parser processes input without error, packet is deserialized. Otherwise, an error is thrown.
  • no: no input validation

ColdFusion preserves the case of column names cases in JavaScript.

The wddx2js and cfml2js actions create a WddxRecordset javascript object when they encounter a RecordSet java object. The serialized JavaScript code requires a wddx.js file.

This tag performs the following conversions:

From To

CFML

WDDX

CFML

JavaScript

WDDX

CFML

WDDX

JavaScript

For more information, and a list of the ColdFusion array and structure functions that you can use to manage XML document objects and functions, see Using XML and WDDX in Developing ColdFusion MX Applications.

<!--- This shows basic use of the cfwddx tag. --->
<html>
<body>
<!--- Create a simple query --->
<cfquery name = "q" dataSource = "cfsnippets">
   select Message_Id, Thread_id, Username from messages
</cfquery>

The recordset data is:...<p>
<cfoutput query = q>
   #Message_ID# #Thread_ID# #Username#<br>
</cfoutput><p>

<!--- Serialize data to WDDX format --->
Serializing CFML data...<p>
<cfwddx action = "cfml2wddx" input = #q# output = "wddxText">

<!--- Display WDDX XML packet --->
Resulting WDDX packet is:
<xmp><cfoutput>#wddxText#</cfoutput></xmp>

<!--- Deserialize to a variable named wddxResult --->
Deserializing WDDX packet...<p>
<cfwddx action = "wddx2cfml" input = #wddxText# output = "qnew">

The recordset data is:...<p>
<cfoutput query = qnew>
   #Message_ID# #Thread_ID# #Username#<br>
</cfoutput><p>

View comments on LiveDocs