[xsde-users] Cannot get namespaces to work

Robert S. Grimes rsgrimes at rcn.com
Tue Jun 9 19:40:42 EDT 2020


I have a schema that was working for quite some time; however, I've become tired of the fact that it generates global classes. I am trying to get XSD/e to generate my schema's classes into a namespace, and also, trying to write an xml file that the parser recognizes. I can't seem to figure out how to do that, as I keep getting an "unexpected element encountered" error on the root element of my xml document. 



My old schema looks like this. For brevity, I don't show the rest of the schema; it is the same as the next schema, withouth any "xdcs:" prefixes. 


<?xml version="1.0"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 


</xsd:schema> 


My new schema looks like this 


<?xml version="1.0"?> 

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns:xdcs="http://www.rsgassoc.com/XMLConfig" 
targetNamespace="http://www.rsgassoc.com/XMLConfig"> 


<xs:complexType name="ComponentConfig"> 
<xs:attribute name="cname" type="xs:string" use="required"/> 
</xs:complexType> 


<xs:complexType name="GlobalConfig"> 
<xs:sequence> 
<xs:element name="name" type="xs:string"/> 
<xs:element name="version" type="xs:string"/> 
</xs:sequence> 
</xs:complexType> 


<xs:complexType name="PlatformConfig"> 
<xs:sequence> 
<xs:element name="GlobalConfig" type="xdcs:GlobalConfig"/> 
<xs:element name="ComponentConfig" type="xdcs:ComponentConfig"/> 
</xs:sequence> 
</xs:complexType> 


<xs:element name="PlatformConfig" type="xdcs:PlatformConfig"/> 


</xsd:schema> 


Here is a sample XML. 


1 <?xml version="1.0"?> 
2 <xdcs:PlatformConfig xmlns:xdcs="http://www.rsgassoc.com/XMLConfig" 
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
4 xsi:schemaLocation="http://www.rsgassoc.com/XMLConfig PlatformConfig.xsd"> 
5 
6 <xdcs:GlobalConfig> 
7 <name>MyDeviceName</name> 
8 <version>v0.2</version> 
9 </xdcs:GlobalConfig> 

10 <xdcs:ComponentConfig cname="MyCompType" iname="MyCompInstance"/> 


11 </xdcs:PlatformConfig> 


The error throw is this (I've modeled this code from examples): 


Test.xml:4:95: error: unexpected element encountered' 


Line 4, column 95 is at the closing angle brace (>) for the xdcs:PlatformConfig element that spans lines 2-4. I cannot see anything wrong with this, but my XML/XSD skills are rusty at best. As far as I can tell, the schema is (essentially) identical to the "protocol" example in exampls/cxx/parser/multiroot/protocol.xsd, and the xml identical to the withdraw.xml file in the same directory. What gives? I am rather desperate, as I have a big deadline coming that I just can't miss - yeah, don't we all? 


Regards, 
Bob 





More information about the xsde-users mailing list