This is an example of user defining a Type (PostalAddress), which is a container, and using it as a composite attribute in the DataModel (<PostalAddress name="VendorAddress"/>). By using this type, the DataModel will have attributes of:
VendorInfo.VendorAddress.Street
VendorInfo.VendorAddress.City
VendorInfo.VendorAddress.Zipcode
Using composite attributes
<Def Name="PostalAddress"> <String Name="Street"/> <String Name="City"/> <String Name="Zipcode"/> </Def> <DataModel Name="VendorInfo"> <Sid name="VendorSysId"/> <String name="vendorName"/> <String name="vendorTitle"/> <PostalAddress name="VendorAddress"/> <String Name="DeviceTypes" Cardinality="0..m"/> </DataModel>