~ubuntu-branches/ubuntu/raring/maas/raring-updates

« back to all changes in this revision

Viewing changes to src/maasserver/static/jslibs/yui/3.4.1/docs/dataschema/dataschema-xml.html

  • Committer: Package Import Robot
  • Author(s): Andres Rodriguez
  • Date: 2012-07-03 17:42:37 UTC
  • mfrom: (1.1.13)
  • Revision ID: package-import@ubuntu.com-20120703174237-p8l0keuuznfg721k
Tags: 0.1+bzr709+dfsg-0ubuntu1
* New Upstream release
* debian/control:
  - Depends on python-celery, python-tempita, libjs-yui3-{full,min},
    libjs-raphael
* debian/maas.install:
  - Install apiclient, celeryconfig.py, maas-import-pxe-files, preseeds_v2.
  - Update to install various files from chroot, rather tha manually copy
    them from the source.
* debian/maas.links: symlink celeryconfig.py
* debian/maas.maas-celery.upstart: Add job.
* debian/rules:
  - Install celery upstart job.
  - Do not install jslibs as packages are now used.
  - Drop copying of maas_local_settings_sample.py as source now ships
    a maas_local_settings.py
* debian/patches:
  - 04-maas-http-fix.patch: Drop. Merged upstream.
  - 01-fix-database-settings.patch: Refreshed.
  - 99_enums_js.patch: Added until creation of enum.js / build process
    is fixed.
* debian/maas.postinst: Update bzr version to correctly handle upgrades.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE html>
2
 
<html lang="en">
3
 
<head>
4
 
    <meta charset="utf-8">
5
 
    <title>Example: DataSchema.XML for XML Data</title>
6
 
    <link rel="stylesheet" href="http://yui.yahooapis.com/3.4.0pr3/build/cssgrids/grids-min.css">
7
 
    <link rel="stylesheet" href="../assets/css/main.css">
8
 
    <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
9
 
    <script src="../../build/yui/yui-min.js"></script>
10
 
</head>
11
 
<body>
12
 
 
13
 
<div id="doc">
14
 
    <h1>Example: DataSchema.XML for XML Data</h1>
15
 
 
16
 
    
17
 
 
18
 
    <div class="yui3-g">
19
 
        <div id="main" class="yui3-u">
20
 
            <div class="content"><div class="intro">
21
 
    <p>DataSchema.XML normalizes arbitrary XML data against a given schema into an object with known properties.</p>
22
 
 
23
 
    <p><strong>Note:</strong> XML parsing currently has known issues on the Android WebKit browser.</p>
24
 
</div>
25
 
 
26
 
<div class="example yui3-skin-sam">
27
 
    <style scoped>
28
 
/* custom styles for this example */
29
 
#demo .output {margin-bottom:1em; padding:10px; border:1px solid #D9D9D9;}
30
 
</style>
31
 
 
32
 
<form id="demo">
33
 
    <h4>Basic example</h4>
34
 
    <h6>Data</h6>
35
 
    <pre>
36
 
&lt;root&gt;
37
 
    &lt;session&gt;34637542&lt;/session&gt;
38
 
    &lt;category name="music" id="5"&gt;&lt;results&gt;
39
 
        &lt;song id="59672468"&gt;
40
 
            &lt;title&gt;I Kissed A Girl&lt;/title&gt;
41
 
            &lt;rank&gt;1&lt;/rank&gt;
42
 
            &lt;artist id="30326214"&gt;Katy Perry&lt;/artist&gt;
43
 
        &lt;/song&gt;
44
 
        &lt;song id="47973564"&gt;
45
 
            &lt;title&gt;Shake It&lt;/title&gt;
46
 
            &lt;rank&gt;2&lt;/rank&gt;
47
 
            &lt;artist id="45575683"&gt;Metro Station&lt;/artist&gt;
48
 
        &lt;/song&gt;
49
 
        &lt;song id="52207363"&gt;
