123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>The source code</title>
- <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
- <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
- <style type="text/css">
- .highlight { display: block; background-color: #ddd; }
- </style>
- <script type="text/javascript">
- function highlight() {
- document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
- }
- </script>
- </head>
- <body onload="prettyPrint(); highlight();">
- <pre class="prettyprint lang-js"><span id='Ext-data-writer-Xml'>/**
- </span> * @author Ed Spencer
- * @class Ext.data.writer.Xml
- This class is used to write {@link Ext.data.Model} data to the server in an XML format.
- The {@link #documentRoot} property is used to specify the root element in the XML document.
- The {@link #record} option is used to specify the element name for each record that will make
- up the XML document.
- * @markdown
- */
- 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>
- </body>
- </html>
|