/*!
- * Ext JS Library 3.1.1
- * Copyright(c) 2006-2010 Ext JS, LLC
+ * Ext JS Library 3.2.0
+ * Copyright(c) 2006-2010 Ext JS, Inc.
* licensing@extjs.com
* http://www.extjs.com/license
*/
* <li>{Array} baseParams. The baseParams as defined upon {@link Ext.data.Store#baseParams}. 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 {@link #documentRoot} and {@link #forceDocumentRoot}.</li>
* </ul>
*/
- // Break up encoding here in case it's being included by some kind of page that will parse it (eg. PHP)
- tpl: '<tpl for="."><' + '?xml version="{version}" encoding="{encoding}"?' + '><tpl if="documentRoot"><{documentRoot}><tpl for="baseParams"><tpl for="."><{name}>{value}</{name}</tpl></tpl></tpl><tpl if="records.length>1"><{root}></tpl><tpl for="records"><{parent.record}><tpl for="."><{name}>{value}</{name}></tpl></{parent.record}></tpl><tpl if="records.length>1"></{root}></tpl><tpl if="documentRoot"></{documentRoot}></tpl></tpl>',
+ // Encoding the ? here in case it's being included by some kind of page that will parse it (eg. PHP)
+ tpl: '<tpl for="."><\u003fxml version="{version}" encoding="{encoding}"\u003f><tpl if="documentRoot"><{documentRoot}><tpl for="baseParams"><tpl for="."><{name}>{value}</{name}</tpl></tpl></tpl><tpl if="records.length>1"><{root}></tpl><tpl for="records"><{parent.record}><tpl for="."><{name}>{value}</{name}></tpl></{parent.record}></tpl><tpl if="records.length>1"></{root}></tpl><tpl if="documentRoot"></{documentRoot}></tpl></tpl>',
+
/**
* XmlWriter implementation of the final stage of a write action.
return this.toArray(data);
}
});
-
/**
* @class Ext.data.XmlReader
* @extends Ext.data.DataReader
},
/**
- * Decode a json response from server.
+ * Decode an XML response from server.
* @param {String} action [{@link Ext.data.Api#actions} create|read|update|destroy]
* @param {Object} response HTTP Response object from browser.
- * @return {Ext.data.Response} response Returns an instance of {@link Ext.data.Response}
+ * @return {Ext.data.Response} An instance of {@link Ext.data.Response}
*/
readResponse : function(action, response) {
var q = Ext.DomQuery,
}
this.getRoot = function(res) {
return (!Ext.isEmpty(res[this.meta.record])) ? res[this.meta.record] : res[this.meta.root];
- }
+ };
if (s.idPath || s.idProperty) {
var g = this.createAccessor(s.idPath || s.idProperty);
this.getId = function(rec) {
case this.meta.totalProperty:
return function(root, def){
return q.selectNumber(key, root, def);
- }
+ };
break;
case this.meta.successProperty:
return function(root, def) {
var sv = q.selectValue(key, root, true);
var success = sv !== false && sv !== 'false';
return success;
- }
+ };
break;
default:
return function(root, def) {
return q.selectValue(key, root, def);
- }
+ };
break;
}
};
}
return values;
}
-});/**\r
- * @class Ext.data.XmlStore\r
- * @extends Ext.data.Store\r
- * <p>Small helper class to make creating {@link Ext.data.Store}s from XML data easier.\r
- * A XmlStore will be automatically configured with a {@link Ext.data.XmlReader}.</p>\r
- * <p>A store configuration would be something like:<pre><code>\r
-var store = new Ext.data.XmlStore({\r
- // store configs\r
- autoDestroy: true,\r
- storeId: 'myStore',\r
- url: 'sheldon.xml', // automatically configures a HttpProxy\r
- // reader configs\r
- record: 'Item', // records will have an "Item" tag\r
- idPath: 'ASIN',\r
- totalRecords: '@TotalResults'\r
- fields: [\r
- // set up the fields mapping into the xml doc\r
- // The first needs mapping, the others are very basic\r
- {name: 'Author', mapping: 'ItemAttributes > Author'},\r
- 'Title', 'Manufacturer', 'ProductGroup'\r
- ]\r
-});\r
- * </code></pre></p>\r
- * <p>This store is configured to consume a returned object of the form:<pre><code>\r
-<?xml version="1.0" encoding="UTF-8"?>\r
-<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2009-05-15">\r
- <Items>\r
- <Request>\r
- <IsValid>True</IsValid>\r
- <ItemSearchRequest>\r
- <Author>Sidney Sheldon</Author>\r
- <SearchIndex>Books</SearchIndex>\r
- </ItemSearchRequest>\r
- </Request>\r
- <TotalResults>203</TotalResults>\r
- <TotalPages>21</TotalPages>\r
- <Item>\r
- <ASIN>0446355453</ASIN>\r
- <DetailPageURL>\r
- http://www.amazon.com/\r
- </DetailPageURL>\r
- <ItemAttributes>\r
- <Author>Sidney Sheldon</Author>\r
- <Manufacturer>Warner Books</Manufacturer>\r
- <ProductGroup>Book</ProductGroup>\r
- <Title>Master of the Game</Title>\r
- </ItemAttributes>\r
- </Item>\r
- </Items>\r
-</ItemSearchResponse>\r
- * </code></pre>\r
- * An object literal of this form could also be used as the {@link #data} config option.</p>\r
- * <p><b>Note:</b> Although not listed here, this class accepts all of the configuration options of \r
- * <b>{@link Ext.data.XmlReader XmlReader}</b>.</p>\r
- * @constructor\r
- * @param {Object} config\r
- * @xtype xmlstore\r
- */\r
-Ext.data.XmlStore = Ext.extend(Ext.data.Store, {\r
- /**\r
- * @cfg {Ext.data.DataReader} reader @hide\r
- */\r
- constructor: function(config){\r
- Ext.data.XmlStore.superclass.constructor.call(this, Ext.apply(config, {\r
- reader: new Ext.data.XmlReader(config)\r
- }));\r
- }\r
-});\r
+});/**
+ * @class Ext.data.XmlStore
+ * @extends Ext.data.Store
+ * <p>Small helper class to make creating {@link Ext.data.Store}s from XML data easier.
+ * A XmlStore will be automatically configured with a {@link Ext.data.XmlReader}.</p>
+ * <p>A store configuration would be something like:<pre><code>
+var store = new Ext.data.XmlStore({
+ // store configs
+ autoDestroy: true,
+ storeId: 'myStore',
+ url: 'sheldon.xml', // automatically configures a HttpProxy
+ // reader configs
+ record: 'Item', // records will have an "Item" tag
+ idPath: 'ASIN',
+ totalRecords: '@TotalResults'
+ fields: [
+ // set up the fields mapping into the xml doc
+ // The first needs mapping, the others are very basic
+ {name: 'Author', mapping: 'ItemAttributes > Author'},
+ 'Title', 'Manufacturer', 'ProductGroup'
+ ]
+});
+ * </code></pre></p>
+ * <p>This store is configured to consume a returned object of the form:<pre><code>
+<?xml version="1.0" encoding="UTF-8"?>
+<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2009-05-15">
+ <Items>
+ <Request>
+ <IsValid>True</IsValid>
+ <ItemSearchRequest>
+ <Author>Sidney Sheldon</Author>
+ <SearchIndex>Books</SearchIndex>
+ </ItemSearchRequest>
+ </Request>
+ <TotalResults>203</TotalResults>
+ <TotalPages>21</TotalPages>
+ <Item>
+ <ASIN>0446355453</ASIN>
+ <DetailPageURL>
+ http://www.amazon.com/
+ </DetailPageURL>
+ <ItemAttributes>
+ <Author>Sidney Sheldon</Author>
+ <Manufacturer>Warner Books</Manufacturer>
+ <ProductGroup>Book</ProductGroup>
+ <Title>Master of the Game</Title>
+ </ItemAttributes>
+ </Item>
+ </Items>
+</ItemSearchResponse>
+ * </code></pre>
+ * An object literal of this form could also be used as the {@link #data} config option.</p>
+ * <p><b>Note:</b> Although not listed here, this class accepts all of the configuration options of
+ * <b>{@link Ext.data.XmlReader XmlReader}</b>.</p>
+ * @constructor
+ * @param {Object} config
+ * @xtype xmlstore
+ */
+Ext.data.XmlStore = Ext.extend(Ext.data.Store, {
+ /**
+ * @cfg {Ext.data.DataReader} reader @hide
+ */
+ constructor: function(config){
+ Ext.data.XmlStore.superclass.constructor.call(this, Ext.apply(config, {
+ reader: new Ext.data.XmlReader(config)
+ }));
+ }
+});
Ext.reg('xmlstore', Ext.data.XmlStore);
\ No newline at end of file