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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to