You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jaxme-dev@ws.apache.org by "Nacho G. Mac Dowell" <ig...@informa.es> on 2005/09/29 11:00:17 UTC

Re: Help wanted to diagnose an xsd error in running Java code generator

Hi Shaoguang, the problem is that your xsd is not valid. If you want to 
go the quick way, either remove the targetNamespace or add to the 
xs:shema element xmlns="com.jaxme". But I recommend reading:

http://www.w3.org/TR/xmlschema-0/#NS

BTW, the ant task is going to complain because it won't be able to 
derive the package name from the targetNamespace. Either change your 
targetNamespace to a valid URL or specify a package on the ant task. 
 From what I see, you want your targetNamespace to be http://jaxme.com

best regards,

nacho

Shaoguang Cong wrote:

> I'm fairly new to jaxme and tried first to run an example. I copied 
> the Ant task from "The JaxMe 2 manual" and modified a little with the 
> paths.  I also added a <project> tag to the ant build file because it 
> gives an error  "Unexpected element "target" target" when I first 
> compiled it.
>  
> I don't know why it complains my XSD about "the type bookType is not 
> defined."   It looks the bookType is defined.  Here's the error message:
>  
> /"build.xml" 31: At file:/C:/jaxme/books.xsd, line 11, column 93: At 
> file:/C:/jaxme/books.xsd, line 11, column 93: Invalid element: The 
> type bookType is not defined. at line 31 /
>  
> The schemas file is pasted below.  The Ant file is pasted at the end too.
>  
> Thank you for any help.
>  
> Shaoguang
>  
> <?xml version="1.0" ?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
> xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
>   targetNamespace="com.jaxme"
>   jaxb:version="1.0">
>   <xs:element name="Collection">
>     <xs:complexType>
>       <xs:sequence>
>         <xs:element name="books">
>           <xs:complexType>
>             <xs:sequence>
>               <xs:element name="book" type="*bookType*" minOccurs="1" 
> maxOccurs="unbounded" />
>             </xs:sequence>
>           </xs:complexType>
>         </xs:element>
>       </xs:sequence>
>     </xs:complexType>
>   </xs:element>
>
>   <xs:complexType name="*bookType*">
>     <xs:sequence>
>       <xs:element name="name" type="xs:string" />
>       <xs:element name="ISBN" type="xs:long" />
>       <xs:element name="price" type="xs:string" />
>       <xs:element name="authors">
>         <xs:complexType>
>           <xs:sequence>
>             <xs:element name="authorName" type="xs:string" 
> minOccurs="1" maxOccurs="unbounded" />
>           </xs:sequence>
>         </xs:complexType>
>       </xs:element>
>       <xs:element name="description" type="xs:string" minOccurs="0" />
>       <xs:element name="promotion">
>         <xs:complexType>
>          <xs:choice>
>            <xs:element name="Discount" type="xs:string" />
>            <xs:element name="None" type="xs:string" />
>          </xs:choice>
>         </xs:complexType>
>       </xs:element>
>       <xs:element name="publicationDate" type="xs:date" />
>       <xs:element name="bookCategory">
>         <xs:simpleType>
>         <xs:restriction base="xs:NCName">
>           <xs:enumeration value="magazine" />
>           <xs:enumeration value="novel" />
>           <xs:enumeration value="fiction" />
>           <xs:enumeration value="other" />
>         </xs:restriction>
>         </xs:simpleType>
>       </xs:element>
>     </xs:sequence>
>     <xs:attribute name="itemId" type="xs:string" />
>   </xs:complexType>
>  
>   <xs:simpleType name="bookCategoryType">
>     <xs:restriction base="xs:string">
>       <xs:enumeration value="magazine" />
>       <xs:enumeration value="novel" />
>       <xs:enumeration value="fiction" />
>       <xs:enumeration value="other" />
>     </xs:restriction>
>   </xs:simpleType>
> </xs:schema>
>  
> // Ant file
>  
> <?xml version="1.0" ?>
> <project name="generic" default="task1" basedir=".">
> <target name="task1">  //<target name="taskdef">  
>       <path id="com.jaxme">
>         <pathelement 
> location="C:\ws-jaxme-0.5\ws-jaxme-0.5\lib\jaxme2-0.5.jar"/>
>         <pathelement 
> location="C:\ws-jaxme-0.5\ws-jaxme-0.5\lib\jaxmejs-0.5.jar"/>
>         <pathelement 
> location="C:\ws-jaxme-0.5\ws-jaxme-0.5\lib\jaxmexs-0.5.jar"/>
>         <pathelement 
> location="C:\ws-jaxme-0.5\ws-jaxme-0.5\lib\jaxmeapi-0.5.jar"/>
>       </path>
>      
>       <taskdef name="xjc"
>         classname="org.apache.ws.jaxme.generator.XJCTask"
>         classpathref="com.jaxme"/>
>       
>       <xjc schema="c:/jaxme/books.xsd"  target="c:/jaxme/src">
>         <produces includes="com/jaxme/*.java"/>
>       </xjc>
>     </target>
> </project>



---------------------------------------------------------------------
To unsubscribe, e-mail: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org