XML Schema Element ordering

I suppose this is a noob question but I've not found a good answer yet,
so...

This xml will not validate against the enclosed schema unless I reorder
the four text elements to match. How can I adjust the schema to allow
mix-and-match ordering of the elements without breaking the "Upper" and
"Lower" set relationships? I've heard the lecture that node order
shouldn't matter in XML but my boss is funny about giving orders and
having them followed...

<?xml version="1.0" encoding="UTF-8"?>
<Upper xsi:noNamespaceSchemaLocation="junk.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<ValidationError>text</ValidationError>
	<WildAndCrazy>text</WildAndCrazy>
	<ValidationWarning>text</ValidationWarning>
	<Guy>text</Guy>
</Upper>

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xsd:complexType name="Lower" abstract="true">
		<xsd:sequence minOccurs="0" maxOccurs="unbounded">
			<xsd:element ref="ValidationError"
minOccurs="0"/>
			<xsd:element ref="ValidationWarning"
minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="ValidationError"/>
	<xsd:element name="ValidationWarning"/>
	<xsd:element name="Upper">
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="Lower">
					<xsd:sequence minOccurs="0"
maxOccurs="unbounded">
						<xsd:element
ref="WildAndCrazy" minOccurs="0"/>
						<xsd:element ref="Guy"
minOccurs="0"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="WildAndCrazy"/>
	<xsd:element name="Guy"/>
</xsd:schema>

Received on Friday, 18 May 2007 08:14:05 UTC