Upgrade to ExtJS 4.0.0 - Released 04/26/2011
[extjs.git] / src / data / XmlStore.js
index 022614b..f03cc73 100644 (file)
@@ -1,75 +1,84 @@
-/*!
- * Ext JS Library 3.1.0
- * Copyright(c) 2006-2009 Ext JS, LLC
- * licensing@extjs.com
- * http://www.extjs.com/license
+/**
+ * @author Ed Spencer
+ * @class Ext.data.XmlStore
+ * @extends Ext.data.Store
+ * @private
+ * @ignore
+ * <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.reader.Xml}.</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>
+&#60?xml version="1.0" encoding="UTF-8"?>
+&#60ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2009-05-15">
+    &#60Items>
+        &#60Request>
+            &#60IsValid>True&#60/IsValid>
+            &#60ItemSearchRequest>
+                &#60Author>Sidney Sheldon&#60/Author>
+                &#60SearchIndex>Books&#60/SearchIndex>
+            &#60/ItemSearchRequest>
+        &#60/Request>
+        &#60TotalResults>203&#60/TotalResults>
+        &#60TotalPages>21&#60/TotalPages>
+        &#60Item>
+            &#60ASIN>0446355453&#60/ASIN>
+            &#60DetailPageURL>
+                http://www.amazon.com/
+            &#60/DetailPageURL>
+            &#60ItemAttributes>
+                &#60Author>Sidney Sheldon&#60/Author>
+                &#60Manufacturer>Warner Books&#60/Manufacturer>
+                &#60ProductGroup>Book&#60/ProductGroup>
+                &#60Title>Master of the Game&#60/Title>
+            &#60/ItemAttributes>
+        &#60/Item>
+    &#60/Items>
+&#60/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.reader.Xml XmlReader}</b>.</p>
+ * @constructor
+ * @param {Object} config
+ * @xtype xmlstore
  */
  */
-/**\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
-&#60?xml version="1.0" encoding="UTF-8"?>\r
-&#60ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2009-05-15">\r
-    &#60Items>\r
-        &#60Request>\r
-            &#60IsValid>True&#60/IsValid>\r
-            &#60ItemSearchRequest>\r
-                &#60Author>Sidney Sheldon&#60/Author>\r
-                &#60SearchIndex>Books&#60/SearchIndex>\r
-            &#60/ItemSearchRequest>\r
-        &#60/Request>\r
-        &#60TotalResults>203&#60/TotalResults>\r
-        &#60TotalPages>21&#60/TotalPages>\r
-        &#60Item>\r
-            &#60ASIN>0446355453&#60/ASIN>\r
-            &#60DetailPageURL>\r
-                http://www.amazon.com/\r
-            &#60/DetailPageURL>\r
-            &#60ItemAttributes>\r
-                &#60Author>Sidney Sheldon&#60/Author>\r
-                &#60Manufacturer>Warner Books&#60/Manufacturer>\r
-                &#60ProductGroup>Book&#60/ProductGroup>\r
-                &#60Title>Master of the Game&#60/Title>\r
-            &#60/ItemAttributes>\r
-        &#60/Item>\r
-    &#60/Items>\r
-&#60/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
-Ext.reg('xmlstore', Ext.data.XmlStore);
\ No newline at end of file
+Ext.define('Ext.data.XmlStore', {
+    extend: 'Ext.data.Store',
+    alternateClassName: 'Ext.data.XmlStore',
+    alias: 'store.xml',
+
+    /**
+     * @cfg {Ext.data.DataReader} reader @hide
+     */
+    constructor: function(config){
+        config = config || {};
+        config = config || {};
+
+        Ext.applyIf(config, {
+            proxy: {
+                type: 'ajax',
+                reader: 'xml',
+                writer: 'xml'
+            }
+        });
+
+        this.callParent([config]);
+    }
+});