2.2.4.1.3.1.1 Nested Rowsets

A special case of the row element is where it is part of a nested rowset, and therefore contains the contents of an additional row. This can be thought of as "a row within a row." However, the nested row does not contain a new Row element. The limit of nesting is to one level. That is, nested rows cannot contain additional nested rows.

The nested rowset does not have a specific XSD. That is because the XSD definition for the xmla-rs:row element is xsd:any, and therefore, the concept of nested rows is included within the XSD definition of xmla-rs:row. However, the restriction is imposed that nesting is limited to one level.

This concept is best illustrated by a fragment of an example. The following code shows the return result of one row from the DISCOVER_SCHEMA_ROWSETS Discover.

           <row>
             <SchemaName>DBSCHEMA_CATALOGS</SchemaName>
             <SchemaGuid>C8B52211-5CF3-11CE-ADE5-00AA0044773D</SchemaGuid>
             <Restrictions>
               <Name>CATALOG_NAME</Name>
               <Type>xsd:string</Type>
             </Restrictions>
             <RestrictionsMask>1</RestrictionsMask>
           </row>

Note that the Restrictions column of the above row contains a nested row within it. The nested row itself contains two elements, Name and Type. If a return result of xmla-rs:root contains a rowset with nested rows, this is reflected in the Schema element of the particular xmla-rs:rowset return result.