Upgrade to ExtJS 3.1.0 - Released 12/16/2009
[extjs.git] / docs / output / Ext.data.XmlWriter.html
index 0a66a9f..bdfd71e 100644 (file)
@@ -1,9 +1,18 @@
-<div class="body-wrap" xmlns:ext="http://www.extjs.com"><div class="top-tools"><a class="inner-link" href="#Ext.data.XmlWriter-props"><img src="resources/images/default/s.gif" class="item-icon icon-prop">Properties</a>&#13;<a class="inner-link" href="#Ext.data.XmlWriter-methods"><img src="resources/images/default/s.gif" class="item-icon icon-method">Methods</a>&#13;<a class="inner-link" href="#Ext.data.XmlWriter-events"><img src="resources/images/default/s.gif" class="item-icon icon-event">Events</a>&#13;<a class="inner-link" href="#Ext.data.XmlWriter-configs"><img src="resources/images/default/s.gif" class="item-icon icon-config">Config Options</a>&#13;<a class="bookmark" href="../docs/?class=Ext.data.XmlWriter"><img src="resources/images/default/s.gif" class="item-icon icon-fav">Direct Link</a>&#13;</div><div class="inheritance res-block"><pre class="res-block-inner"><a href="output/Ext.data.DataWriter.html" ext:member="" ext:cls="Ext.data.DataWriter">DataWriter</a>&#13;&nbsp;&nbsp;<img src="resources/elbow-end.gif">XmlWriter</pre></div><h1>Class <a href="source/XmlWriter.html#cls-Ext.data.XmlWriter">Ext.data.XmlWriter</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext.data</td></tr><tr><td class="label">Defined In:</td><td class="hd-info">XmlWriter.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/XmlWriter.html#cls-Ext.data.XmlWriter">XmlWriter</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info"><a href="output/Ext.data.DataWriter.html" ext:cls="Ext.data.DataWriter" ext:member="">DataWriter</a></td></tr><tr><td class="hd-info"></td></tr></table><div class="description">DataWriter extension for writing an array or single <a href="output/Ext.data.Record.html" ext:cls="Ext.data.Record">Ext.data.Record</a> object(s) in preparation for executing a remote CRUD action via XML.</div><div class="hr"></div><a id="Ext.data.XmlWriter-configs"></a><h2>Config Options</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Config Options</th><th class="msource-header">Defined By</th></tr><tr class="config-row  inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-createRecord"></a><b><a href="source/DataWriter.html#cfg-Ext.data.DataWriter-createRecord">createRecord</a></b> : Function<div class="mdesc">Abstract method that should be implemented in all subclasses
+<div xmlns:ext="http://www.extjs.com" class="body-wrap"><div class="inheritance res-block"><pre class="res-block-inner"><a href="output/Ext.data.DataWriter.html" ext:member="" ext:cls="Ext.data.DataWriter">DataWriter</a>&#13;&nbsp;&nbsp;<img src="resources/elbow-end.gif">XmlWriter</pre></div><h1>Class <a href="source/XmlWriter.html#cls-Ext.data.XmlWriter">Ext.data.XmlWriter</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext.data</td></tr><tr><td class="label">Defined In:</td><td class="hd-info">XmlWriter.js</td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/XmlWriter.html#cls-Ext.data.XmlWriter">XmlWriter</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info"><a href="output/Ext.data.DataWriter.html" ext:cls="Ext.data.DataWriter" ext:member="">DataWriter</a></td></tr></table><div class="description">DataWriter extension for writing an array or single <a href="output/Ext.data.Record.html" ext:cls="Ext.data.Record">Ext.data.Record</a> object(s) in preparation for executing a remote CRUD action via XML.
+XmlWriter uses an instance of <a href="output/Ext.XTemplate.html" ext:cls="Ext.XTemplate">Ext.XTemplate</a> for maximum flexibility in defining your own custom XML schema if the default schema is not appropriate for your needs.
+See the <a href="output/Ext.data.XmlWriter.html#Ext.data.XmlWriter-tpl" ext:member="tpl" ext:cls="Ext.data.XmlWriter">tpl</a> configuration-property.</div><div class="hr"></div><a id="Ext.data.XmlWriter-configs"></a><h2>Config Options</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Config Options</th><th class="msource-header">Defined By</th></tr><tr class="config-row  inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-createRecord"></a><b><a href="source/DataWriter.html#cfg-Ext.data.DataWriter-createRecord">createRecord</a></b> : Function<div class="mdesc">Abstract method that should be implemented in all subclasses
 (e.g.: <a href="output/Ext.data.JsonWriter.html#Ext.data.JsonWriter-createRecord" ext:member="createRecord" ext:cls="Ext.data.JsonWriter">JsonWriter.createRecord</a>)</div></td><td class="msource"><a href="output/Ext.data.DataWriter.html#createRecord" ext:member="#createRecord" ext:cls="Ext.data.DataWriter">DataWriter</a></td></tr><tr class="config-row  inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-destroyRecord"></a><b><a href="source/DataWriter.html#cfg-Ext.data.DataWriter-destroyRecord">destroyRecord</a></b> : Function<div class="mdesc">Abstract method that should be implemented in all subclasses
