Listing 1: ClientOrders.xsd
<?xml version="1.0" encoding="UTF-8"?><xs:schema ?
targetNamespace="http://www.justwebsolutions.com/articles" xmlns:?
xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.? justwebsolutions.com/articles"
elementFormDefault="qualified"? >
<!-- define global elements for Client -->
<xs:element ? name="CustomerId" type="xs:string"/>
<xs:element name="CompanyName" ? type="xs:string"/>
<xs:element name="Phone" type="xs:string"/>
<xs:element name="Fax" type="xs:string"/>
<!-- define global ? elements for Order -->
<xs:element name="OrderId" type="xs:? int"/>
<xs:element name="OrderDate" type="xs:date"/>
<xs:? element name="RequiredDate" type="xs:date"/> ?
<xs:element name="ShippedDate" type="xs:date"/>
<!-- define Order ? element -->
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element ref="OrderId"/> ?
<xs:element ref="OrderDate"/> ?
<xs:element ref="RequiredDate"/>
<xs:element ref="ShippedDate"/> ?
</xs:sequence>
</xs:complexType>
</xs:element> ?
<!-- define Client element -->
<xs:element name="ClientOrder">
<xs:complexType>
<xs:sequence>
<xs:element ref="CustomerId"/>
<xs:element ref="CompanyName"/>
<xs:element ref="Phone"/>
<xs:element ref="Fax"/>
<xs:sequence>
<xs:element ref="Order"/>
</xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- define schema elements -->
<xs:element name="ClientOrders">
<xs:complexType>
<xs:sequence>
<xs:element ref="ClientOrder"/>
</xs:sequence>
</xs:complexType>
</xs:element></xs:schema>
Listing 2: XMLBean generation script
@rem Schema compiler
@rem
@rem Builds XBean types from xsd files.
@echo off
rem *** SET JAVA_HOME to the location of the Java 1.4 SDK
set JAVA_HOME=C:\JBuilderX\jdk1.4
set PATH=%JAVA_HOME%\bin
set cp=C:\xmlbeans\xkit\lib\xbean.jar
java -classpath %cp% com.bea.xbean.tool.SchemaCompiler %*
:done
Listing 3: ClientOrdersDAO.java
package com.justwebsolutions.articles.dotnetj2ee.datatransfer;
import com.justwebsolutions.articles.*;
import java.util.Calendar;
public class ClientOrdersDAO {
public ClientOrdersDAO() {
}
public static String generateTestData() {
// generate some data for client-orders
ClientOrdersDocument xmlDoc = ClientOrdersDocument.Factory.? newInstance();
ClientOrdersDocument.ClientOrders clientOrder = ? xmlDoc.addNewClientOrders();
ClientOrderDocument.ClientOrder client = ? clientOrder.addNewClientOrder();
// add client information
client.setCustomerId("ALFKI");
client.setCompanyName("Alfreds Futterkiste");
client.setFax("030-0076545");
client.setPhone("030-0074321");
// add order 1
OrderDocument.Order order = client.addNewOrder();
order.setOrderId(10643);
Calendar cal = Calendar.getInstance();
cal.set(1997, 8, 25);
order.setOrderDate(cal);
cal.set(1997, 8, 26);
order.setRequiredDate(cal);
cal.set(1997, 9, 2);
order.setShippedDate(cal);
// add order 2
OrderDocument.Order order2 = client.addNewOrder();
order2.setOrderId(10692);
cal.set(1997, 10, 3);
order2.setOrderDate(cal);
cal.set(1997, 10, 31);
order2.setShippedDate(cal);
// obtain the XML document instance as a string and return
return xmlDoc.xmlText();
}
}