50
 
            &lt;title&gt;Bleeding Love&lt;/title&gt;
51
 
            &lt;rank&gt;3&lt;/rank&gt;
52
 
            &lt;artist id="37956508"&gt;Leona Lewis&lt;/artist&gt;
53
 
        &lt;/song&gt;
54
 
    &lt;/results&gt;&lt;/category&gt;
55
 
&lt;/root&gt;
56
 
    </pre>
57
 
    
58
 
    <h6>Schema</h6>
59
 
    <pre>
60
 
{
61
 
    resultListLocator: "song",
62
 
    resultFields: [{key:"title"}, {key:"artist"}, {key:"rank"}]
63
 
}
64
 
    </pre>
65
 
 
66
 
    <h6>Normalized data</h6>
67
 
    <input type="button" id="demo_apply_basic" value="Apply schema =>">
68
 
    <div id="demo_output_basic" class="output"></div>
69
 
 
70
 
    <h4>Complex example</h4>
71
 
    <h6>Data</h6>
72
 
    <pre>
73
 
&lt;Response&gt;
74
 
    &lt;Session&gt;542235629&lt;/Session&gt;
75
 
    &lt;Tracks  start="1" count="10" total="98" errorCount="0"
76
 
        defaultSort="popularity+" description="Top 100 Tracks"
77
 
        name="Top 100 Tracks"&gt;
78
 
        &lt;Track id="59672468" rating="-1" title="I Kissed A Girl"&gt;
79
 
            &lt;Artist id="30326214" rating="-1"&gt;Katy Perry&lt;/Artist&gt;
80
 
            &lt;ItemInfo&gt;&lt;ChartPosition last="26" this="1"/&gt;&lt;/ItemInfo&gt;
81
 
        &lt;/Track&gt;
82
 
        &lt;Track id="47973564" rating="-1" title="Shake It"&gt;
83
 
            &lt;Artist id="45575683" rating="-1"&gt;Metro Station&lt;/Artist&gt;
84
 
            &lt;ItemInfo&gt;&lt;ChartPosition last="27" this="2"/&gt;&lt;/ItemInfo&gt;
85
 
        &lt;/Track&gt;
86
 
        &lt;Track id="52207363" rating="-1" title="Bleeding Love"&gt;
87
 
            &lt;Artist id="37956508" rating="-1"&gt;Leona Lewis&lt;/Artist&gt;
88
 
            &lt;ItemInfo&gt;&lt;ChartPosition last="28" this="3"/&gt;&lt;/ItemInfo&gt;
89
 
        &lt;/Track&gt;
90
 
    &lt;/Tracks&gt;
91
 
&lt;/Response&gt;
92
 
        </pre>
93
 
 
94
 
    <h6>Schema</h6>
95
 
    <pre>
96
 
{
97
 
    metaFields: {session:"//Session", total:"//Tracks/@total"},
98
 
    resultListLocator: "//Track",
99
 
    resultFields: [{key:"song", locator:"@title"},
100
 
        {key:"artist", locator:"Artist"},
101
 
        {key:"rank", locator:"ItemInfo/ChartPosition/@this"}]
102
 
}
103
 
    </pre>
104
 
 
105
 
    <h6>Normalized data</h6>
106
 
    <input type="button" id="demo_apply_complex" value="Apply schema =>">
107
 
    <div id="demo_output_complex" class="output"></div>
108
 
 
109
 
    <h4>Nested example</h4>
110
 
    <h6>Data</h6>
111
 
    <pre>
112
 
&lt;desserts&gt;
113
 
    &lt;dessert type="treat"&gt;
114
 
        &lt;name&gt;cupcake&lt;/name&gt;
115
 
        &lt;flavors&gt;
116
 
            &lt;flavor name="chocolate"/&gt;
117
 
            &lt;flavor name="red velvet"/&gt;
118
 
        &lt;/flavors&gt;
119
 
    &lt;/dessert&gt;