-(e.g.: <a href="output/Ext.data.JsonWriter.html#Ext.data.JsonWriter-destroyRecord" ext:member="destroyRecord" ext:cls="Ext.data.JsonWriter">JsonWriter.destroyRecord</a>)</div></td><td class="msource"><a href="output/Ext.data.DataWriter.html#destroyRecord" ext:member="#destroyRecord" ext:cls="Ext.data.DataWriter">DataWriter</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-listful"></a><b><a href="source/DataWriter.html#cfg-Ext.data.DataWriter-listful">listful</a></b> : Boolean<div class="mdesc"><div class="short">false by default.  Set true to have the DataWriter always write HTTP params as a list,\r
+(e.g.: <a href="output/Ext.data.JsonWriter.html#Ext.data.JsonWriter-destroyRecord" ext:member="destroyRecord" ext:cls="Ext.data.JsonWriter">JsonWriter.destroyRecord</a>)</div></td><td class="msource"><a href="output/Ext.data.DataWriter.html#destroyRecord" ext:member="#destroyRecord" ext:cls="Ext.data.DataWriter">DataWriter</a></td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-documentRoot"></a><b><a href="source/XmlWriter.html#cfg-Ext.data.XmlWriter-documentRoot">documentRoot</a></b> : String<div class="mdesc"><div class="short">[xrequest] (Optional) The name of the XML document root-node.  Note:\r
+this parameter is required only when sending ext...</div><div class="long">[xrequest] (Optional) The name of the XML document root-node.  <b>Note:</b>
+this parameter is required </b>only when</b> sending extra <a href="output/Ext.data.Store.html#Ext.data.Store-baseParams" ext:member="baseParams" ext:cls="Ext.data.Store">baseParams</a> to the server
+during a write-request -- if no baseParams are set, the <a href="output/Ext.data.XmlReader.html#Ext.data.XmlReader-record" ext:member="record" ext:cls="Ext.data.XmlReader">Ext.data.XmlReader.record</a> meta-property can
+suffice as the XML document root-node for write-actions involving just a <b>single record</b>.  For requests
+involving <b>multiple</b> records and <b>NO</b> baseParams, the <a href="output/Ext.data.XmlWriter.html#Ext.data.XmlWriter-root" ext:member="root" ext:cls="Ext.data.XmlWriter">Ext.data.XmlWriter.root</a> property can
+act as the XML document root.</div></div></td><td class="msource">XmlWriter</td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-forceDocumentRoot"></a><b><a href="source/XmlWriter.html#cfg-Ext.data.XmlWriter-forceDocumentRoot">forceDocumentRoot</a></b> : Boolean<div class="mdesc"><div class="short">[false] Set to true to force XML documents having a root-node as defined\r
+by documentRoot, even with no baseParams def...</div><div class="long">[false] Set to <tt>true</tt> to force XML documents having a root-node as defined
+by <a href="output/Ext.data.XmlWriter.html#Ext.data.XmlWriter-documentRoot" ext:member="documentRoot" ext:cls="Ext.data.XmlWriter">documentRoot</a>, even with no baseParams defined.</div></div></td><td class="msource">XmlWriter</td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-listful"></a><b><a href="source/DataWriter.html#cfg-Ext.data.DataWriter-listful">listful</a></b> : Boolean<div class="mdesc"><div class="short">false by default.  Set true to have the DataWriter always write HTTP params as a list,\r
 even when acting upon a single...</div><div class="long"><tt>false</tt> by default.  Set <tt>true</tt> to have the DataWriter <b>always</b> write HTTP params as a list,
