dojox.data.AtomReadStore¶
Author: | Shane O’Sullivan |
---|---|
since: | V1.2 |
Contents
The AtomReadStore is a store designed to provide read-only access to Atom XML documents. Atom XML is a common document format for web feeds providing lists of data. It is similar in many respects to RSS, but provides much more flexibility.
Constructor Params¶
The following parameters are supported by the GoogleFeedStore implementation.
name | description | type |
label | The attribute of the search returns to use as the item’s label. Defaults to titleNoFormatting. | string |
url | The url to a service or an XML document that represents the store | string |
sendQuery | A boolean indicate to add a query string to the service URL. | string |
unescapeHTML | A boolean to specify whether or not to unescape HTML text. | string |
urlPreventCache | Parameter that allows enabling the xhrGet flag preventCache. Defaults to false. New in Dojo 1.4. | boolean |
Item Attributes¶
The following attributes are available on items returned from the AtomReadStore:
Attribute | Description |
title | The feed entry title. |
link | The URL for the HTML version of the feed entry. |
content | The full content of the blog post. If unescapeHTML is true, this is returned in HTML. Otherwise it is returned in plain text. |
summary | A snippet of information about the feed entry. If unescapeHTML is true, this is returned in HTML. Otherwise it is returned in plain text. |
published | The string date on which the entry was published. |
category | An array of tags for the entry. Each category is a JSON object containing two values, ‘scheme’ and ‘term’. E.g. ‘’‘store.getValue(item, ‘category’).term’‘’ gives the category, or tag, value. |
author | A JSON object containing one or two elements, ‘’‘name’‘’ and ‘’‘uri’‘’. The former is the name of the author, the latter is the authors personal uri, or web page. E.g. ‘’‘var author = store.getValue(item, ‘author’); alert(“Name is ” + author.name + ” and homepage is ” + author.uri); |
Query Syntax¶
The query syntax for this store is simple. If the data source is a static url, e.g. an XML file, then no query syntax is used. The store simply reads the URL specified in the constructor. If the URL must have some parameters added to it, e.g. ‘’feed.php?user=1234’‘, then these parameters can be added in the query.
Query Example With One Parameter¶
{
user: '1234'
}
Example Usage of using AtomReadStore with a DataGrid¶
dojo.require("dijit.form.Button");
dojo.require("dijit.form.TextBox");
dojo.require("dijit.layout.TabContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("dojox.data.AtomReadStore");
dojo.require("dojox.grid.DataGrid");
function hrefFormatter(value){
return "<a href=\"" + value["href"] + "\" target=\"_blank\">Link</a>";
}
function textFormatter(value){
return value["text"];
}
var layoutResults = [
[
{ field: "title", name: "Title", width: 20 , formatter: textFormatter},
{ field: "link", name: "URL", width: 5, formatter: hrefFormatter},
{ field: "summary", name: "Summary", width: 'auto' , formatter: textFormatter}
]
];
<div data-dojo-type="dojox.data.AtomReadStore" data-dojo-id="feedStore" data-dojo-props="url:'{{dataUrl}}dojox/data/tests/stores/atom1.xml'"></div>
<div id="feedGrid"
data-dojo-id="feedGrid"
style="width: 750px; height: 300px;"
data-dojo-type="dojox.grid.DataGrid"
data-dojo-props="store:feedStore,
structure:'layoutResults',
query:{},
rowsPerPage:40">
</div>
@import "{{baseUrl}}dojox/grid/resources/Grid.css";
@import "{{baseUrl}}dojox/grid/resources/nihiloGrid.css";
.dojoxGrid table {
margin: 0;
}