Provides a DataSchema implementation which can be used to work with XML data.
See the apply method for usage.
_getLocationValuefield
                    
                context
                    
                Get an XPath-specified value for a given field from an XML node or document.
Data value or null.
_getXPathResultlocator
                    
                context
                    
                xmldoc
                    
                Fetches the XPath-specified result for a given location in an XML node or document.
Data collection or null.
_parseFieldfield
                    
                result
                    
                context
                    
                Schema-parsed result field.
_parseMetaxmldoc_in
                    
                data_out
                    
                Parses results data according to schema
Schema-parsed data.
_parseResultfields
                    
                context
                    
                Schema-parsed result to add to results list.
Schema-parsed data.
_parseResultsschema
                    
                context
                    
                data_out
                    
                Schema-parsed list of results from full data
Schema-parsed data.
applyschema
                    
                data
                    
                Applies a schema to an XML data tree, returning a normalized object with
results in the results property. Additional information can be parsed out
of the XML for inclusion in the meta property of the response object.  If
an error is encountered during processing, an error property will be
added.
Field data in the nodes captured by the XPath in schema.resultListLocator is extracted with the field identifiers described in schema.resultFields. Field identifiers are objects with the following properties:
key    : (required) The desired property name to usestore the retrieved value in the result object.  If locator is
not specified, key is also used as the XPath locator (String)
locator: The XPath locator to the node or attribute within eachresult node found by _schema.resultListLocator_ containing the
desired field data (String)
parser : A function or the name of a function on Y.Parsers usedto convert the input value into a normalized type.  Parser
functions are passed the value as input and are expected to
return a value.
schema : Used to retrieve nested field data into an array forassignment as the result field value.  This object follows the same
conventions as _schema_.
If no value parsing or nested parsing is needed, you can use XPath locators (strings) instead of field identifiers (objects) -- see example below.
response.results will contain an array of objects with key:value pairs.
The keys are the field identifier keys, and the values are the data
values extracted from the nodes or attributes found by the field locator
(or key fallback).
To extract additional information from the XML, include an array of
XPath locators in schema.metaFields.  The collected values will be
stored in response.meta with the XPath locator as keys.
schema
                        Object
                    
                    
                    Schema to apply. Supported configuration properties are:
[resultListLocator]
                                    String
                                    optional
                                
                                XPath locator for the
      XML nodes that contain the data to flatten into response.results
[resultFields]
                                    Array
                                    optional
                                
                                Field identifiers to locate/assign values in the response records. See above for details.
[metaFields]
                                    Array
                                    optional
                                
                                XPath locators to extract extra non-record related information from the XML data
data
                        XMLDocument
                    
                    
                    XML data to parse
An Object with properties results and meta
var schema = {
        resultListLocator: '//produce/item',
        resultFields: [
            {
                locator: 'name',
                key: 'name'
            },
            {
                locator: 'color',
                key: 'color',
                parser: function (val) { return val.toUpperCase(); }
            }
        ]
    };
// Assumes data like
// <inventory>
//   <produce>
//     <item><name>Banana</name><color>yellow</color></item>
//     <item><name>Orange</name><color>orange</color></item>
//     <item><name>Eggplant</name><color>purple</color></item>
//   </produce>
// </inventory>
var response = Y.DataSchema.JSON.apply(schema, data);
// response.results[0] is { name: "Banana", color: "YELLOW" }