User Guide

Advanced topics in data integration 301
Virtual schemas
When you bind an array of data to a DataSet’s
items or dataprovider property, the data set
only recognizes fields that are top-level items within each row of the array. It does not recognize
items nested within other objects. A virtual schema lets you change how the underlying data
structure is interpreted when bindings are executed. The new structure is derived using XPath
statements. For more information, see Adding bindings using path expressions” on page 302.
For example, the schema for Animals.xml file described in “Connecting to XML data with the
XMLConnector component (Flash Professional only)” on page 277 defines an array of objects
called Bird. Each object contains two fields (
name and url). They also contain a sub-element with
one field called
id. If you bind the Bird array to a DataSet component (using the dataProvider
property) with three fields—
name, url, and id—each item that is returned from the array is
constructed in the following way, for each item in the XML file:
Create an empty item.
Loop through the defined schema properties, extracting the values for each property from
the XML data, and assign these values to the created item. The Name and URL fields will
have values.
Provide this item to the DataSet component.
The ID field does not exist on the item, and the DataSet component has a blank entry for each
item assigned.
Any component Any property or field Kind, Kind Options,
Encoding, Encoding Options
Various purposes, as
described in “Using kinds
and encoders” on page 292.
Any connector
results (and its
subfields)
Path To identify the location of the
data for a virtual schema
field.
Component Property/field Settings When to use