X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/2e847cf21b8ab9d15fa167b315ca5b2fa92638fc..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/docs/source/Xml2.html diff --git a/docs/source/Xml2.html b/docs/source/Xml2.html new file mode 100644 index 00000000..8bb4983f --- /dev/null +++ b/docs/source/Xml2.html @@ -0,0 +1,85 @@ +
\ No newline at end of file/** + * @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 */ + + /** + * @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', + + /** + * @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', + + /** + * @cfg {String} header A header to use in the XML document (such as setting the encoding or version). + * Defaults to <tt>''</tt>. + */ + header: '', + + /** + * @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; + } +}); +