120
 
    &lt;dessert type="treat"&gt;
121
 
        &lt;name&gt;ice cream&lt;/name&gt;
122
 
        &lt;flavors&gt;
123
 
            &lt;flavor name="chocolate"/&gt;
124
 
            &lt;flavor name="strawberry"/&gt;
125
 
            &lt;flavor name="vanilla"/&gt;
126
 
        &lt;/flavors&gt;
127
 
    &lt;/dessert&gt;
128
 
    &lt;dessert type="treat"&gt;
129
 
        &lt;name&gt;pie&lt;/name&gt;
130
 
        &lt;flavors&gt;
131
 
            &lt;flavor name="banana cream"/&gt;
132
 
            &lt;flavor name="blueberry"/&gt;
133
 
            &lt;flavor name="cherry"/&gt;
134
 
        &lt;/flavors&gt;
135
 
    &lt;/dessert&gt;
136
 
    &lt;dessert type="beverage"&gt;
137
 
        &lt;name&gt;hot chocolate&lt;/name>&gt;
138
 
    &lt;/dessert&gt;
139
 
    &lt;dessert type="beverage"&gt;
140
 
        &lt;name&gt;port wine&lt;/name&gt;
141
 
    &lt;/dessert&gt;
142
 
&lt;/desserts&gt;
143
 
</pre>
144
 
 
145
 
    <h6>Schema</h6>
146
 
    <pre>
147
 
{
148
 
    resultListLocator: "dessert",
149
 
    resultFields: [
150
 
        {key:"type", locator:"@type"},
151
 
        {key:"name", locator:"name"},
152
 
        {key:"flavors", schema: {
153
 
            resultListLocator: "flavor",
154
 
            resultFields: [
155
 
                {key:"flavor", locator:"@name"}
156
 
            ]
157
 
        }}
158
 
    ]
159
 
}
160
 
    </pre>
161
 
 
162
 
    <h6>Normalized data</h6>
163
 
    <input type="button" id="demo_apply_nested" value="Apply schema =>">
164
 
    <div id="demo_output_nested" class="output"></div>
165
 
</form>
166
 
 
167
 
 
168
 
<script>
169
 
