?
pom.xml
?
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>mavenproj</groupId> <artifactId>mavenproj</artifactId> <packaging>jar</packaging> <version>0.0.1-SNAPSHOT</version> <name>mavenproj</name> <url>http://maven.apache.org</url> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.4</source> <target>1.4</target> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>castor-maven-plugin</artifactId> <version>1.0</version> <executions> <execution> <goals> <goal>generate</goal> </goals> <configuration> <schema>src/main/java/shiporder.xsd</schema> <packaging>com.dingfei.schema</packaging> <properties>src/main/java/castorbuilder.properties</properties> <dest>src/main/java</dest> <resourceDestination>src/resources</resourceDestination> </configuration> </execution> </executions> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>castor</groupId> <artifactId>castor</artifactId> <version>0.9.7</version> </dependency> </dependencies> </project>
?
castorbuilder.properties
# Java class mapping of <xsd:element>'s and <xsd:complexType>'s # org.exolab.castor.builder.javaclassmapping=type #org.exolab.castor.builder.nspackages=\http://www.w3.org/2001/XMLSchema=com.dingfei.castor, \
?
shiporder.xsd
<?xml version="1.0" encoding="ISO-8859-1" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="shiporder"> <xs:complexType> <xs:sequence> <xs:element name="orderperson" type="xs:string"/> <xs:element name="shipto"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="item" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="note" type="xs:string" minOccurs="0"/> <xs:element name="quantity" type="xs:positiveInteger"/> <xs:element name="price" type="xs:decimal"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="orderid" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:schema>?
?