-even when acting upon a single record.</div></div></td><td class="msource"><a href="output/Ext.data.DataWriter.html#listful" ext:member="#listful" ext:cls="Ext.data.DataWriter">DataWriter</a></td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-root"></a><b><a href="source/XmlWriter.html#cfg-Ext.data.XmlWriter-root">root</a></b> : String<div class="mdesc"><div class="short">[records] The name of the root element when writing multiple records to the server.  Each\r
-xml-record written to the s...</div><div class="long">[records] The name of the root element when writing <b>multiple</b> records to the server.  Each
+even when acting upon a single record.</div></div></td><td class="msource"><a href="output/Ext.data.DataWriter.html#listful" ext:member="#listful" ext:cls="Ext.data.DataWriter">DataWriter</a></td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-root"></a><b><a href="source/XmlWriter.html#cfg-Ext.data.XmlWriter-root">root</a></b> : String<div class="mdesc"><div class="short">[records] The name of the containing element which will contain the nodes of an write-action involving multiple recor...</div><div class="long">[records] The name of the containing element which will contain the nodes of an write-action involving <b>multiple</b> records.  Each
 xml-record written to the server will be wrapped in an element named after <a href="output/Ext.data.XmlReader.html#Ext.data.XmlReader-record" ext:member="record" ext:cls="Ext.data.XmlReader">Ext.data.XmlReader.record</a> property.
 eg:
 <code><pre>
@@ -18,33 +27,72 @@ eg:
         &lt;first>Barney&lt;/first>&lt;/user>
         &lt;records>&lt;first>Barney&lt;/first>&lt;/user>
     &lt;/records></code></pre>
-Defaults to <tt>records</tt></div></div></td><td class="msource">XmlWriter</td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-tpl"></a><b><a href="source/XmlWriter.html#cfg-Ext.data.XmlWriter-tpl">tpl</a></b> : String<div class="mdesc"><div class="short">The xml template.  Defaults to\r
-\r
-&amp;lt;?xml version="{version}" encoding="{encoding}"?&gt;\r
-    &amp;lt;tpl if="{[values.nodes.l...</div><div class="long">The xml template.  Defaults to
+Defaults to <tt>records</tt>.  Do not confuse the nature of this property with that of <a href="output/Ext.data.XmlWriter.html#Ext.data.XmlWriter-documentRoot" ext:member="documentRoot" ext:cls="Ext.data.XmlWriter">documentRoot</a></div></div></td><td class="msource">XmlWriter</td></tr><tr class="config-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-tpl"></a><b><a href="source/XmlWriter.html#cfg-Ext.data.XmlWriter-tpl">tpl</a></b> : String/Ext.XTemplate<div class="mdesc"><div class="short">The XML template used to render write-actions to your server.\r
+One can easily provide his/her own custom template-defi...</div><div class="long">The XML template used to render <a href="output/Ext.data.Api.html#Ext.data.Api-actions" ext:member="actions" ext:cls="Ext.data.Api">write-actions</a> to your server.
+<p>One can easily provide his/her own custom <a href="output/Ext.XTemplate.html#Ext.XTemplate-constructor" ext:member="constructor" ext:cls="Ext.XTemplate">template-definition</a> if the default does not suffice.</p>
+<p>Defaults to:</p>
 <code><pre>
 &lt;?xml version=<em>"{version}"</em> encoding=<em>"{encoding}"</em>?>