YUI().use("dump", "node", "datatype-xml", "dataschema-xml", function (Y) {
170
 
    Y.on("click", function(e){
171
 
        var data_in = Y.DataType.XML.parse('<root><session>34637542</session><category name="music" id="5"><results><song id="59672468"><title>I Kissed A Girl</title><rank>1</rank><artist id="30326214">Katy Perry</artist></song><song id="47973564"><title>Shake It</title><rank>2</rank><artist id="45575683">Metro Station</artist></song><song id="52207363"><title>Bleeding Love</title><rank>3</rank><artist id="37956508">Leona Lewis</artist></song></results></category></root>'),
172
 
            schema = {
173
 
                resultListLocator: "song",
174
 
                resultFields: [{key:"title"}, {key:"artist"}, {key:"rank"}] // Or simply ["title", "artist", "rank"]
175
 
            };
176
 
        Y.one("#demo_output_basic").setContent(Y.dump(Y.DataSchema.XML.apply(schema, data_in)));
177
 
    }, "#demo_apply_basic");
178
 
 
179
 
 
180
 
    Y.on("click", function(e){
181
 
        var data_in = Y.DataType.XML.parse('<Response><Session>542235629</Session><Tracks  start="1" count="10" total="98" errorCount="0"  defaultSort="popularity+"  description="Top 100 Tracks"  name="Top 100 Tracks"  ><Track id="59672468" rating="-1" title="I Kissed A Girl"><Artist id="30326214" rating="-1">Katy Perry</Artist><ItemInfo><ChartPosition last="26" this="1"/></ItemInfo></Track><Track id="47973564" rating="-1" title="Shake It"><Artist id="45575683" rating="-1">Metro Station</Artist><ItemInfo><ChartPosition last="27" this="2"/></ItemInfo></Track><Track id="52207363" rating="-1" title="Bleeding Love"><Artist id="37956508" rating="-1">Leona Lewis</Artist><ItemInfo><ChartPosition last="28" this="3"/></ItemInfo></Track></Tracks></Response>'),
182
 
            schema = {
183
 
                metaFields: {session:"//Session", total:"//Tracks/@total"},
184
 
                resultListLocator: "//Track",
185
 
                resultFields: [{key:"song", locator:"@title"}, {key:"artist", locator:"Artist"}, {key:"rank", locator:"ItemInfo/ChartPosition/@this"}]
186
 
            };
187
 
        Y.one("#demo_output_complex").setContent(Y.dump(Y.DataSchema.XML.apply(schema, data_in)));
188
 
    }, "#demo_apply_complex");
189
 
 
190
 
    Y.on("click", function(e){
191
 
        var data_in = Y.DataType.XML.parse('<desserts><dessert type="treat"><name>cupcake</name><flavors><flavor name="chocolate"/><flavor name="red velvet"/></flavors></dessert><dessert type="treat"><name>ice cream</name><flavors><flavor name="chocolate"/><flavor name="strawberry"/><flavor name="vanilla"/></flavors></dessert><dessert type="treat"><name>pie</name><flavors><flavor name="banana cream"/><flavor name="blueberry"/><flavor name="cherry"/></flavors></dessert><dessert type="beverage"><name>hot chocolate</name></dessert><dessert type="beverage"><name>port wine</name></dessert></desserts>'),
192
 
            schema = {
193
 
                resultListLocator: "dessert",
194
 
                resultFields: [
195
 
                    {key:"type", locator:"@type"},
196
 
                    {key:"name", locator:"name"},
197
 
                    {key:"flavors", schema: {
198
 
                        resultListLocator: "flavor",
199
 
                        resultFields: [
200
 
                            {key:"flavor", locator:"@name"}
201
 
                        ]
202
 
                    }}
203
 
                ]
204
 
            };
205
 
        Y.one("#demo_output_nested").setContent(Y.dump(Y.DataSchema.XML.apply(schema, data_in)));
206
 
    }, "#demo_apply_nested");
207
 
});
208
 
</script>
209
 
 
210
 
</div>
211
 
 
212
 
<p>In order to use DataSchema.XML, input data must be an XML document.</p>
213
 
 
214
 
<pre class="code prettyprint">YUI().use(&quot;datatype-xml&quot;, &quot;dataschema-xml&quot;, function(Y) {
215
 
    var data_in = Y.DataType.XML.parse(&#x27;&lt;root&gt;&lt;session&gt;34637542&lt;&#x2F;session&gt;&lt;category name=&quot;music&quot; id=&quot;5&quot;&gt;&lt;results&gt;&lt;song id=&quot;59672468&quot;&gt;&lt;title&gt;I Kissed A Girl&lt;&#x2F;title&gt;&lt;rank&gt;1&lt;&#x2F;rank&gt;&lt;artist id=&quot;30326214&quot;&gt;Katy Perry&lt;&#x2F;artist&gt;&lt;&#x2F;song&gt;&lt;song id=&quot;47973564&quot;&gt;&lt;title&gt;Shake It&lt;&#x2F;title&gt;&lt;rank&gt;2&lt;&#x2F;rank&gt;&lt;artist id=&quot;45575683&quot;&gt;Metro Station&lt;&#x2F;artist&gt;&lt;&#x2F;song&gt;&lt;song id=&quot;52207363&quot;&gt;&lt;title&gt;Bleeding Love&lt;&#x2F;title&gt;&lt;rank&gt;3&lt;&#x2F;rank&gt;&lt;artist id=&quot;37956508&quot;&gt;Leona Lewis&lt;&#x2F;artist&gt;&lt;&#x2F;song&gt;&lt;&#x2F;results&gt;&lt;&#x2F;category&gt;&lt;&#x2F;root&gt;&#x27;),
216
 
        schema = {
217
 
            resultListLocator: &quot;song&quot;,
218
 
            &#x2F;&#x2F; Or simply [&quot;title&quot;, &quot;artist&quot;, &quot;rank&quot;]
219
 
            resultFields: [{key:&quot;title&quot;}, {key:&quot;artist&quot;}, {key:&quot;rank&quot;}]
220
 
        },
221
 
        data_out = Y.DataSchema.XML.apply(schema, data_in));
222
 
 
223
 
    alert(data_out);
224
 
});</pre>
225
 
 
226
 
 
227
 
