You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xerces.apache.org by Loz <lo...@flower.powernet.co.uk> on 2002/07/31 12:56:11 UTC

Allowable schema representations

If I define an XML schema as follows:

<?xml version="1.0" encoding="UTF-8"?>
<!-- strange.xsd -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             targetNamespace="http://localhost/strange"
             xmlns="http://localhost/strange"
             elementFormDefault="qualified">
	<xsd:complexType name="C1">
		<xsd:sequence>
			<xsd:element name="A" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="C2">
		<xsd:sequence>
			<xsd:element name="A" type="C1"/>
			<xsd:element name="A" type="xsd:string"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="A" type="C2"/>
</xsd:schema>


then an instance document looks like

<?xml version="1.0" encoding="UTF-8"?>
<!-- strange.xml -->
<A xmlns="http://localhost/strange"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://localhost/strange strange.xsd">
	<A>
		<A>foo</A>
	</A>
	<A>bar</A>
</A>


Is there anything inherently wrong with having an "A" element used in 
many different ways? Xerces will certainly validate the document OK, and 
I couldn't find anything in the xml-schema spec that invalidates this.
It looks strange to me, as I don't think you could have defined this 
structure using a DTD. Does anyone have a view on this?

cheers

Loz


---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-user-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-user-help@xml.apache.org