Listing 1

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
xmlns:saxTran="http://oracle.schemaTransform/saxTran">
 <xs:element name="PersonsInfo">
  <xs:complexType>
   <xs:sequence>
    <xs:element name="Persons">
     <xs:complexType>
      <xs:sequence>
	<xs:element name="Person" maxOccurs="unbounded"
	saxTran:match="/OrgChart/Office/Department/Person" 
	saxTran:streamNode="true">
	 <xs:complexType>
	  <xs:sequence>
	   <xs:element name="First"  type="xs:string" saxTran:map="./First"/>
	   <xs:element name="Last" type="xs:string" saxTran:map="./Last"/>
	   <xs:element name="Title"  type="xs:string" saxTran:map="./Title"/>
	   <xs:element name="PhoneExt" type="xs:short" saxTran:map="./PhoneExt"/>
	   <xs:element name="EMail" type="xs:string" saxTran:map="./EMail"/>
	   <xs:element name="Shares"  type="xs:short" saxTran:map="./Shares"/>
	  </xs:sequence>
	 </xs:complexType>
	</xs:element>
       </xs:sequence>
      </xs:complexType>
     </xs:element>
     <xs:element name="TotalPersons"  type="xs:long"
	 saxTran:function="count(/OrgChart/Office/Department/Person)"/>
     <xs:element name="AvgSharePerPerson" type="xs:decimal" 
	 saxTran:function="avg(/OrgChart/Office/Department/Person/Shares)"/>
     <xs:element name="TotalSharesWithPersons"  type="xs:short" 
	 saxTran:function="sum(/OrgChart/Office/Department/Person/Shares)"/>
    </xs:sequence>
   </xs:complexType>
  </xs:element>
</xs:schema>