--- /dev/null
+<!DOCTYPE html><html><head><title>Sencha Documentation Project</title><link rel="stylesheet" href="../reset.css" type="text/css"><link rel="stylesheet" href="../prettify.css" type="text/css"><link rel="stylesheet" href="../prettify_sa.css" type="text/css"><script type="text/javascript" src="../prettify.js"></script></head><body onload="prettyPrint()"><pre class="prettyprint"><pre><span id='Ext-data.writer.Xml'>/**
+</span> * @author Ed Spencer
+ * @class Ext.data.writer.Xml
+ * @extends Ext.data.writer.Writer
+ *
+ * <p>Writer that outputs model data in XML format</p>
+ */
+Ext.define('Ext.data.writer.Xml', {
+
+ /* Begin Definitions */
+
+ extend: 'Ext.data.writer.Writer',
+ alternateClassName: 'Ext.data.XmlWriter',
+
+ alias: 'writer.xml',
+
+ /* End Definitions */
+
+<span id='Ext-data.writer.Xml-cfg-documentRoot'> /**
+</span> * @cfg {String} documentRoot The name of the root element of the document. Defaults to <tt>'xmlData'</tt>.
+ * If there is more than 1 record and the root is not specified, the default document root will still be used
+ * to ensure a valid XML document is created.
+ */
+ documentRoot: 'xmlData',
+
+<span id='Ext-data.writer.Xml-cfg-defaultDocumentRoot'> /**
+</span> * @cfg {String} defaultDocumentRoot The root to be used if {@link #documentRoot} is empty and a root is required
+ * to form a valid XML document.
+ */
+ defaultDocumentRoot: 'xmlData',
+
+<span id='Ext-data.writer.Xml-cfg-header'> /**
+</span> * @cfg {String} header A header to use in the XML document (such as setting the encoding or version).
+ * Defaults to <tt>''</tt>.
+ */
+ header: '',
+
+<span id='Ext-data.writer.Xml-cfg-record'> /**
+</span> * @cfg {String} record The name of the node to use for each record. Defaults to <tt>'record'</tt>.
+ */
+ record: 'record',
+
+ //inherit docs
+ writeRecords: function(request, data) {
+ var me = this,
+ xml = [],
+ i = 0,
+ len = data.length,
+ root = me.documentRoot,
+ record = me.record,
+ needsRoot = data.length !== 1,
+ item,
+ key;
+
+ // may not exist
+ xml.push(me.header || '');
+
+ if (!root && needsRoot) {
+ root = me.defaultDocumentRoot;
+ }
+
+ if (root) {
+ xml.push('<', root, '>');
+ }
+
+ for (; i < len; ++i) {
+ item = data[i];
+ xml.push('<', record, '>');
+ for (key in item) {
+ if (item.hasOwnProperty(key)) {
+ xml.push('<', key, '>', item[key], '</', key, '>');
+ }
+ }
+ xml.push('</', record, '>');
+ }
+
+ if (root) {
+ xml.push('</', root, '>');
+ }
+
+ request.xmlData = xml.join('');
+ return request;
+ }
+});
+</pre></pre></body></html>
\ No newline at end of file