2011-01-07 6 views
1

Hallo ich folgendes haben, die für complexKlassenDatei erzeugt, ist nicht bindigs.xml Datei.Castor erzeugen Klassen für complex nicht funktioniert

Sample.xsd Datei

<?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-Konfiguration:

<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> 

Gibt es etwas zu sein, in jeder .properties-Datei geändert, inorder Klassendateien mit dem Namen angegeben bindings.xml Datei für complex erzeugt zu bekommen.

Antwort

0

es heraus! ,

Ändern Sie die binding.xml für complex zu

<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> 

Sehr traurig die Castor Website selbst das Beispiel in einer falschen Weise

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

geschrieben
Verwandte Themen