<commit_before><?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<sect1 id="zend.dojo.data">
    <title>Zend_Dojo_Data: dojo.data Envelopes</title>

    <para>
        Dojo provides data abstraction for data-enabled widgets via its
        dojo.data component. This component provides the ability to attach a
        data store, provide some metadata regarding the identity field and
        optionally a label field, and an API for querying, sorting, and
        retrieving records and sets of records from the datastore.
    </para>

    <para>
        dojo.data is often used with XmlHttpRequest to pull dynamic data from
        the server. The primary mechanism for this is to extend the
        QueryReadStore to point at a URL and specify the query information. The
        server side then returns data in the following JSON format:
    </para>

    <programlisting language="javascript"><![CDATA[
{
    identifier: '<name>',
    <label: '<label>',>
    items: [
        { name: '...', label: '...', someKey: '...' },
        ...
    ]
}
]]></programlisting>

    <para>
        <classname>Zend_Dojo_Data</classname> provides a simple interface for building
        such structures programmatically, interacting with them, and serializing<commit_msg>Simple grammar fix.<commit_after><?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<sect1 id="zend.dojo.data">
    <title>Zend_Dojo_Data: dojo.data Envelopes</title>

    <para>
        Dojo provides data abstractions for data-enabled widgets via its
        dojo.data component. This component provides the ability to attach a
        data store, provide some metadata regarding the identity field and
        optionally a label field, and an API for querying, sorting, and
        retrieving records and sets of records from the datastore.
    </para>

    <para>
        dojo.data is often used with XmlHttpRequest to pull dynamic data from
        the server. The primary mechanism for this is to extend the
        QueryReadStore to point at a URL and specify the query information. The
        server side then returns data in the following JSON format:
    </para>

    <programlisting language="javascript"><![CDATA[
{
    identifier: '<name>',
    <label: '<label>',>
    items: [
        { name: '...', label: '...', someKey: '...' },
        ...
    ]
}
]]></programlisting>

    <para>
        <classname>Zend_Dojo_Data</classname> provides a simple interface for building
        such structures programmatically, interacting with them, and serializing
{'fraction_non_alphanumeric': 0.10098231827111984, 'fraction_numerical': 0.003143418467583497, 'mean_word_length': 2.8343373493975905, 'pattern_counts': {'":': 0, '<': 39, '<?xml version=': 2, '>': 39, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5827667', 'n_tokens_mistral': 700, 'n_tokens_neox': 680, 'n_words': 269}