-    &lt;tpl <b>if</b>=<em>"{[values.nodes.length>1]}"</em>>&lt;{root}}><em>',
+    &lt;tpl <b>if</b>=<em>"documentRoot"</em>>&lt;{documentRoot}>
+    &lt;tpl <b>for</b>=<em>"baseParams"</em>>
+        &lt;tpl <b>for</b>=<em>"."</em>>
+            &lt;{name}>{value}&lt;/{name}>
+        &lt;/tpl>
+    &lt;/tpl>
+    &lt;tpl <b>if</b>=<em>"records.length &gt; 1"</em>>&lt;{root}><em>',
     &lt;tpl <b>for</b>=<em>"records"</em>>
         &lt;{parent.record}>
-        &lt;tpl <b>for</b>=<em>"fields"</em>>
+        &lt;tpl <b>for</b>=<em>"."</em>>
             &lt;{name}>{value}&lt;/{name}>
         &lt;/tpl>
         &lt;/{parent.record}>
     &lt;/tpl>
-    &lt;tpl <b>if</b>=<em>"{[values.records.length>1]}"</em>>&lt;/{root}}>&lt;/tpl>
-</pre></code></div></div></td><td class="msource">XmlWriter</td></tr><tr class="config-row  inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-updateRecord"></a><b><a href="source/DataWriter.html#cfg-Ext.data.DataWriter-updateRecord">updateRecord</a></b> : Function<div class="mdesc">Abstract method that should be implemented in all subclasses
+    &lt;tpl <b>if</b>=<em>"records.length &gt; 1"</em>>&lt;/{root}>&lt;/tpl>
+    &lt;tpl <b>if</b>=<em>"documentRoot"</em>>&lt;/{documentRoot}>&lt;/tpl>
+</pre></code>
+<p>Templates will be called with the following API</p>
+<ul>
+<li>{String} version [1.0] The xml version.</li>
+<li>{String} encoding [ISO-8859-15] The xml encoding.</li>
+<li>{String/false} documentRoot The XML document root-node name or <tt>false</tt> if not required.  See <a href="output/Ext.data.XmlWriter.html#Ext.data.XmlWriter-documentRoot" ext:member="documentRoot" ext:cls="Ext.data.XmlWriter">documentRoot</a> and <a href="output/Ext.data.XmlWriter.html#Ext.data.XmlWriter-forceDocumentRoot" ext:member="forceDocumentRoot" ext:cls="Ext.data.XmlWriter">forceDocumentRoot</a>.</li>
+<li>{String} record The meta-data parameter defined on your <a href="output/Ext.data.XmlReader.html#Ext.data.XmlReader-record" ext:member="record" ext:cls="Ext.data.XmlReader">Ext.data.XmlReader.record</a> configuration represents the name of the xml-tag containing each record.</li>
+<li>{String} root The meta-data parameter defined by <a href="output/Ext.data.XmlWriter.html#Ext.data.XmlWriter-root" ext:member="root" ext:cls="Ext.data.XmlWriter">Ext.data.XmlWriter.root</a> configuration-parameter.  Represents the name of the xml root-tag when sending <b>multiple</b> records to the server.</li>
+<li>{Array} records The records being sent to the server, ie: the subject of the write-action being performed.  The records parameter will be always be an array, even when only a single record is being acted upon.
+Each item within the records array will contain an array of field objects having the following properties:
+<ul>
+<li>{String} name The field-name of the record as defined by your <a href="output/Ext.data.Record.html#Ext.data.Record-create" ext:member="create" ext:cls="Ext.data.Record">Ext.data.Record definition</a>.  The "mapping" property will be used, otherwise it will match the "name" property.  Use this parameter to define the XML tag-name of the property.</li>
+<li>{Mixed} value The record value of the field enclosed within XML tags specified by name property above.</li>
+</ul></li>
+<li>{Array} baseParams.  The baseParams as defined upon <a href="output/Ext.data.Store.html#Ext.data.Store-baseParams" ext:member="baseParams" ext:cls="Ext.data.Store">Ext.data.Store.baseParams</a>.  Note that the baseParams have been converted into an array of [{name : "foo", value: "bar"}, ...] pairs in the same manner as the <b>records</b> parameter above.  See <a href="output/Ext.data.XmlWriter.html#Ext.data.XmlWriter-documentRoot" ext:member="documentRoot" ext:cls="Ext.data.XmlWriter">documentRoot</a> and <a href="output/Ext.data.XmlWriter.html#Ext.data.XmlWriter-forceDocumentRoot" ext:member="forceDocumentRoot" ext:cls="Ext.data.XmlWriter">forceDocumentRoot</a>.</li>
+</ul></div></div></td><td class="msource">XmlWriter</td></tr><tr class="config-row  inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-updateRecord"></a><b><a href="source/DataWriter.html#cfg-Ext.data.DataWriter-updateRecord">updateRecord</a></b> : Function<div class="mdesc">Abstract method that should be implemented in all subclasses
 (e.g.: <a href="output/Ext.data.JsonWriter.html#Ext.data.JsonWriter-updateRecord" ext:member="updateRecord" ext:cls="Ext.data.JsonWriter">JsonWriter.updateRecord</a></div></td><td class="msource"><a href="output/Ext.data.DataWriter.html#updateRecord" ext:member="#updateRecord" ext:cls="Ext.data.DataWriter">DataWriter</a></td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-writeAllFields"></a><b><a href="source/DataWriter.html#cfg-Ext.data.DataWriter-writeAllFields">writeAllFields</a></b> : Boolean<div class="mdesc"><div class="short">false by default.  Set true to have DataWriter return ALL fields of a modified\r
 record -- not just those that changed....</div><div class="long"><tt>false</tt> by default.  Set <tt>true</tt> to have DataWriter return ALL fields of a modified
 record -- not just those that changed.
 <tt>false</tt> to have DataWriter only request modified fields from a record.</div></div></td><td class="msource"><a href="output/Ext.data.DataWriter.html#writeAllFields" ext:member="#writeAllFields" ext:cls="Ext.data.DataWriter">DataWriter</a></td></tr><tr class="config-row  "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-xmlEncoding"></a><b><a href="source/XmlWriter.html#cfg-Ext.data.XmlWriter-xmlEncoding">xmlEncoding</a></b> : String<div class="mdesc">[ISO-8859-15] The <tt>encoding</tt> written to header of xml documents.
 <code><pre>&lt;?xml version=<em>"1.0"</em> encoding=<em>"ISO-8859-15"</em>?></pre></code></div></td><td class="msource">XmlWriter</td></tr><tr class="config-row  "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-xmlVersion"></a><b><a href="source/XmlWriter.html#cfg-Ext.data.XmlWriter-xmlVersion">xmlVersion</a></b> : String<div class="mdesc">[1.0] The <tt>version</tt> written to header of xml documents.
-<code><pre>&lt;?xml version=<em>"1.0"</em> encoding=<em>"ISO-8859-15"</em>?></pre></code></div></td><td class="msource">XmlWriter</td></tr></tbody></table><a id="Ext.data.XmlWriter-props"></a><h2>Public Properties</h2><div class="no-members">This class has no public properties.</div><a id="Ext.data.XmlWriter-methods"></a><h2>Public Methods</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Method</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-destroyRecord"></a><b><a href="source/XmlWriter.html#method-Ext.data.XmlWriter-destroyRecord">destroyRecord</a></b>(&nbsp;<code>Ext.data.Record&nbsp;rec</code>&nbsp;)\r
+<code><pre>&lt;?xml version=<em>"1.0"</em> encoding=<em>"ISO-8859-15"</em>?></pre></code></div></td><td class="msource">XmlWriter</td></tr></tbody></table><a id="Ext.data.XmlWriter-props"></a><h2>Public Properties</h2><div class="no-members">This class has no public properties.</div><a id="Ext.data.XmlWriter-methods"></a><h2>Public Methods</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Method</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-apply"></a><b><a href="source/DataWriter.html#method-Ext.data.DataWriter-apply">apply</a></b>(&nbsp;<code>Object&nbsp;params</code>,&nbsp;<code>Object&nbsp;baseParams</code>,&nbsp;<code>String&nbsp;action</code>,&nbsp;<code>Record/Record[]&nbsp;rs</code>&nbsp;)\r
+    :\r
+                                        void<div class="mdesc"><div class="short">Compiles a Store recordset into a data-format defined by an extension such as Ext.data.JsonWriter or Ext.data.XmlWrit...</div><div class="long">Compiles a Store recordset into a data-format defined by an extension such as <a href="output/Ext.data.JsonWriter.html" ext:cls="Ext.data.JsonWriter">Ext.data.JsonWriter</a> or <a href="output/Ext.data.XmlWriter.html" ext:cls="Ext.data.XmlWriter">Ext.data.XmlWriter</a> in preparation for a <a href="output/Ext.data.Api.html#Ext.data.Api-actions" ext:member="actions" ext:cls="Ext.data.Api">server-write action</a>.  The first two params are similar similar in nature to <a href="output/Ext.html#Ext-apply" ext:member="apply" ext:cls="Ext">Ext.apply</a>,
+Where the first parameter is the <i>receiver</i> of paramaters and the second, baseParams, <i>the source</i>.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>params</code> : Object<div class="sub-desc">The request-params receiver.</div></li><li><code>baseParams</code> : Object<div class="sub-desc">as defined by <a href="output/Ext.data.Store.html#Ext.data.Store-baseParams" ext:member="baseParams" ext:cls="Ext.data.Store">Ext.data.Store.baseParams</a>.  The baseParms must be encoded by the extending class, eg: <a href="output/Ext.data.JsonWriter.html" ext:cls="Ext.data.JsonWriter">Ext.data.JsonWriter</a>, <a href="output/Ext.data.XmlWriter.html" ext:cls="Ext.data.XmlWriter">Ext.data.XmlWriter</a>.</div></li><li><code>action</code> : String<div class="sub-desc">[<a href="output/Ext.data.Api.html#Ext.data.Api-actions" ext:member="actions" ext:cls="Ext.data.Api">create|update|destroy</a>]</div></li><li><code>rs</code> : Record/Record[]<div class="sub-desc">The recordset to write, the subject(s) of the write action.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.data.DataWriter.html#apply" ext:member="#apply" ext:cls="Ext.data.DataWriter">DataWriter</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-createRecord"></a><b><a href="source/XmlWriter.html#method-Ext.data.XmlWriter-createRecord">createRecord</a></b>(&nbsp;<code>Ext.data.Record&nbsp;rec</code>&nbsp;)\r
+    :\r
+                                        Array<div class="mdesc"><div class="short">createRecord</div><div class="long">createRecord<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>rec</code> : Ext.data.Record<div class="sub-desc"></div></li></ul><strong>Returns:</strong><ul><li><code>Array</code><div class="sub-desc">Array of &lt;tt&gt;name:value&lt;/tt&gt; pairs for attributes of the {@link Ext.data.Record}.  See {@link Ext.data.DataWriter#toHash}.</div></li></ul></div></div></div></td><td class="msource">XmlWriter</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-destroyRecord"></a><b><a href="source/XmlWriter.html#method-Ext.data.XmlWriter-destroyRecord">destroyRecord</a></b>(&nbsp;<code>Ext.data.Record&nbsp;rec</code>&nbsp;)\r
+    :\r
+                                        Array<div class="mdesc"><div class="short">destroyRecord</div><div class="long">destroyRecord<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>rec</code> : Ext.data.Record<div class="sub-desc"></div></li></ul><strong>Returns:</strong><ul><li><code>Array</code><div class="sub-desc">Array containing a attribute-object (name/value pair) representing the {@link Ext.data.DataReader#idProperty idProperty}.</div></li></ul></div></div></div></td><td class="msource">XmlWriter</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-render"></a><b><a href="source/XmlWriter.html#method-Ext.data.XmlWriter-render">render</a></b>(&nbsp;<code>Object&nbsp;params</code>,&nbsp;<code>Object&nbsp;baseParams</code>,&nbsp;<code>Object/Object[]&nbsp;data</code>&nbsp;)\r
+    :\r
+                                        void<div class="mdesc"><div class="short">XmlWriter implementation of the final stage of a write action.</div><div class="long">XmlWriter implementation of the final stage of a write action.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>params</code> : Object<div class="sub-desc">Transport-proxy's (eg: <a href="output/Ext.Ajax.html#Ext.Ajax-request" ext:member="request" ext:cls="Ext.Ajax">Ext.Ajax.request</a>) params-object to write-to.</div></li><li><code>baseParams</code> : Object<div class="sub-desc">as defined by <a href="output/Ext.data.Store.html#Ext.data.Store-baseParams" ext:member="baseParams" ext:cls="Ext.data.Store">Ext.data.Store.baseParams</a>.  The baseParms must be encoded by the extending class, eg: <a href="output/Ext.data.JsonWriter.html" ext:cls="Ext.data.JsonWriter">Ext.data.JsonWriter</a>, <a href="output/Ext.data.XmlWriter.html" ext:cls="Ext.data.XmlWriter">Ext.data.XmlWriter</a>.</div></li><li><code>data</code> : Object/Object[]<div class="sub-desc">Data-object representing the compiled Store-recordset.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">XmlWriter</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-toArray"></a><b><a href="source/DataWriter.html#method-Ext.data.DataWriter-toArray">toArray</a></b>(&nbsp;<code>Hash&nbsp;data</code>&nbsp;)\r
     :\r
-                                        String<div class="mdesc"><div class="short">destroyRecord</div><div class="long">destroyRecord<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>rec</code> : Ext.data.Record<div class="sub-desc"></div></li></ul><strong>Returns:</strong><ul><li><code>String</code><div class="sub-desc">xml element</div></li></ul></div></div></div></td><td class="msource">XmlWriter</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-render"></a><b><a href="source/XmlWriter.html#method-Ext.data.XmlWriter-render">render</a></b>(&nbsp;<code>String&nbsp;action</code>,&nbsp;<code>Ext.data.Record/Ext.data.Record[]&nbsp;rs</code>,&nbsp;<code>Object&nbsp;http</code>,&nbsp;<code>Object/Object[]&nbsp;rendered</code>&nbsp;)\r
+                                        [Object]<div class="mdesc"><div class="short">Converts a Hashed Ext.data.Record to fields-array array suitable\r
+for encoding to xml via XTemplate, eg:\r
+&amp;lt;tpl for="...</div><div class="long">Converts a <a href="output/Ext.data.DataWriter.html#Ext.data.DataWriter-toHash" ext:member="toHash" ext:cls="Ext.data.DataWriter">Hashed</a> <a href="output/Ext.data.Record.html" ext:cls="Ext.data.Record">Ext.data.Record</a> to fields-array array suitable
+for encoding to xml via XTemplate, eg:
+<code><pre>&lt;tpl <b>for</b>=<em>"."</em>>&lt;{name}>{value}&lt;/{name}&lt;/tpl></pre></code>
+eg, <b>non-phantom</b>:
+<code><pre>{id: 1, first: <em>'foo'</em>, last: <em>'bar'</em>} --> [{name: <em>'id'</em>, value: 1}, {name: <em>'first'</em>, value: <em>'foo'</em>}, {name: <em>'last'</em>, value: <em>'bar'</em>}]</pre></code>
+<a href="output/Ext.data.Record.html#Ext.data.Record-phantom" ext:member="phantom" ext:cls="Ext.data.Record">Phantom</a> records will have had their idProperty omitted in <a href="output/Ext.data.DataWriter.html#Ext.data.DataWriter-toHash" ext:member="toHash" ext:cls="Ext.data.DataWriter">toHash</a> if determined to be auto-generated.
+Non AUTOINCREMENT pks should have been protected.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>data</code> : Hash<div class="sub-desc">Hashed by Ext.data.DataWriter#toHash</div></li></ul><strong>Returns:</strong><ul><li><code>[Object]</code><div class="sub-desc">Array of attribute-objects.</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.data.DataWriter.html#toArray" ext:member="#toArray" ext:cls="Ext.data.DataWriter">DataWriter</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-toHash"></a><b><a href="source/DataWriter.html#method-Ext.data.DataWriter-toHash">toHash</a></b>(&nbsp;<code>Ext.data.Record&nbsp;</code>,&nbsp;<code>Object&nbsp;config</code>&nbsp;)\r
     :\r
-                                        void<div class="mdesc"><div class="short">Final action of a write event.  Apply the written data-object to params.</div><div class="long">Final action of a write event.  Apply the written data-object to params.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>action</code> : String<div class="sub-desc">[Ext.data.Api.create|read|update|destroy]</div></li><li><code>rs</code> : Ext.data.Record/Ext.data.Record[]<div class="sub-desc"></div></li><li><code>http</code> : Object<div class="sub-desc">params</div></li><li><code>rendered</code> : Object/Object[]<div class="sub-desc">data.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">XmlWriter</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.DataWriter-write"></a><b><a href="source/DataWriter.html#method-Ext.data.DataWriter-write">write</a></b>(&nbsp;<code>String&nbsp;action</code>,&nbsp;<code>Object&nbsp;params</code>,&nbsp;<code>Record/Record[]&nbsp;rs</code>&nbsp;)\r
+                                        Object<div class="mdesc"><div class="short">Converts a Record to a hash, taking into account the state of the Ext.data.Record along with configuration properties...</div><div class="long">Converts a Record to a hash, taking into account the state of the Ext.data.Record along with configuration properties
+related to its rendering, such as <a href="output/Ext.data.DataWriter.html#Ext.data.DataWriter-writeAllFields" ext:member="writeAllFields" ext:cls="Ext.data.DataWriter">writeAllFields</a>, <a href="output/Ext.data.Record.html#Ext.data.Record-phantom" ext:member="phantom" ext:cls="Ext.data.Record">phantom</a>, <a href="output/Ext.data.Record.html#Ext.data.Record-getChanges" ext:member="getChanges" ext:cls="Ext.data.Record">getChanges</a> and
+<a href="output/Ext.data.DataReader.html#Ext.data.DataReader-idProperty" ext:member="idProperty" ext:cls="Ext.data.DataReader">idProperty</a><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code></code> : Ext.data.Record<div class="sub-desc"></div></li><li><code>config</code> : Object<div class="sub-desc"><b>NOT YET IMPLEMENTED</b>.  Will implement an exlude/only configuration for fine-control over which fields do/don't get rendered.</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.data.DataWriter.html#toHash" ext:member="#toHash" ext:cls="Ext.data.DataWriter">DataWriter</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi">&nbsp;</a></td><td class="sig"><a id="Ext.data.XmlWriter-updateRecord"></a><b><a href="source/XmlWriter.html#method-Ext.data.XmlWriter-updateRecord">updateRecord</a></b>(&nbsp;<code>Ext.data.Record&nbsp;rec</code>&nbsp;)\r
     :\r
-                                        void<div class="mdesc"><div class="short">Writes data in preparation for server-write action.  Simply proxies to DataWriter#update, DataWriter#create\r
-DataWrite...</div><div class="long">Writes data in preparation for server-write action.  Simply proxies to DataWriter#update, DataWriter#create
-DataWriter#destroy.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>action</code> : String<div class="sub-desc">[CREATE|UPDATE|DESTROY]</div></li><li><code>params</code> : Object<div class="sub-desc">The params-hash to write-to</div></li><li><code>rs</code> : Record/Record[]<div class="sub-desc">The recordset write.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.data.DataWriter.html#write" ext:member="#write" ext:cls="Ext.data.DataWriter">DataWriter</a></td></tr></tbody></table><a id="Ext.data.XmlWriter-events"></a><h2>Public Events</h2><div class="no-members">This class has no public events.</div></div>
\ No newline at end of file
+                                        Array<div class="mdesc"><div class="short">updateRecord</div><div class="long">updateRecord<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>rec</code> : Ext.data.Record<div class="sub-desc"></div></li></ul><strong>Returns:</strong><ul><li><code>Array</code><div class="sub-desc">Array of {name:value} pairs for attributes of the {@link Ext.data.Record}.  See {@link Ext.data.DataWriter#toHash}.</div></li></ul></div></div></div></td><td class="msource">XmlWriter</td></tr></tbody></table><a id="Ext.data.XmlWriter-events"></a><h2>Public Events</h2><div class="no-members">This class has no public events.</div></div>
\ No newline at end of file