<p>The data itself can get fairly complex, with deeply nested nodes and values held in attributes. In your schema, you can use XPath notation to define these locations.</p>
228
 
 
229
 
<pre class="code prettyprint">YUI().use(&quot;datatype-xml&quot;, &quot;dataschema-xml&quot;, function(Y) {
230
 
    var data_in = Y.DataType.XML.parse(&#x27;&lt;Response&gt;&lt;Session&gt;542235629&lt;&#x2F;Session&gt;&lt;Tracks  start=&quot;1&quot; count=&quot;10&quot; total=&quot;98&quot; errorCount=&quot;0&quot;  defaultSort=&quot;popularity+&quot;  description=&quot;Top 100 Tracks&quot;  name=&quot;Top 100 Tracks&quot;  &gt;&lt;Track id=&quot;59672468&quot; rating=&quot;-1&quot; title=&quot;I Kissed A Girl&quot;&gt;&lt;Artist id=&quot;30326214&quot; rating=&quot;-1&quot;&gt;Katy Perry&lt;&#x2F;Artist&gt;&lt;ItemInfo&gt;&lt;ChartPosition last=&quot;26&quot; this=&quot;1&quot;&#x2F;&gt;&lt;&#x2F;ItemInfo&gt;&lt;&#x2F;Track&gt;&lt;Track id=&quot;47973564&quot; rating=&quot;-1&quot; title=&quot;Shake It&quot;&gt;&lt;Artist id=&quot;45575683&quot; rating=&quot;-1&quot;&gt;Metro Station&lt;&#x2F;Artist&gt;&lt;ItemInfo&gt;&lt;ChartPosition last=&quot;27&quot; this=&quot;2&quot;&#x2F;&gt;&lt;&#x2F;ItemInfo&gt;&lt;&#x2F;Track&gt;&lt;Track id=&quot;52207363&quot; rating=&quot;-1&quot; title=&quot;Bleeding Love&quot;&gt;&lt;Artist id=&quot;37956508&quot; rating=&quot;-1&quot;&gt;Leona Lewis&lt;&#x2F;Artist&gt;&lt;ItemInfo&gt;&lt;ChartPosition last=&quot;28&quot; this=&quot;3&quot;&#x2F;&gt;&lt;&#x2F;ItemInfo&gt;&lt;&#x2F;Track&gt;&lt;&#x2F;Tracks&gt;&lt;&#x2F;Response&gt;&#x27;),
231
 
        schema = {
232
 
            metaFields: {session:&quot;&#x2F;&#x2F;Session&quot;, total:&quot;&#x2F;&#x2F;Tracks&#x2F;@total&quot;},
233
 
            resultListLocator: &quot;&#x2F;&#x2F;Track&quot;,
234
 
            resultFields: [
235
 
                {key:&quot;song&quot;, locator:&quot;@title&quot;},
236
 
                {key:&quot;artist&quot;, locator:&quot;Artist&quot;},
237
 
                {key:&quot;rank&quot;, locator:&quot;ItemInfo&#x2F;ChartPosition&#x2F;@this&quot;}
238
 
            ]
239
 
        },
240
 
        data_out = Y.DataSchema.XML.apply(schema, data_in));
241
 
 
242
 
    alert(data_out);
243
 
});</pre>
244
 
 
245
 
 
246
 
<p>Nested schemas are supported as of version 3.1:</p>
247
 
 
248
 
<pre class="code prettyprint">YUI().use(&quot;datatype-xml&quot;, &quot;dataschema-xml&quot;, function(Y) {
249
 
    var data_in = Y.DataType.XML.parse(&#x27;&lt;desserts&gt;&lt;dessert type=&quot;treat&quot;&gt;&lt;name&gt;cupcake&lt;&#x2F;name&gt;&lt;flavors&gt;&lt;flavor name=&quot;chocolate&quot;&#x2F;&gt;&lt;flavor name=&quot;red velvet&quot;&#x2F;&gt;&lt;&#x2F;flavors&gt;&lt;&#x2F;dessert&gt;&lt;dessert type=&quot;treat&quot;&gt;&lt;name&gt;ice cream&lt;&#x2F;name&gt;&lt;flavors&gt;&lt;flavor name=&quot;chocolate&quot;&#x2F;&gt;&lt;flavor name=&quot;strawberry&quot;&#x2F;&gt;&lt;flavor name=&quot;vanilla&quot;&#x2F;&gt;&lt;&#x2F;flavors&gt;&lt;&#x2F;dessert&gt;&lt;dessert type=&quot;treat&quot;&gt;&lt;name&gt;pie&lt;&#x2F;name&gt;&lt;flavors&gt;&lt;flavor name=&quot;banana cream&quot;&#x2F;&gt;&lt;flavor name=&quot;blueberry&quot;&#x2F;&gt;&lt;flavor name=&quot;cherry&quot;&#x2F;&gt;&lt;&#x2F;flavors&gt;&lt;&#x2F;dessert&gt;&lt;dessert type=&quot;beverage&quot;&gt;&lt;name&gt;hot chocolate&lt;&#x2F;name&gt;&lt;&#x2F;dessert&gt;&lt;dessert type=&quot;beverage&quot;&gt;&lt;name&gt;port wine&lt;&#x2F;name&gt;&lt;&#x2F;dessert&gt;&lt;&#x2F;desserts&gt;&#x27;),
250
 
        schema = {
251
 
            resultListLocator: &quot;dessert&quot;,
252
 
            resultFields: [
253
 
                {key:&quot;type&quot;, locator:&quot;@type&quot;},
254
 
                {key:&quot;name&quot;, locator:&quot;name&quot;},
255
 
                {key:&quot;flavors&quot;, schema: {
256
 
                    resultListLocator: &quot;flavor&quot;,
257
 
                    resultFields: [
258
 
                        {key:&quot;flavor&quot;, locator:&quot;@name&quot;}
259
 
                    ]
260
 
                }}
261
 
            ]
262
 
        },
263
 
        data_out = Y.DataSchema.XML.apply(schema, data_in));
264
 
 
265
 
    alert(data_out);
266
 
});</pre>
267
 
 
268
 
</div>
269
 
        </div>
270
 
 
271
 
        <div id="sidebar" class="yui3-u">
272
 
            
273
 
 
274
 
            
275
 
                <div class="sidebox">
276
 
                    <div class="hd">
277
 
                        <h2 class="no-toc">Examples</h2>
278
 
                    </div>
279
 
 
280
 
                    <div class="bd">
281
 
                        <ul class="examples">
282
 
                            
283
 
                                
284
 
                                    <li data-description="Schema parsing a JavaScript array.">
285
 
                                        <a href="dataschema-array.html">DataSchema.Array</a>
286
 
                                    </li>
287
 
                                
288
 
                            
289
 
                                
290
 
                                    <li data-description="Schema parsing JSON data.">
291
 
                                        <a href="dataschema-json.html">DataSchema.JSON</a>
292
 
                                    </li>
293
 
                                
294
 
                            
295
 
                                
296
 
                                    <li data-description="Schema parsing XML data.">
297
 
                                        <a href="dataschema-xml.html">DataSchema.XML for XML Data</a>
298
 
                                    </li>
299
 
                                
300
 
                            
301
 
                                
302
 
                                    <li data-description="Schema parsing data held in TABLE elements.">
303
 
                                        <a href="dataschema-table.html">DataSchema.XML for HTML Tables</a>
304
 
                                    </li>
305
 
                                
306
 
                            
307
 
                                
308
 
                                    <li data-description="Schema parsing delimited plain-text data.">
309
 
                                        <a href="dataschema-text.html">DataSchema.Text</a>
310
 
                                    </li>
311
 
                                
312
 
                            
313
 
                                
314
 
                                    <li data-description="Parsing data into specified types as the schema is being applied.">
315
 
                                        <a href="dataschema-parsing.html">Enforcing DataTypes</a>
316
 
                                    </li>
317
 
                                
318
 
                            
319
 
                                
320
 
                            
321
 
                                
322
 
                            
323
 
                                
324
 
                            
325
 
                                
326
 
                            
327
 
                                
328
 
                            
329
 
                                
330
 
                            
331
 
                        </ul>
332
 
                    </div>
333
 
                </div>
334
 
            
335
 
 
336
 
            
337
 
                <div class="sidebox">
338
 
                    <div class="hd">
339
 
                        <h2 class="no-toc">Examples That Use This Component</h2>
340
 
                    </div>
341
 
 
342
 
                    <div class="bd">
343
 
                        <ul class="examples">
344
 
                            
345
 
                                
346
 
                            
347
 
                                
348
 
                            
349
 
                                
350
 
                            
351
 
                                
352
 
                            
353
 
                                
354
 
                            
355
 
                                
356
 
                            
357
 
                                
358
 
                                    <li data-description="The Local DataSource manages retrieval of in-page data, from JavaScript arrays and objects to DOM elements.">
359
 
                                        <a href="../datasource/datasource-local.html">DataSource.Local</a>
360
 
                                    </li>
361
 
                                
362
 
                            
363
 
                                
364
 
                                    <li data-description="The Get DataSource, which manages retrieval of data from remote sources via the Get Utility, can be useful for accessing data from cross-domain servers without the need for a proxy.">
365
 
                                        <a href="../datasource/datasource-get.html">DataSource.Get</a>
366
 
                                    </li>
367
 
                                
368
 
                            
369
 
                                
370
 
                                    <li data-description="The IO DataSource manages retrieval of data from remote sources, via the IO Utility.">
371
 
                                        <a href="../datasource/datasource-io.html">DataSource.IO</a>
372
 
                                    </li>
373
 
                                
374
 
                            
375
 
                                
376
 
                                    <li data-description="The Function DataSource, which manages retrieval of data from a JavaScript function, provides a highly customizeable mechanism for implementer-defined data retrieval algorithms">
377
 
                                        <a href="../datasource/datasource-function.html">DataSource.Function</a>
378
 
                                    </li>
379
 
                                
380
 
                            
381
 
                                
382
 
                                    <li data-description="Use the DataSourceCache plugin to enable caching and reduce server calls to remote sources.">
383
 
                                        <a href="../datasource/datasource-caching.html">DataSource with Caching</a>
384
 
                                    </li>
385
 
                                
386
 
                            
387
 
                                
388
 
                                    <li data-description="The DataSourceCache plugin supports offline caching so that cached data persists across browser sessions.">
389
 
                                        <a href="../datasource/datasource-offlinecache.html">DataSource with Offline Cache</a>
390
 
                                    </li>
391
 
                                
392
 
                            
393
 
                        </ul>
394
 
                    </div>
395
 
                </div>
396
 
            
397
 
        </div>
398
 
    </div>
399
 
</div>
400
 
 
401
 
<script src="../assets/vendor/prettify/prettify-min.js"></script>
402
 
<script>prettyPrint();</script>
403
 
 
404
 
</body>
405
 
</html>