2.1.29 RowType Property
One or more Property elements are used to describe the structure of a RowType element.
The following is an example of a RowType element with two Property elements.
-
<ReturnType> <CollectionType> <RowType> <Property Name="C" Type="Customer"/> <Property Name="Orders" Type="Collection(Order)"/> </RowType> </CollectionType> </ReturnType>
The following is an example of a collection of RowType elements that contains a collection of RowType elements.
-
<ReturnType> <CollectionType> <RowType> <Property Name="Customer" Type="Customer"/> <Property Name="Orders"> <CollectionType> <RowType> <Property Name="OrderNo" Type="Int32"/> <Property Name="OrderDate" Type="Date"/> <RowType> <CollectionType> </Property> </RowType> </CollectionType> </ReturnType>
The following rules apply to the Property elements of a RowType element:
Property MUST have a Name attribute defined that is of type SimpleIdentifier. The Name attribute represents the name of this Property.
The type of a property that belongs to a RowType MUST be one of the following:
Property defines a type either as an attribute or as a child element.
Property cannot contain both an attribute and a child element defining the type of the Property element.
Property can define facets if the type is a scalar type.
Property can contain any number of AnnotationAttribute attributes. The full names of the AnnotationAttribute attributes cannot collide.
Property can contain any number of AnnotationElement elements.
AnnotationElement elements are last in the sequence of child elements of Property.

All child elements are to appear in the order indicated. For all child elements within a given choice, the child elements can be ordered arbitrarily.