2011-01-07 12 views
1

こんにちは私は、bindigs.xmlファイルを使用してcomplextypesのクラスファイルを生成していません。Castorはcomplextypeのクラスを生成しません。

Sample.xsdファイル

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> 
    <xs:element name="Data"> 
     <xs:annotation> 
      <xs:documentation>This section contains the supply chain message 
      data</xs:documentation> 
     </xs:annotation> 
     <xs:complexType> 
      <xs:choice> 
       <xs:element name="PurchaseOrder"> 
        <xs:complexType> 
         <xs:sequence> 
          <xs:element name="LineItem" type="LineItemType" maxOccurs="unbounded"/> 
         </xs:sequence> 
         <xs:attribute name="OrderNumber" type="xs:string" use="required"/> 
        </xs:complexType> 
       </xs:element> 
       <xs:element name="OrderReceipt"> 
        <xs:complexType> 
         <xs:sequence> 
          <xs:element name="LineItem" type="ReceiptLineItemType" maxOccurs="unbounded"/> 
         </xs:sequence> 
         <xs:attribute name="OrderNumber" type="xs:string" use="required"/> 
        </xs:complexType> 
       </xs:element> 
      </xs:choice> 
     </xs:complexType> 
    </xs:element> 
    <xs:complexType name="SkuType"> 
     <xs:annotation> 
      <xs:documentation>Contains Product Identifier</xs:documentation> 
     </xs:annotation> 
     <xs:sequence> 
      <xs:element name="Number" type="xs:integer"/> 
      <xs:element name="ID" type="xs:string"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="ReceiptSkuType"> 
     <xs:annotation> 
      <xs:documentation>Contains Product Identifier</xs:documentation> 
     </xs:annotation> 
     <xs:complexContent> 
      <xs:extension base="SkuType"> 
       <xs:sequence> 
        <xs:element name="InternalID" type="xs:string"/> 
       </xs:sequence> 
      </xs:extension> 
     </xs:complexContent> 
    </xs:complexType> 
    <xs:complexType name="LineItemType"> 
     <xs:sequence> 
      <xs:element name="Sku" type="SkuType"/> 
      <xs:element name="Value" type="xs:double"/> 
      <xs:element name="BillingInstructions" type="xs:string"/> 
      <xs:element name="DeliveryDate" type="xs:date"/> 
      <xs:element name="Number" type="xs:integer"/> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:complexType name="ReceiptLineItemType"> 
     <xs:sequence> 
      <xs:element name="Sku" type="ReceiptSkuType"/> 
      <xs:element name="Value" type="xs:double"/> 
      <xs:element name="PackingDescription" type="xs:string"/> 
      <xs:element name="ShipDate" type="xs:dateTime"/> 
      <xs:element name="Number" type="xs:integer"/> 
     </xs:sequence> 
    </xs:complexType> 
</xs:schema> 

bindings.xmlに

<

binding xmlns="http://www.castor.org/SourceGenerator/Binding" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://www.castor.org/SourceGenerator/Binding 
       C:\\Castor\\xsd\\binding.xsd" 
      defaultBinding="element"> 

    <elementBinding name="/Data/PurchaseOrder/LineItem"> 
     <java-class name="PurchaseOrderLineItem"/> 
    </elementBinding> 

    <elementBinding name="/Data/OrderReceipt/LineItem"> 
     <java-class name="OrderReceiptLineItem1"/> 
    </elementBinding> 

    <elementBinding name="/complexType:ReceiptLineItemType/Sku"> 
     <java-class name="Xxxxxx"/> 
    </elementBinding> 




    <elementBinding name="/complexType:LineItemType/Sku"> 
     <java-class name="Yyyyyy"/> 
    </elementBinding>  

</binding> 

のpom.xmlのプラグインの設定:なるには何が

<plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>castor-maven-plugin</artifactId> 
       <version>1.0</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>generate</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <bindingfile>src/main/castor/binding.xml</bindingfile> 
        <schema>src/main/castor/sample.xsd</schema> 
        <packaging>com.sg.defi.castor.correspondence</packaging> 
        <properties>src/main/castor/castorbuilder.properties</properties> 
       </configuration> 

      </plugin> 

あります任意の.propertiesファイル内で変更され、complextypeのbindings.xmlファイルが指定された名前で生成されたクラスファイルを取得します。

答えて

0

それを実感してください! 、

<elementBinding name="/complexType:ReceiptLineItemType/Sku">  
    <java-class name="Xxxxxx"/> 
    </elementBinding> 

Change the above code to 

<complexTypeBinding name="complexType:ReceiptLineItemType/Sku">  
    <java-class name="Xxxxxx"/> 
</complexTypeBinding> 

へのcomplexTypeのためbinding.xmlを変更する非常に悲しいことヒマシウェブサイト自体は

http://www.castor.org/how-to-use-a-binding-file-with-source-generation.html

間違った方法での例を掲載しました
関連する問題