You can use a choice and then put maxOccurs="unbounded" on the choice e.g.
<xs:element name="foo">
<xsl:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="child1" type="xs:int"/>
<xs:element name="child2" type="xs:string"/>
</xs:choice>
</xs:complexType>
</xs:element>
that way the 'foo' element can have any number of 'child1' and 'child2' elements.
MVP XML
My blog