No, I Don't Want No Namespace!

I'm having something of a cryptic namespace problem and I simply can't 
seem to worm my way out of it. Basically, I've been given XML files that 
I can not modify and I wrote a schema to match them. The xml files look 
something like the following:


<?xml version="1.0" encoding="UTF-8"?>
<Vessel xmlns="http://www.xyzcorp.com/Vessel" 
xmlns:cdm="http://www.xyzcorp.com/cdmtypes" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="www.xyzcorp.com/Vessel
C:\path\to\schema\Vessel2.xsd">
	<VesselBase>
		<TrimStability>
............


The related schema looks like so:


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns:cdm="http://www.xyzcorp.com/ctypes" 
xmlns="http://www.xyzcorp.com/Vessel" 
targetNamespace="http://www.xyzcorp.com/Vessel" 
elementFormDefault="unqualified" attributeFormDefault="unqualified">
	<xs:import namespace="http://www.xyzcorp.com/ctypes" 
schemaLocation="ctypes.xsd"/>
	<xs:element name="Vessel" type="VesselType">
	</xs:element>
	<xs:complexType name="VesselType">
		<xs:sequence>
			<xs:element name="VesselBase" type="VesselBaseType"/>
		</xs:sequence>
	</xs:complexType>
.............


My problem is that it doesn't validate. XMLSpy 2005 gives me this 
wonderfully useful error message: "Unexpected element 'VesselBase' in 
element 'Vessel'. Expected: VesselBase" (Isn't that helpful?) Using an 
in-house Java 1.5-based validation tool (uses the Java-supplied XML 
classes), I get: "XML Fatal Error: On line 2, column 329, the following 
fatal error occurred: cvc-elt.1: Cannot find the declaration of element 
'Vessel'."

Based on that second error message, I'm assuming this is a namespace 
issue. Am I wrong? Despite having worked with XML for months now, I 
still can't get namespaces straight. Very frustrating. :-/

Thanks in advance,
Tyson Tate
Developer, CADRC

Received on Wednesday, 23 November 2005 01:06:05 UTC