You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlbeans.apache.org by kk...@apache.org on 2005/01/05 22:09:13 UTC

svn commit: r124274 - in xmlbeans/trunk/test/perf: . bin cases cases/xsd src src/org src/org/apache src/org/apache/xmlbeans src/org/apache/xmlbeans/test src/org/apache/xmlbeans/test/performance src/org/apache/xmlbeans/test/performance/castor src/org/apache/xmlbeans/test/performance/jaxb src/org/apache/xmlbeans/test/performance/jibx src/org/apache/xmlbeans/test/performance/jibx/binding src/org/apache/xmlbeans/test/performance/utils src/org/apache/xmlbeans/test/performance/v1 src/org/apache/xmlbeans/test/performance/v2 src/org/apache/xmlbeans/test/performance/xerces src/org/apache/xmlbeans/test/tools

Author: kkrouse
Date: Wed Jan  5 13:09:10 2005
New Revision: 124274

URL: http://svn.apache.org/viewcvs?view=rev&rev=124274
Log:
Initial checkin of perf benchmark tools.
Contributed by Jamie Zyskowski

Added:
   xmlbeans/trunk/test/perf/
   xmlbeans/trunk/test/perf/bin/
   xmlbeans/trunk/test/perf/bin/castor.bat   (contents, props changed)
   xmlbeans/trunk/test/perf/bin/castor.properties
   xmlbeans/trunk/test/perf/bin/castor.sh
   xmlbeans/trunk/test/perf/bin/jaxb.bat
   xmlbeans/trunk/test/perf/bin/jaxb.sh
   xmlbeans/trunk/test/perf/bin/jibx.bat   (contents, props changed)
   xmlbeans/trunk/test/perf/bin/jibx.sh
   xmlbeans/trunk/test/perf/bin/run_all.bat
   xmlbeans/trunk/test/perf/bin/run_all.sh
   xmlbeans/trunk/test/perf/bin/run_castor.bat
   xmlbeans/trunk/test/perf/bin/run_castor.sh
   xmlbeans/trunk/test/perf/bin/run_jaxb.bat
   xmlbeans/trunk/test/perf/bin/run_jaxb.sh
   xmlbeans/trunk/test/perf/bin/run_jibx.bat
   xmlbeans/trunk/test/perf/bin/run_jibx.sh
   xmlbeans/trunk/test/perf/bin/run_v1.bat
   xmlbeans/trunk/test/perf/bin/run_v1.sh
   xmlbeans/trunk/test/perf/bin/run_v2.bat
   xmlbeans/trunk/test/perf/bin/run_v2.sh
   xmlbeans/trunk/test/perf/bin/run_xerces.bat
   xmlbeans/trunk/test/perf/bin/run_xerces.sh
   xmlbeans/trunk/test/perf/bin/v1.bat   (contents, props changed)
   xmlbeans/trunk/test/perf/bin/v1.sh
   xmlbeans/trunk/test/perf/bin/v2.bat   (contents, props changed)
   xmlbeans/trunk/test/perf/bin/v2.sh
   xmlbeans/trunk/test/perf/bin/xerces.bat
   xmlbeans/trunk/test/perf/bin/xerces.sh
   xmlbeans/trunk/test/perf/build.xml
   xmlbeans/trunk/test/perf/cases/
   xmlbeans/trunk/test/perf/cases/xsd/
   xmlbeans/trunk/test/perf/cases/xsd/non-primitives.xsd
   xmlbeans/trunk/test/perf/cases/xsd/perf-results.xsd
   xmlbeans/trunk/test/perf/cases/xsd/primitives.xsd
   xmlbeans/trunk/test/perf/cases/xsd/purchase-order-1.xml
   xmlbeans/trunk/test/perf/cases/xsd/purchase-order-2.xml
   xmlbeans/trunk/test/perf/cases/xsd/purchase-order-3.xml
   xmlbeans/trunk/test/perf/cases/xsd/purchase-order-4.xml
   xmlbeans/trunk/test/perf/cases/xsd/purchase-order-5.xml
   xmlbeans/trunk/test/perf/cases/xsd/purchase-order-6.xml
   xmlbeans/trunk/test/perf/cases/xsd/purchase-order-7.xml
   xmlbeans/trunk/test/perf/cases/xsd/purchase-order-jibxbinding.xml
   xmlbeans/trunk/test/perf/cases/xsd/purchase-order.xsd
   xmlbeans/trunk/test/perf/env.bat   (contents, props changed)
   xmlbeans/trunk/test/perf/env.sh   (contents, props changed)
   xmlbeans/trunk/test/perf/results.xml
   xmlbeans/trunk/test/perf/src/
   xmlbeans/trunk/test/perf/src/org/
   xmlbeans/trunk/test/perf/src/org/apache/
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/NPrimTopDownCastor.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POReadAllCastor.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POReadOneCastor.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POTopDownCastor.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POTopDownSaveCastor.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/PrimTopDownCastor.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/NPrimTopDownJaxb.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POReadAllJaxb.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POReadOneJaxb.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POTopDownJaxb.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POTopDownSaveJaxb.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/PrimTopDownJaxb.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/POReadAllJibx.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/POReadOneJibx.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/Customer.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/JibxPurchaseOrder.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/Lineitem.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/Shipper.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/utils/
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/utils/Constants.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/utils/PerfUtil.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/BisLoadV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetAttributeV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetElementV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetSetGetAttributeV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetSetGetElementV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorWalkV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/DomWalkNLV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/DomWalkV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/NPrimTopDownV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POGetCustNameV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POGetSetGetCustNameV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POReadAllV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POReadOneV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POTopDownSaveV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POTopDownV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POValidateXmlObjV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/PrimTopDownV1.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/BisLoadV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetAttributeV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetElementV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetSetGetAttributeV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetSetGetElementV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorWalkV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/DomWalkNLV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/DomWalkV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/NPrimTopDownV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POReadAllV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POReadOneV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POTopDownSaveV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POTopDownV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POValidateXmlObjV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/PrimTopDownV2.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/BisLoadXercesDom.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/BisLoadXercesSax.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/DomWalkNLXerces.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/DomWalkXerces.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadAllXercesDom.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadAllXercesSax.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadOneXercesDom.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadOneXercesSax.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POTopDownXercesDom.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POTopDownXercesSax.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POValidateXerces.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/tools/
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/tools/PerfResultTask.java
   xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/tools/PerfResultUtil.java

Added: xmlbeans/trunk/test/perf/bin/castor.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/castor.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/castor.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1 @@
+java -Xmx64m -Xbootclasspath/p:%XMLBEANS_PERFROOT%\3rdparty\xerces\xerces-2_6_2\xml-apis.jar;%XMLBEANS_PERFROOT%\3rdparty\xerces\xerces-2_6_2\xercesImpl.jar -classpath %XMLBEANS_PERFROOT%\build;%XMLBEANS_PERFROOT%\schema_build\castor-purchase-order.jar;%XMLBEANS_PERFROOT%\schema_build\castor-primitives.jar;%XMLBEANS_PERFROOT%\schema_build\castor-non-primitives.jar;%XMLBEANS_PERFROOT%\3rdparty\castor\castor-0.9.5.4.jar -DPERF_ROOT=%XMLBEANS_PERFROOT% org.apache.xmlbeans.test.performance.castor.%* 

Added: xmlbeans/trunk/test/perf/bin/castor.properties
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/castor.properties?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/castor.properties	Wed Jan  5 13:09:10 2005
@@ -0,0 +1 @@
+org.exolab.castor.marshalling.validation=false

Added: xmlbeans/trunk/test/perf/bin/castor.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/castor.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/castor.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,3 @@
+#/bin/sh
+
+java -Xmx64m -Xbootclasspath/p:$XMLBEANS_PERFROOT/3rdparty/xerces/xerces-2_6_2/xml-apis.jar:$XMLBEANS_PERFROOT/3rdparty/xerces/xerces-2_6_2/xercesImpl.jar -classpath $XMLBEANS_PERFROOT/build:$XMLBEANS_PERFROOT/schema_build/castor-purchase-order.jar:$XMLBEANS_PERFROOT/schema_build/castor-primitives.jar:$XMLBEANS_PERFROOT/schema_build/castor-non-primitives.jar:$XMLBEANS_PERFROOT/3rdparty/castor/castor-0.9.5.4.jar -DPERF_ROOT=$XMLBEANS_PERFROOT org.apache.xmlbeans.test.performance.castor.$* 

Added: xmlbeans/trunk/test/perf/bin/jaxb.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/jaxb.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/jaxb.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1 @@
+java -Xmx64m -Xbootclasspath/p:%XMLBEANS_PERFROOT%\3rdparty\xerces\xerces-2_6_2\xml-apis.jar:%XMLBEANS_PERFROOT%\3rdparty\xerces\xerces-2_6_2\xercesImpl.jar -classpath %XMLBEANS_PERFROOT%\build;%XMLBEANS_PERFROOT%\schema_build\jaxb-purchase-order.jar;%XMLBEANS_PERFROOT%\schema_build\jaxb-primitives.jar;%XMLBEANS_PERFROOT%\schema_build\jaxb-non-primitives.jar;%JAXB_LIBDIR%\jaxb-libs.jar;%JAXB_LIBDIR%\jaxb-impl.jar;%JAXB_LIBDIR%\jaxb-api.jar;%JAXB_LIBDIR%\relaxngDatatype.jar;%JAXB_LIBDIR%\xsdlib.jar -DPERF_ROOT=%XMLBEANS_PERFROOT% org.apache.xmlbeans.test.performance.jaxb.%* 

Added: xmlbeans/trunk/test/perf/bin/jaxb.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/jaxb.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/jaxb.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,3 @@
+#/bin/sh
+
+java -Xmx64m -Xbootclasspath/p:$XMLBEANS_PERFROOT/3rdparty/xerces/xerces-2_6_2/xml-apis.jar:$XMLBEANS_PERFROOT/3rdparty/xerces/xerces-2_6_2/xercesImpl.jar -classpath $XMLBEANS_PERFROOT/build:$XMLBEANS_PERFROOT/schema_build/jaxb-purchase-order.jar:$XMLBEANS_PERFROOT/schema_build/jaxb-primitives.jar:$XMLBEANS_PERFROOT/schema_build/jaxb-non-primitives.jar:$JAXB_LIBDIR/jaxb-libs.jar:$JAXB_LIBDIR/jaxb-impl.jar:$JAXB_LIBDIR/jaxb-api.jar:$JAXB_LIBDIR/relaxngDatatype.jar:$JAXB_LIBDIR/xsdlib.jar -DPERF_ROOT=$XMLBEANS_PERFROOT org.apache.xmlbeans.test.performance.jaxb.$* 

Added: xmlbeans/trunk/test/perf/bin/jibx.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/jibx.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/jibx.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1 @@
+java -Xmx64m -classpath %XMLBEANS_PERFROOT%\build;%XMLBEANS_PERFROOT%\schema_build\jibx-purchase-order.jar;%XMLBEANS_PERFROOT%\3rdparty\jibx\jibx\lib\jibx-run.jar;%XMLBEANS_PERFROOT%\3rdparty\jibx\jibx\lib\xpp3.jar -DPERF_ROOT=%XMLBEANS_PERFROOT% org.apache.xmlbeans.test.performance.jibx.%* 

Added: xmlbeans/trunk/test/perf/bin/jibx.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/jibx.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/jibx.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,3 @@
+#/bin/sh
+
+java -Xmx64m -classpath $XMLBEANS_PERFROOT/build:$XMLBEANS_PERFROOT/schema_build/jibx-purchase-order.jar:$XMLBEANS_PERFROOT/3rdparty/jibx/jibx//lib/jibx-run.jar:$XMLBEANS_PERFROOT/3rdparty/jibx/jibx/lib/xpp3.jar -DPERF_ROOT=$XMLBEANS_PERFROOT org.apache.xmlbeans.test.performance.jibx.$* 

Added: xmlbeans/trunk/test/perf/bin/run_all.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_all.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_all.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,6 @@
+call run_v2.bat
+call run_v1.bat
+call run_castor.bat
+call run_jaxb.bat
+call run_jibx.bat
+call run_xerces.bat

Added: xmlbeans/trunk/test/perf/bin/run_all.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_all.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_all.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,6 @@
+sh ./run_v2.sh
+sh ./run_v1.sh
+sh ./run_castor.sh
+sh ./run_jaxb.sh
+sh ./run_jibx.sh
+sh ./run_xerces.sh

Added: xmlbeans/trunk/test/perf/bin/run_castor.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_castor.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_castor.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,18 @@
+call castor.bat POReadAllCastor 1 
+call castor.bat POReadAllCastor 2 
+call castor.bat POReadAllCastor 3 
+call castor.bat POReadAllCastor 4 
+call castor.bat POReadAllCastor 5 
+call castor.bat POReadAllCastor 6 
+call castor.bat POReadAllCastor 7 
+call castor.bat POReadOneCastor 1
+call castor.bat POReadOneCastor 2
+call castor.bat POReadOneCastor 3
+call castor.bat POReadOneCastor 4
+call castor.bat POReadOneCastor 5
+call castor.bat POReadOneCastor 6
+call castor.bat POReadOneCastor 7
+call castor.bat POTopDownCastor
+call castor.bat POTopDownSaveCastor
+call castor.bat PrimTopDownCastor
+call castor.bat NPrimTopDownCastor

Added: xmlbeans/trunk/test/perf/bin/run_castor.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_castor.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_castor.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,18 @@
+sh ./castor.sh POReadAllCastor 1 
+sh ./castor.sh POReadAllCastor 2 
+sh ./castor.sh POReadAllCastor 3 
+sh ./castor.sh POReadAllCastor 4 
+sh ./castor.sh POReadAllCastor 5 
+sh ./castor.sh POReadAllCastor 6 
+sh ./castor.sh POReadAllCastor 7 
+sh ./castor.sh POReadOneCastor 1 
+sh ./castor.sh POReadOneCastor 2 
+sh ./castor.sh POReadOneCastor 3 
+sh ./castor.sh POReadOneCastor 4 
+sh ./castor.sh POReadOneCastor 5 
+sh ./castor.sh POReadOneCastor 6 
+sh ./castor.sh POReadOneCastor 7 
+sh ./castor.sh POTopDownCastor
+sh ./castor.sh POTopDownSaveCastor
+sh ./castor.sh PrimTopDownCastor
+sh ./castor.sh NPrimTopDownCastor

Added: xmlbeans/trunk/test/perf/bin/run_jaxb.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_jaxb.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_jaxb.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,18 @@
+call jaxb.bat POReadAllJaxb 1 
+call jaxb.bat POReadAllJaxb 2 
+call jaxb.bat POReadAllJaxb 3 
+call jaxb.bat POReadAllJaxb 4 
+call jaxb.bat POReadAllJaxb 5 
+call jaxb.bat POReadAllJaxb 6 
+call jaxb.bat POReadAllJaxb 7 
+call jaxb.bat POReadOneJaxb 1
+call jaxb.bat POReadOneJaxb 2
+call jaxb.bat POReadOneJaxb 3
+call jaxb.bat POReadOneJaxb 4
+call jaxb.bat POReadOneJaxb 5
+call jaxb.bat POReadOneJaxb 6
+call jaxb.bat POReadOneJaxb 7
+call jaxb.bat POTopDownJaxb
+call jaxb.bat POTopDownSaveJaxb
+call jaxb.bat PrimTopDownJaxb
+call jaxb.bat NPrimTopDownJaxb

Added: xmlbeans/trunk/test/perf/bin/run_jaxb.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_jaxb.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_jaxb.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,18 @@
+sh ./jaxb.sh POReadAllJaxb 1 
+sh ./jaxb.sh POReadAllJaxb 2 
+sh ./jaxb.sh POReadAllJaxb 3 
+sh ./jaxb.sh POReadAllJaxb 4 
+sh ./jaxb.sh POReadAllJaxb 5 
+sh ./jaxb.sh POReadAllJaxb 6 
+sh ./jaxb.sh POReadAllJaxb 7 
+sh ./jaxb.sh POReadOneJaxb 1 
+sh ./jaxb.sh POReadOneJaxb 2 
+sh ./jaxb.sh POReadOneJaxb 3 
+sh ./jaxb.sh POReadOneJaxb 4 
+sh ./jaxb.sh POReadOneJaxb 5 
+sh ./jaxb.sh POReadOneJaxb 6 
+sh ./jaxb.sh POReadOneJaxb 7 
+sh ./jaxb.sh POTopDownJaxb
+sh ./jaxb.sh POTopDownSaveJaxb
+sh ./jaxb.sh PrimTopDownJaxb
+sh ./jaxb.sh NPrimTopDownJaxb

Added: xmlbeans/trunk/test/perf/bin/run_jibx.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_jibx.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_jibx.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,14 @@
+call jibx.bat POReadAllJibx 1 
+call jibx.bat POReadAllJibx 2 
+call jibx.bat POReadAllJibx 3 
+call jibx.bat POReadAllJibx 4 
+call jibx.bat POReadAllJibx 5 
+call jibx.bat POReadAllJibx 6 
+call jibx.bat POReadAllJibx 7 
+call jibx.bat POReadOneJibx 1 
+call jibx.bat POReadOneJibx 2 
+call jibx.bat POReadOneJibx 3 
+call jibx.bat POReadOneJibx 4 
+call jibx.bat POReadOneJibx 5 
+call jibx.bat POReadOneJibx 6 
+call jibx.bat POReadOneJibx 7 

Added: xmlbeans/trunk/test/perf/bin/run_jibx.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_jibx.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_jibx.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,14 @@
+sh ./jibx.sh POReadAllJibx 1 
+sh ./jibx.sh POReadAllJibx 2 
+sh ./jibx.sh POReadAllJibx 3 
+sh ./jibx.sh POReadAllJibx 4 
+sh ./jibx.sh POReadAllJibx 5 
+sh ./jibx.sh POReadAllJibx 6 
+sh ./jibx.sh POReadAllJibx 7 
+sh ./jibx.sh POReadOneJibx 1 
+sh ./jibx.sh POReadOneJibx 2 
+sh ./jibx.sh POReadOneJibx 3 
+sh ./jibx.sh POReadOneJibx 4 
+sh ./jibx.sh POReadOneJibx 5 
+sh ./jibx.sh POReadOneJibx 6 
+sh ./jibx.sh POReadOneJibx 7 

Added: xmlbeans/trunk/test/perf/bin/run_v1.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_v1.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_v1.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,90 @@
+echo off
+call v1.bat POReadAllV1 1 
+echo
+call v1.bat POReadAllV1 2 
+echo
+call v1.bat POReadAllV1 3 
+echo
+call v1.bat POReadAllV1 4 
+echo
+call v1.bat POReadAllV1 5 
+echo
+call v1.bat POReadAllV1 6 
+echo
+call v1.bat POReadAllV1 7 
+echo
+call v1.bat POReadOneV1 1
+echo
+call v1.bat POReadOneV1 2
+echo
+call v1.bat POReadOneV1 3
+echo
+call v1.bat POReadOneV1 4
+echo
+call v1.bat POReadOneV1 5
+echo
+call v1.bat POReadOneV1 6
+echo
+call v1.bat POReadOneV1 7
+echo
+call v1.bat POTopDownV1
+echo
+call v1.bat POTopDownSaveV1
+echo
+call v1.bat POValidateXmlObjV1
+echo
+call v1.bat PrimTopDownV1
+echo 
+call v1.bat NPrimTopDownV1
+echo 
+call v1.bat CursorWalkV1 deep-attributes
+echo
+call v1.bat CursorWalkV1 deep-elements
+echo 
+call v1.bat CursorWalkV1 wide-attributes
+echo
+call v1.bat CursorWalkV1 wide-elements
+echo
+call v1.bat CursorWalkV1 wide-text
+echo
+call v1.bat CursorGetAttributeV1 deep-attributes
+echo
+call v1.bat CursorGetAttributeV1 wide-attributes
+echo
+call v1.bat CursorGetSetGetAttributeV1 deep-attributes
+echo
+call v1.bat CursorGetSetGetAttributeV1 wide-attributes
+echo
+call v1.bat CursorGetElementV1
+echo
+call v1.bat CursorGetSetGetElementV1
+echo
+call v1.bat BisLoadV1 deep-attributes
+echo 
+call v1.bat BisLoadV1 deep-elements
+echo 
+call v1.bat BisLoadV1 wide-attributes
+echo 
+call v1.bat BisLoadV1 wide-elements
+echo 
+call v1.bat BisLoadV1 wide-text
+echo 
+call v1.bat DomWalkV1 deep-attributes
+echo
+call v1.bat DomWalkV1 deep-elements
+echo
+call v1.bat DomWalkV1 wide-attributes
+echo
+call v1.bat DomWalkV1 wide-elements
+echo
+call v1.bat DomWalkV1 wide-text
+echo
+call v1.bat DomWalkNLV1 deep-attributes
+echo
+call v1.bat DomWalkNLV1 deep-elements
+echo
+call v1.bat DomWalkNLV1 wide-attributes
+echo
+call v1.bat DomWalkNLV1 wide-elements
+echo
+call v1.bat DomWalkNLV1 wide-text

Added: xmlbeans/trunk/test/perf/bin/run_v1.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_v1.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_v1.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,90 @@
+sh ./v1.sh POReadAllV1 1 
+echo ""
+sh ./v1.sh POReadAllV1 2 
+echo ""
+sh ./v1.sh POReadAllV1 3 
+echo ""
+sh ./v1.sh POReadAllV1 4 
+echo ""
+sh ./v1.sh POReadAllV1 5 
+echo ""
+sh ./v1.sh POReadAllV1 6 
+echo ""
+sh ./v1.sh POReadAllV1 7 
+echo ""
+sh ./v1.sh POReadOneV1 1
+echo ""
+sh ./v1.sh POReadOneV1 2 
+echo ""
+sh ./v1.sh POReadOneV1 3
+echo ""
+sh ./v1.sh POReadOneV1 4
+echo ""
+sh ./v1.sh POReadOneV1 5 
+echo ""
+sh ./v1.sh POReadOneV1 6 
+echo ""
+sh ./v1.sh POReadOneV1 7 
+echo ""
+sh ./v1.sh POTopDownV1
+echo ""
+sh ./v1.sh POTopDownSaveV1
+echo ""
+sh ./v1.sh POValidateXmlObjV1
+echo ""
+sh ./v1.sh PrimTopDownV1
+echo ""
+sh ./v1.sh NPrimTopDownV1
+echo ""
+sh ./v1.sh CursorWalkV1 deep-attributes
+echo ""
+sh ./v1.sh CursorWalkV1 deep-elements
+echo ""
+sh ./v1.sh CursorWalkV1 wide-attributes
+echo ""
+sh ./v1.sh CursorWalkV1 wide-elements
+echo ""
+sh ./v1.sh CursorWalkV1 wide-text
+echo ""
+sh ./v1.sh CursorGetAttributeV1 deep-attributes
+echo ""
+sh ./v1.sh CursorGetAttributeV1 wide-attributes
+echo ""
+sh ./v1.sh CursorGetSetGetAttributeV1 deep-attributes
+echo ""
+sh ./v1.sh CursorGetSetGetAttributeV1 wide-attributes
+echo ""
+sh ./v1.sh CursorGetElementV1
+echo ""
+sh ./v1.sh CursorGetSetGetElementV1
+echo ""
+sh ./v1.sh BisLoadV1 deep-attributes
+echo ""
+sh ./v1.sh BisLoadV1 deep-elements
+echo ""
+sh ./v1.sh BisLoadV1 wide-attributes
+echo ""
+sh ./v1.sh BisLoadV1 wide-elements
+echo ""
+sh ./v1.sh BisLoadV1 wide-text
+echo ""
+sh ./v1.sh DomWalkV1 deep-attributes
+echo ""
+sh ./v1.sh DomWalkV1 deep-elements
+echo ""
+sh ./v1.sh DomWalkV1 wide-attributes
+echo ""
+sh ./v1.sh DomWalkV1 wide-elements 
+echo ""
+sh ./v1.sh DomWalkV1 wide-text
+echo ""
+sh ./v1.sh DomWalkNLV1 deep-attributes
+echo ""
+sh ./v1.sh DomWalkNLV1 deep-elements
+echo ""
+sh ./v1.sh DomWalkNLV1 wide-attributes
+echo ""
+sh ./v1.sh DomWalkNLV1 wide-elements 
+echo ""
+sh ./v1.sh DomWalkNLV1 wide-text
+echo ""

Added: xmlbeans/trunk/test/perf/bin/run_v2.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_v2.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_v2.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,90 @@
+echo off
+call v2.bat POReadAllV2 1 
+echo
+call v2.bat POReadAllV2 2 
+echo
+call v2.bat POReadAllV2 3 
+echo
+call v2.bat POReadAllV2 4 
+echo
+call v2.bat POReadAllV2 5 
+echo
+call v2.bat POReadAllV2 6 
+echo
+call v2.bat POReadAllV2 7 
+echo
+call v2.bat POReadOneV2 1
+echo
+call v2.bat POReadOneV2 2
+echo
+call v2.bat POReadOneV2 3
+echo
+call v2.bat POReadOneV2 4
+echo
+call v2.bat POReadOneV2 5
+echo
+call v2.bat POReadOneV2 6
+echo
+call v2.bat POReadOneV2 7
+echo
+call v2.bat POTopDownV2
+echo
+call v2.bat POTopDownSaveV2
+echo
+call v2.bat POValidateXmlObjV2
+echo
+call v2.bat PrimTopDownV2
+echo 
+call v2.bat NPrimTopDownV2
+echo 
+call v2.bat CursorWalkV2 deep-attributes
+echo
+call v2.bat CursorWalkV2 deep-elements
+echo 
+call v2.bat CursorWalkV2 wide-attributes
+echo
+call v2.bat CursorWalkV2 wide-elements
+echo
+call v2.bat CursorWalkV2 wide-text
+echo
+call v2.bat CursorGetAttributeV2 deep-attributes
+echo
+call v2.bat CursorGetAttributeV2 wide-attributes
+echo
+call v2.bat CursorGetSetGetAttributeV2 deep-attributes
+echo
+call v2.bat CursorGetSetGetAttributeV2 wide-attributes
+echo
+call v2.bat CursorGetElementV2
+echo
+call v2.bat CursorGetSetGetElementV2
+echo
+call v2.bat BisLoadV2 deep-attributes
+echo 
+call v2.bat BisLoadV2 deep-elements
+echo 
+call v2.bat BisLoadV2 wide-attributes
+echo 
+call v2.bat BisLoadV2 wide-elements
+echo 
+call v2.bat BisLoadV2 wide-text
+echo 
+call v2.bat DomWalkV2 deep-attributes
+echo
+call v2.bat DomWalkV2 deep-elements
+echo
+call v2.bat DomWalkV2 wide-attributes
+echo
+call v2.bat DomWalkV2 wide-elements
+echo
+call v2.bat DomWalkV2 wide-text
+echo
+call v2.bat DomWalkNLV2 deep-attributes
+echo
+call v2.bat DomWalkNLV2 deep-elements
+echo
+call v2.bat DomWalkNLV2 wide-attributes
+echo
+call v2.bat DomWalkNLV2 wide-elements
+echo
+call v2.bat DomWalkNLV2 wide-text

Added: xmlbeans/trunk/test/perf/bin/run_v2.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_v2.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_v2.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,90 @@
+sh ./v2.sh POReadAllV2 1 
+echo ""
+sh ./v2.sh POReadAllV2 2 
+echo ""
+sh ./v2.sh POReadAllV2 3 
+echo ""
+sh ./v2.sh POReadAllV2 4 
+echo ""
+sh ./v2.sh POReadAllV2 5 
+echo ""
+sh ./v2.sh POReadAllV2 6 
+echo ""
+sh ./v2.sh POReadAllV2 7 
+echo ""
+sh ./v2.sh POReadOneV2 1
+echo ""
+sh ./v2.sh POReadOneV2 2 
+echo ""
+sh ./v2.sh POReadOneV2 3
+echo ""
+sh ./v2.sh POReadOneV2 4
+echo ""
+sh ./v2.sh POReadOneV2 5 
+echo ""
+sh ./v2.sh POReadOneV2 6 
+echo ""
+sh ./v2.sh POReadOneV2 7 
+echo ""
+sh ./v2.sh POTopDownV2
+echo ""
+sh ./v2.sh POTopDownSaveV2
+echo ""
+sh ./v2.sh POValidateXmlObjV2
+echo ""
+sh ./v2.sh PrimTopDownV2
+echo ""
+sh ./v2.sh NPrimTopDownV2
+echo ""
+sh ./v2.sh CursorWalkV2 deep-attributes
+echo ""
+sh ./v2.sh CursorWalkV2 deep-elements
+echo ""
+sh ./v2.sh CursorWalkV2 wide-attributes
+echo ""
+sh ./v2.sh CursorWalkV2 wide-elements
+echo ""
+sh ./v2.sh CursorWalkV2 wide-text
+echo ""
+sh ./v2.sh CursorGetAttributeV2 deep-attributes
+echo ""
+sh ./v2.sh CursorGetAttributeV2 wide-attributes
+echo ""
+sh ./v2.sh CursorGetSetGetAttributeV2 deep-attributes
+echo ""
+sh ./v2.sh CursorGetSetGetAttributeV2 wide-attributes
+echo ""
+sh ./v2.sh CursorGetElementV2
+echo ""
+sh ./v2.sh CursorGetSetGetElementV2
+echo ""
+sh ./v2.sh BisLoadV2 deep-attributes
+echo ""
+sh ./v2.sh BisLoadV2 deep-elements
+echo ""
+sh ./v2.sh BisLoadV2 wide-attributes
+echo ""
+sh ./v2.sh BisLoadV2 wide-elements
+echo ""
+sh ./v2.sh BisLoadV2 wide-text
+echo ""
+sh ./v2.sh DomWalkV2 deep-attributes
+echo ""
+sh ./v2.sh DomWalkV2 deep-elements
+echo ""
+sh ./v2.sh DomWalkV2 wide-attributes
+echo ""
+sh ./v2.sh DomWalkV2 wide-elements 
+echo ""
+sh ./v2.sh DomWalkV2 wide-text
+echo ""
+sh ./v2.sh DomWalkNLV2 deep-attributes
+echo ""
+sh ./v2.sh DomWalkNLV2 deep-elements
+echo ""
+sh ./v2.sh DomWalkNLV2 wide-attributes
+echo ""
+sh ./v2.sh DomWalkNLV2 wide-elements 
+echo ""
+sh ./v2.sh DomWalkNLV2 wide-text
+echo ""

Added: xmlbeans/trunk/test/perf/bin/run_xerces.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_xerces.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_xerces.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,51 @@
+call xerces.bat POReadAllXercesSax 1 
+call xerces.bat POReadAllXercesDom 1 
+call xerces.bat POReadAllXercesSax 2 
+call xerces.bat POReadAllXercesDom 2 
+call xerces.bat POReadAllXercesSax 3 
+call xerces.bat POReadAllXercesDom 3 
+call xerces.bat POReadAllXercesSax 4 
+call xerces.bat POReadAllXercesDom 4 
+call xerces.bat POReadAllXercesSax 5 
+call xerces.bat POReadAllXercesDom 5 
+call xerces.bat POReadAllXercesSax 6 
+call xerces.bat POReadAllXercesDom 6 
+call xerces.bat POReadAllXercesSax 7 
+call xerces.bat POReadAllXercesDom 7 
+call xerces.bat POReadOneXercesSax 1 
+call xerces.bat POReadOneXercesDom 1 
+call xerces.bat POReadOneXercesSax 2 
+call xerces.bat POReadOneXercesDom 2 
+call xerces.bat POReadOneXercesSax 3 
+call xerces.bat POReadOneXercesDom 3 
+call xerces.bat POReadOneXercesSax 4 
+call xerces.bat POReadOneXercesDom 4 
+call xerces.bat POReadOneXercesSax 5 
+call xerces.bat POReadOneXercesDom 5 
+call xerces.bat POReadOneXercesSax 6 
+call xerces.bat POReadOneXercesDom 6 
+call xerces.bat POReadOneXercesSax 7 
+call xerces.bat POReadOneXercesDom 7 
+call xerces.bat POTopDownXercesSax
+call xerces.bat POTopDownXercesDom
+call xerces.bat POValidateXerces
+call xerces.bat BisLoadXercesDom deep-attributes
+call xerces.bat BisLoadXercesSax deep-attributes
+call xerces.bat BisLoadXercesDom deep-elements
+call xerces.bat BisLoadXercesSax deep-elements
+call xerces.bat BisLoadXercesDom wide-attributes
+call xerces.bat BisLoadXercesSax wide-attributes
+call xerces.bat BisLoadXercesDom wide-elements
+call xerces.bat BisLoadXercesSax wide-elements
+call xerces.bat BisLoadXercesDom wide-text 
+call xerces.bat BisLoadXercesSax wide-text
+call xerces.bat DomWalkXerces deep-attributes
+call xerces.bat DomWalkXerces deep-elements
+call xerces.bat DomWalkXerces wide-attributes
+call xerces.bat DomWalkXerces wide-elements
+call xerces.bat DomWalkXerces wide-text
+call xerces.bat DomWalkNLXerces deep-attributes
+call xerces.bat DomWalkNLXerces deep-elements
+call xerces.bat DomWalkNLXerces wide-attributes
+call xerces.bat DomWalkNLXerces wide-elements
+call xerces.bat DomWalkNLXerces wide-text

Added: xmlbeans/trunk/test/perf/bin/run_xerces.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/run_xerces.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/run_xerces.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,51 @@
+sh ./xerces.sh POReadAllXercesSax 1 
+sh ./xerces.sh POReadAllXercesDom 1 
+sh ./xerces.sh POReadAllXercesSax 2 
+sh ./xerces.sh POReadAllXercesDom 2 
+sh ./xerces.sh POReadAllXercesSax 3 
+sh ./xerces.sh POReadAllXercesDom 3 
+sh ./xerces.sh POReadAllXercesSax 4 
+sh ./xerces.sh POReadAllXercesDom 4 
+sh ./xerces.sh POReadAllXercesSax 5 
+sh ./xerces.sh POReadAllXercesDom 5 
+sh ./xerces.sh POReadAllXercesSax 6 
+sh ./xerces.sh POReadAllXercesDom 6 
+sh ./xerces.sh POReadAllXercesSax 7 
+sh ./xerces.sh POReadAllXercesDom 7 
+sh ./xerces.sh POReadOneXercesSax 1 
+sh ./xerces.sh POReadOneXercesDom 1 
+sh ./xerces.sh POReadOneXercesSax 2 
+sh ./xerces.sh POReadOneXercesDom 2 
+sh ./xerces.sh POReadOneXercesSax 3 
+sh ./xerces.sh POReadOneXercesDom 3 
+sh ./xerces.sh POReadOneXercesSax 4 
+sh ./xerces.sh POReadOneXercesDom 4 
+sh ./xerces.sh POReadOneXercesSax 5 
+sh ./xerces.sh POReadOneXercesDom 5 
+sh ./xerces.sh POReadOneXercesSax 6 
+sh ./xerces.sh POReadOneXercesDom 6 
+sh ./xerces.sh POReadOneXercesSax 7 
+sh ./xerces.sh POReadOneXercesDom 7 
+sh ./xerces.sh POTopDownXercesSax
+sh ./xerces.sh POTopDownXercesDom
+sh ./xerces.sh POValidateXerces
+sh ./xerces.sh BisLoadXercesDom deep-attributes
+sh ./xerces.sh BisLoadXercesSax deep-attributes
+sh ./xerces.sh BisLoadXercesDom deep-elements
+sh ./xerces.sh BisLoadXercesSax deep-elements
+sh ./xerces.sh BisLoadXercesDom wide-attributes
+sh ./xerces.sh BisLoadXercesSax wide-attributes
+sh ./xerces.sh BisLoadXercesDom wide-elements
+sh ./xerces.sh BisLoadXercesSax wide-elements
+sh ./xerces.sh BisLoadXercesDom wide-text 
+sh ./xerces.sh BisLoadXercesSax wide-text
+sh ./xerces.sh DomWalkXerces deep-attributes
+sh ./xerces.sh DomWalkXerces deep-elements
+sh ./xerces.sh DomWalkXerces wide-attributes
+sh ./xerces.sh DomWalkXerces wide-elements
+sh ./xerces.sh DomWalkXerces wide-text
+sh ./xerces.sh DomWalkNLXerces deep-attributes
+sh ./xerces.sh DomWalkNLXerces deep-elements
+sh ./xerces.sh DomWalkNLXerces wide-attributes
+sh ./xerces.sh DomWalkNLXerces wide-elements
+sh ./xerces.sh DomWalkNLXerces wide-text

Added: xmlbeans/trunk/test/perf/bin/v1.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/v1.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/v1.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,3 @@
+set V1_LIB=%XMLBEANS_PERFROOT%\3rdparty\v1\xmlbeans-1.0.3\lib
+
+java -Xmx64m -classpath %XMLBEANS_PERFROOT%\build;%XMLBEANS_PERFROOT%\schema_build\v1-purchase-order.jar;%XMLBEANS_PERFROOT%\schema_build\v1-primitives.jar;%XMLBEANS_PERFROOT%\schema_build\v1-non-primitives.jar;%V1_LIB%\xbean.jar;%XMLBEANS_HOME%\external\lib\piccolo_apache_dist_20040629_v2.jar -DPERF_ROOT=%XMLBEANS_PERFROOT% org.apache.xmlbeans.test.performance.v1.%* 

Added: xmlbeans/trunk/test/perf/bin/v1.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/v1.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/v1.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,4 @@
+V1_LIB=$XMLBEANS_PERFROOT/3rdparty/v1/xmlbeans-1.0.3/lib
+export V1_LIB
+
+java -Xmx64m -classpath $XMLBEANS_PERFROOT/build:$XMLBEANS_PERFROOT/schema_build/v1-purchase-order.jar:$XMLBEANS_PERFROOT/schema_build/v1-primitives.jar:$XMLBEANS_PERFROOT/schema_build/v1-non-primitives.jar:$V1_LIB/xbean.jar:$XMLBEANS_HOME/external/lib/piccolo_apache_dist_20040629_v2.jar -DPERF_ROOT=$XMLBEANS_PERFROOT org.apache.xmlbeans.test.performance.v1.$* 

Added: xmlbeans/trunk/test/perf/bin/v2.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/v2.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/v2.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1 @@
+java -Xmx64m -classpath %XMLBEANS_PERFROOT%\build;%XMLBEANS_PERFROOT%\schema_build\v2-purchase-order.jar;%XMLBEANS_PERFROOT%\schema_build\v2-primitives.jar;%XMLBEANS_PERFROOT%\schema_build\v2-non-primitives.jar;%XMLBEANS_HOME%\build\lib\xbean.jar;%XMLBEANS_HOME%\build\lib\jsr173_api.jar;%XMLBEANS_HOME%\external\lib\piccolo_apache_dist_20040629_v2.jar -DPERF_ROOT=%XMLBEANS_PERFROOT% org.apache.xmlbeans.test.performance.v2.%* 

Added: xmlbeans/trunk/test/perf/bin/v2.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/v2.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/v2.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1 @@
+java -Xmx64m -classpath $XMLBEANS_PERFROOT/build:$XMLBEANS_PERFROOT/schema_build/v2-purchase-order.jar:$XMLBEANS_PERFROOT/schema_build/v2-primitives.jar:$XMLBEANS_PERFROOT/schema_build/v2-non-primitives.jar:$XMLBEANS_HOME/build/lib/xbean.jar:$XMLBEANS_HOME/build/lib/jsr173_api.jar:$XMLBEANS_HOME/external/lib/piccolo_apache_dist_20040629_v2.jar -DPERF_ROOT=$XMLBEANS_PERFROOT org.apache.xmlbeans.test.performance.v2.$* 

Added: xmlbeans/trunk/test/perf/bin/xerces.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/xerces.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/xerces.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1 @@
+java -Xmx64m -Xbootclasspath/p:%XMLBEANS_PERFROOT%\3rdparty\xerces\xerces-2_6_2\xml-apis.jar;%XMLBEANS_PERFROOT%\3rdparty\xerces\xerces-2_6_2\xercesImpl.jar -classpath %XMLBEANS_PERFROOT%\build -DPERF_ROOT=%XMLBEANS_PERFROOT% org.apache.xmlbeans.test.performance.xerces.%* 

Added: xmlbeans/trunk/test/perf/bin/xerces.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/bin/xerces.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/bin/xerces.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,3 @@
+#/bin/sh
+
+java -Xbootclasspath/p:$XMLBEANS_PERFROOT/3rdparty/xerces/xerces-2_6_2/xml-apis.jar:$XMLBEANS_PERFROOT/3rdparty/xerces/xerces-2_6_2/xercesImpl.jar -Xmx64m -classpath $XMLBEANS_PERFROOT/build -DPERF_ROOT=$XMLBEANS_PERFROOT org.apache.xmlbeans.test.performance.xerces.$* 

Added: xmlbeans/trunk/test/perf/build.xml
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/build.xml?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/build.xml	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,543 @@
+<!-- build file -->
+<project name="xmlbeans-perf" default="usage">
+	
+	<target name="usage">
+		<echo>
+	Main Usage:
+	bootstrap - download and unzip benchmark jars - REQUIRED FOR BENCHMARKS 
+	[re]build.all - builds all schema jars and test classes
+	[re]build - builds test and tool classes only
+	[re]build.schema.jars - that's what it does :->
+	clean.all - clean all schema jars and test/tools classes
+	clean - clean test and tools classes
+	clean.schema.jars - clean schema jars
+
+	Schema Builds:
+	v2.schema.jars - required for tools build and v2 perf
+	v1.schema.jars
+	castor.schema.jars
+	jaxb.schema.jars
+	jibx.schema.jars
+
+	Perf Builds:
+	build.tools - perf tools
+	build.v2.perf
+	build.v1.perf
+	build.castor.perf
+	build.jaxb.perf
+	build.jibx.perf
+	build.xerces.perf
+		</echo>
+	</target>
+
+	<property environment="env"/>
+
+	<!-- root properties used for finding everything -->
+	<property name="xmlbeans.perf.root" value="${basedir}"/>
+	<!-- TODO: CVS point to relative v2 build -->
+	<property name="v2.xmlbeans.root" value="${env.XMLBEANS_HOME}"/>
+
+	<property name="src.dir" value="${xmlbeans.perf.root}/src"/>
+	<property name="build.dir" value="${xmlbeans.perf.root}/build"/>
+	<property name="doc.dir" value="${xmlbeans.perf.root}/build/doc"/>
+	<property name="test.case.dir" value="${xmlbeans.perf.root}/cases"/>
+	<property name="temp.dir" value="${xmlbeans.perf.root}/temp"/>
+	<property name="schema.jar.build.dir" value="${xmlbeans.perf.root}/schema_build"/>
+	<property name="3rdparty.dir" value="${xmlbeans.perf.root}/3rdparty"/>
+
+	<!-- benchmark directories -->
+	<property name="v2.dir" value="${v2.xmlbeans.root}"/>
+	<!-- TODO: CVS - point to relative v1 line -->
+    <property name="v1.dir" value="${3rdparty.dir}/v1"/>
+	<property name="castor.dir" value="${3rdparty.dir}/castor"/>
+	<property name="jibx.dir" value="${3rdparty.dir}/jibx"/>
+	<property name="xerces.dir" value="${3rdparty.dir}/xerces"/>
+	<!-- can't download jaxb on the fly, so user has to setup this env var -->
+	<property name="jaxb.dir" value="${env.JAXB_LIBDIR}"/>
+
+	<!-- castor -->
+	<!-- TODO: CVS - crack castor jar and turn off validation -->
+	<property name="castor.jar" value="${castor.dir}/castor-0.9.5.4.jar"/>
+	<property name="castor.url" value="ftp://ftp.exolab.org/pub/castor/castor_0.9.5.4/castor-0.9.5.4.jar"/>
+
+	<!-- jibx -->
+	<property name="jibx.zip" value="${jibx.dir}/jibx-beta3c.zip"/>
+	<property name="jibx.url" value="http://umn.dl.sourceforge.net/sourceforge/jibx/jibx-beta3c.zip"/>
+
+	<!-- v1 -->
+	<property name="v1.zip" value="${v1.dir}/xmlbeans-1.0.3.zip"/>
+	<property name="v1.url" value="http://www.apache.org/dist/xml/xmlbeans/v1.0.3/bin/xmlbeans-1.0.3.zip"/>
+
+	<!-- xerces -->
+	<property name="xercesImpl.jar" value="${xerces.dir}/xerces-2_6_2/xercesImpl.jar"/>
+	<property name="xerces.zip" value="${xerces.dir}/Xerces-J-bin.2.6.2.zip"/>
+	<property name="xerces.url" value="http://www.apache.org/dist/xml/xerces-j/Xerces-J-bin.2.6.2.zip"/>
+
+	<!-- user-defined schema jars for SOM runtime perf tests  -->
+	<property name="v2-purchase-order.jar" value="${schema.jar.build.dir}/v2-purchase-order.jar"/>
+	<property name="v2-primitives.jar" value="${schema.jar.build.dir}/v2-primitives.jar"/>
+	<property name="v2-non-primitives.jar" value="${schema.jar.build.dir}/v2-non-primitives.jar"/>
+	<property name="v1-purchase-order.jar" value="${schema.jar.build.dir}/v1-purchase-order.jar"/>
+	<property name="v1-primitives.jar" value="${schema.jar.build.dir}/v1-primitives.jar"/>
+	<property name="v1-non-primitives.jar" value="${schema.jar.build.dir}/v1-non-primitives.jar"/>
+	<property name="castor-purchase-order.jar" value="${schema.jar.build.dir}/castor-purchase-order.jar"/>
+	<property name="castor-primitives.jar" value="${schema.jar.build.dir}/castor-primitives.jar"/>
+	<property name="castor-non-primitives.jar" value="${schema.jar.build.dir}/castor-non-primitives.jar"/>
+	<property name="jibx-purchase-order.jar" value="${schema.jar.build.dir}/jibx-purchase-order.jar"/>
+	<property name="jaxb-purchase-order.jar" value="${schema.jar.build.dir}/jaxb-purchase-order.jar"/>
+	<property name="jaxb-primitives.jar" value="${schema.jar.build.dir}/jaxb-primitives.jar"/>
+	<property name="jaxb-non-primitives.jar" value="${schema.jar.build.dir}/jaxb-non-primitives.jar"/>
+
+	<!-- util schema jar(s) -->
+	<property name="perf-results.jar" value="${schema.jar.build.dir}/perf-results.jar"/>
+
+	<!-- classpaths -->
+	<path id="tools.classpath">
+		<fileset dir="${v2.dir}/build/lib" includes="*.jar"/>
+		<pathelement path="${perf-results.jar}"/>
+		<pathelement path="${build.dir}"/>
+	</path>
+
+	<path id="v2.classpath">
+		<fileset dir="${v2.dir}/build/lib" includes="*.jar"/>
+		<fileset dir="${v2.dir}/external/lib" includes="*.jar"/>
+		<pathelement path="${v2-purchase-order.jar}"/>
+		<pathelement path="${v2-primitives.jar}"/>
+		<pathelement path="${v2-non-primitives.jar}"/>
+		<pathelement path="${build.dir}"/>
+		<pathelement path="${perf-results.jar}"/>
+	</path>
+	
+	<path id="v1.classpath">
+		<fileset dir="${v1.dir}/xmlbeans-1.0.3/lib" includes="*.jar"/>
+		<pathelement path="${v1-purchase-order.jar}"/>
+		<pathelement path="${v1-primitives.jar}"/>
+		<pathelement path="${v1-non-primitives.jar}"/>
+		<pathelement path="${build.dir}"/>
+	</path>
+
+	<path id="castor.classpath">
+		<pathelement path="${castor.jar}"/>
+		<pathelement path="${xercesImpl.jar}"/>
+		<pathelement path="${castor-purchase-order.jar}"/>
+		<pathelement path="${castor-primitives.jar}"/>
+		<pathelement path="${castor-non-primitives.jar}"/>
+		<pathelement path="${build.dir}"/>
+	</path>
+
+	<path id="jibx.classpath">
+		<fileset dir="${jibx.dir}/jibx/lib" includes="*.jar"/>
+		<pathelement path="${jibx-purchase-order.jar}"/>
+		<pathelement path="${build.dir}"/>
+	</path>
+	<!-- used when building the schema jar -->
+	<path id="jibx.binding.classpath">
+		<fileset dir="${jibx.dir}/jibx/lib" includes="*.jar"/>
+		<pathelement path="${temp.dir}"/>
+	</path>
+
+	<path id="jaxb.classpath">
+		<fileset dir="${jaxb.dir}/endorsed" includes="*.jar"/>
+		<fileset dir="${jaxb.dir}" includes="*.jar"/>
+		<pathelement path="${jaxb-purchase-order.jar}"/>
+		<pathelement path="${jaxb-primitives.jar}"/>
+		<pathelement path="${jaxb-non-primitives.jar}"/>
+		<pathelement path="${build.dir}"/>
+	</path>
+
+	<path id="xerces.classpath">
+		<pathelement path="${xercesImpl.jar}"/>
+		<pathelement path="${build.dir}"/>
+	</path>
+
+	<!-- main build targets  -->
+	<target name="build.all" depends="build.schema.jars,build"/>
+	<target name="clean.all" depends="clean.schema.jars,clean"/>
+	<target name="rebuild.all" depends="rebuild.schema.jars,rebuild"/>
+
+
+	<!-- conveinence src build targets  -->	
+	<target name="build" depends="build.tools,build.v2.perf,build.v1.perf,build.castor.perf,build.jibx.perf,build.xerces.perf,build.jaxb.perf"/>
+
+	<target name="clean">
+		<delete dir="${build.dir}"/>
+		<delete dir="${temp.dir}"/>
+	</target>
+
+	<target name="rebuild" depends="clean,build"/>
+
+
+	<!-- conveinence schema jar build targets -->
+	<target name="build.schema.jars" depends="v2.schema.jars,v1.schema.jars,castor.schema.jars,jibx.schema.jars,jaxb.schema.jars"/>
+	
+	<target name="clean.schema.jars">
+		<delete dir="${schema.jar.build.dir}"/>
+	</target>
+
+	<target name="rebuild.schema.jars" depends="clean.schema.jars,build.schema.jars"/>
+
+
+	<!-- specific build targets -->
+	<target name="clean.bootstrap">
+		<delete dir="${3rdparty.dir}"/>
+	</target>
+	<target name="bootstrap">
+		<mkdir dir="${castor.dir}"/>
+		<get src="${castor.url}" dest="${castor.jar}" verbose="true"/>
+		
+		<mkdir dir="${jibx.dir}"/>
+		<get src="${jibx.url}" dest="${jibx.zip}" verbose="true"/>
+		<unzip src="${jibx.zip}" dest="${jibx.dir}"/>
+
+		<mkdir dir="${v1.dir}"/>
+		<get src="${v1.url}" dest="${v1.zip}" verbose="true"/>
+		<unzip src="${v1.zip}" dest="${v1.dir}"/>
+
+		<mkdir dir="${xerces.dir}"/>
+		<get src="${xerces.url}" dest="${xerces.zip}" verbose="true"/>
+		<unzip src="${xerces.zip}" dest="${xerces.dir}"/>
+
+		<echo message="FOR JAXB SETUP, DONLOAD WSDP 1.5 AND PLACE THESE JAXB JARS IN ${jaxb.dir}"/>
+		<echo message="
+activation.jar
+commons-beanutils.jar
+commons-collections.jar
+commons-digester.jar
+commons-logging.jar
+jaas.jar
+jax-qname.jar
+jaxb-api.jar
+jaxb-impl.jar
+jaxb-libs.jar
+jaxb-xjc.jar
+jta-spec1_0_1.jar
+mail.jar
+namespace.jar
+relaxngDatatype.jar
+xsdlib.jar
+endorsed/dom.jar
+endorsed/sax.jar
+endorsed/xalan.jar
+endorsed/xercesImpl.jar
+endorsed/xsltc.jar
+"/>
+		<echo message="THEN SET JAXB_LIBDIR IN YOUR ENVIRONMENT TO POINT TO ${jaxb.dir}"/>
+
+	</target>
+
+	<target name="build.tools">
+		<mkdir dir="${build.dir}"/>
+		<javac srcdir="${src.dir}"
+			destdir="${build.dir}"
+			debug="on"
+			fork="yes"
+			memoryMaximumSize="1000M"
+			compiler="modern"
+			executable="${env.JAVA_HOME}/bin/javac"
+			classpathref="tools.classpath"
+			includes="org/apache/xmlbeans/test/tools/**"
+			source="1.4">
+		</javac>
+	</target>
+
+	<target name="build.v2.perf">
+		<mkdir dir="${build.dir}"/>
+		<javac srcdir="${src.dir}"
+			destdir="${build.dir}"
+			debug="on"
+			fork="yes"
+			memoryMaximumSize="1000M"
+			compiler="modern"
+			executable="${env.JAVA_HOME}/bin/javac"
+			classpathref="v2.classpath"
+			includes="org/apache/xmlbeans/test/performance/v2/**,org/apache/xmlbeans/test/performance/utils/**"
+			source="1.4">
+		</javac>
+	</target>
+
+	<target name="build.v1.perf">
+		<mkdir dir="${build.dir}"/>
+		<javac srcdir="${src.dir}"
+			destdir="${build.dir}"
+			debug="on"
+			fork="yes"
+			memoryMaximumSize="1000M"
+			compiler="modern"
+			executable="${env.JAVA_HOME}/bin/javac"
+			classpathref="v1.classpath"
+			includes="org/apache/xmlbeans/test/performance/v1/**,org/apache/xmlbeans/test/performance/utils/**"
+			source="1.4">
+		</javac>
+	</target>
+
+	<target name="build.castor.perf">
+		<mkdir dir="${build.dir}"/>
+		<javac srcdir="${src.dir}"
+			destdir="${build.dir}"
+			debug="on"
+			fork="yes"
+			memoryMaximumSize="1000M"
+			compiler="modern"
+			executable="${env.JAVA_HOME}/bin/javac"
+			classpathref="castor.classpath"
+			includes="org/apache/xmlbeans/test/performance/castor/**,org/apache/xmlbeans/test/performance/utils/**"
+			source="1.4">
+		</javac>
+	</target>
+
+	<target name="build.jibx.perf">
+		<mkdir dir="${build.dir}"/>
+		<javac srcdir="${src.dir}"
+			destdir="${build.dir}"
+			debug="on"
+			fork="yes"
+			memoryMaximumSize="1000M"
+			compiler="modern"
+			executable="${env.JAVA_HOME}/bin/javac"
+			classpathref="jibx.classpath"
+			includes="org/apache/xmlbeans/test/performance/jibx/**,org/apache/xmlbeans/test/performance/utils/**"
+			excludes="org/apache/xmlbeans/test/performance/jibx/binding/**"
+			source="1.4">
+		</javac>
+	</target>
+
+	<target name="build.jaxb.perf" if="jaxb.libdir.exists" depends="check.jaxb.libdir">
+		<mkdir dir="${build.dir}"/>
+		<javac srcdir="${src.dir}"
+			destdir="${build.dir}"
+			debug="on"
+			fork="yes"
+			memoryMaximumSize="1000M"
+			compiler="modern"
+			executable="${env.JAVA_HOME}/bin/javac"
+			classpathref="jaxb.classpath"
+			includes="org/apache/xmlbeans/test/performance/jaxb/**,org/apache/xmlbeans/test/performance/utils/**"
+			source="1.4">
+		</javac>
+	</target>
+
+	<target name="build.xerces.perf">
+		<mkdir dir="${build.dir}"/>
+		<javac srcdir="${src.dir}"
+			destdir="${build.dir}"
+			debug="on"
+			fork="yes"
+			memoryMaximumSize="1000M"
+			compiler="modern"
+			executable="${env.JAVA_HOME}/bin/javac"
+			classpathref="xerces.classpath"
+			includes="org/apache/xmlbeans/test/performance/xerces/**,org/apache/xmlbeans/test/performance/utils/**"
+			source="1.4">
+		</javac>
+	</target>
+
+	<!-- specific schema compile targets  -->
+	<target name="os.init">
+		<condition property="scomp" value="${v2.xmlbeans.root}\bin\scomp.cmd">
+			<os family="windows"/>
+		</condition>
+		<condition property="scomp" value="${v2.xmlbeans.root}/bin/scomp">
+			<os family="unix"/>
+		</condition>
+		<echo message="scomp variable=${scomp}"/>
+	</target>
+
+
+	<!-- v2 schema jars -->
+	<target name="v2.schema.jars">
+		<antcall target="v2.schema.build">
+			<param name="xsd.name" value="purchase-order.xsd"/>
+			<param name="jar.name" value="v2-purchase-order.jar"/>
+		</antcall>
+		<antcall target="v2.schema.build">
+			<param name="xsd.name" value="primitives.xsd"/>
+			<param name="jar.name" value="v2-primitives.jar"/>
+		</antcall>
+		<antcall target="v2.schema.build">
+			<param name="xsd.name" value="non-primitives.xsd"/>
+			<param name="jar.name" value="v2-non-primitives.jar"/>
+		</antcall>
+		<antcall target="v2.schema.build">
+			<param name="xsd.name" value="perf-results.xsd"/>
+			<param name="jar.name" value="perf-results.jar"/>
+		</antcall>
+	</target>
+
+	<target name="v2.schema.build" depends="os.init">
+		<echo message="starting"/>
+		<mkdir dir="${temp.dir}"/>
+		<mkdir dir="${schema.jar.build.dir}"/>
+		<chmod file="${v2.xmlbeans.root}/bin/scomp" perm="755"/>
+		<exec	dir="${temp.dir}"
+					executable="${scomp}" 
+					output="${temp.dir}/scomp_output.txt">
+			<env key="XMLBEANS_HOME" value="${v2.xmlbeans.root}"/>
+			<arg line="-out ${jar.name}"/>
+			<arg line="-d ${temp.dir}"/>
+			<arg line="${test.case.dir}/xsd/${xsd.name}"/>
+		</exec>
+		<copy file="${temp.dir}/${jar.name}" todir="${schema.jar.build.dir}"/>
+		<delete dir="${temp.dir}"/>
+		<echo message="done"/>
+	</target>
+
+
+	<!-- v1 schema jars -->
+	<target name="v1.schema.jars">
+		<antcall target="v1.schema.build">
+			<param name="xsd.name" value="purchase-order.xsd"/>
+			<param name="jar.name" value="v1-purchase-order.jar"/>
+		</antcall>
+		<antcall target="v1.schema.build">
+			<param name="xsd.name" value="primitives.xsd"/>
+			<param name="jar.name" value="v1-primitives.jar"/>
+		</antcall>
+		<antcall target="v1.schema.build">
+			<param name="xsd.name" value="non-primitives.xsd"/>
+			<param name="jar.name" value="v1-non-primitives.jar"/>
+		</antcall>
+	</target>
+
+	<target name="v1.schema.build" depends="os.init">
+		<mkdir dir="${temp.dir}"/>
+		<mkdir dir="${schema.jar.build.dir}"/>
+		<java classname="org.apache.xmlbeans.impl.tool.SchemaCompiler"
+					fork="true"
+					dir="${xmlbeans.perf.root}"
+					classpathref="v1.classpath">
+			<arg line="-out ${temp.dir}/${jar.name}"/>
+			<arg line="-d ${temp.dir}"/>
+			<arg line="${test.case.dir}/xsd/${xsd.name}"/>
+		</java>
+		<copy file="${temp.dir}/${jar.name}" todir="${schema.jar.build.dir}"/>
+		<delete dir="${temp.dir}"/>
+	</target>
+
+	<!-- castor schema jars -->
+	<target name="castor.schema.jars">
+		<antcall target="castor.schema.build">
+			<param name="xsd.name" value="purchase-order.xsd"/>
+			<param name="jar.name" value="castor-purchase-order.jar"/>
+			<param name="ns" value="org.openuri.easypo"/>
+		</antcall>
+		<antcall target="castor.schema.build">
+			<param name="xsd.name" value="primitives.xsd"/>
+			<param name="jar.name" value="castor-primitives.jar"/>
+			<param name="ns" value="org.openuri.primitives"/>
+		</antcall>
+		<antcall target="castor.schema.build">
+			<param name="xsd.name" value="non-primitives.xsd"/>
+			<param name="jar.name" value="castor-non-primitives.jar"/>
+			<param name="ns" value="org.openuri.nonprimitives"/>
+		</antcall>
+	</target>
+
+	<target name="castor.schema.build">
+		<mkdir dir="${temp.dir}"/>
+		<mkdir dir="${schema.jar.build.dir}"/>
+		<java classname="org.exolab.castor.builder.SourceGenerator"
+					fork="true"
+					dir="${xmlbeans.perf.root}"
+					classpathref="castor.classpath">
+			<arg line="-i ${test.case.dir}/xsd/${xsd.name}"/>
+			<arg line="-package ${ns}"/>
+			<arg line="-dest ${temp.dir}"/>
+			<arg line="-f"/>
+			<arg line="-verbose"/>
+		</java>
+		<javac srcdir="${temp.dir}"
+			destdir="${temp.dir}"
+			debug="on"
+			fork="true"
+			memoryMaximumSize="1000M"
+			compiler="modern"
+			executable="${env.JAVA_HOME}/bin/javac"
+			source="1.4"
+			classpathref="castor.classpath"/>
+		<jar destfile="${schema.jar.build.dir}/${jar.name}"
+				 basedir="${temp.dir}"/>
+		<delete dir="${temp.dir}"/>
+	</target>
+
+
+	<!-- jibx schema jars -->
+	<target name="jibx.schema.jars">
+		<mkdir dir="${temp.dir}"/>
+		<mkdir dir="${schema.jar.build.dir}"/>
+		<javac srcdir="${src.dir}"
+			destdir="${temp.dir}"
+			debug="on"
+			fork="yes"
+			memoryMaximumSize="1000M"
+			compiler="modern"
+			executable="${env.JAVA_HOME}/bin/javac"
+			classpathref="jibx.binding.classpath"
+			includes="org/apache/xmlbeans/test/performance/jibx/binding/**"
+			excludes="org/apache/xmlbeans/test/performance/castor/**,org/apache/xmlbeans/test/performance/v2/**,org/apache/xmlbeans/test/performance/utils/**"
+			source="1.4">
+		</javac>
+		<java classname="org.jibx.binding.Compile"
+					fork="true"
+					dir="${xmlbeans.perf.root}"
+					classpathref="jibx.binding.classpath">
+			<arg line="-v"/>
+			<arg line="${test.case.dir}/xsd/purchase-order-jibxbinding.xml"/>
+		</java>
+		<jar destfile="${jibx-purchase-order.jar}"
+				 basedir="${temp.dir}"/>
+		<delete dir="${temp.dir}"/>
+	</target>
+
+
+	<!-- jaxb schema jars -->
+	<target name="jaxb.schema.jars" if="jaxb.libdir.exists" depends="check.jaxb.libdir">
+		<antcall target="jaxb.schema.build">
+			<param name="xsd.name" value="purchase-order.xsd"/>
+			<param name="jar.name" value="jaxb-purchase-order.jar"/>
+			<param name="ns" value="org.openuri.easypo"/>
+		</antcall>
+		<antcall target="jaxb.schema.build">
+			<param name="xsd.name" value="primitives.xsd"/>
+			<param name="jar.name" value="jaxb-primitives.jar"/>
+			<param name="ns" value="org.openuri.primitives"/>
+		</antcall>
+		<antcall target="jaxb.schema.build">
+			<param name="xsd.name" value="non-primitives.xsd"/>
+			<param name="jar.name" value="jaxb-non-primitives.jar"/>
+			<param name="ns" value="org.openuri.nonprimitives"/>
+		</antcall>
+	</target>
+
+	<target name="check.jaxb.libdir">
+		<available property="jaxb.libdir.exists"
+			file="${jaxb.dir}" type="dir" />
+	</target>
+
+	<target name="jaxb.schema.build">
+		<mkdir dir="${temp.dir}"/>
+		<mkdir dir="${schema.jar.build.dir}"/>
+		<java classname="com.sun.tools.xjc.Driver"
+					fork="true"
+					classpathref="jaxb.classpath"
+					failonerror="true">
+			<arg line="-p ${ns}"/>
+			<arg line="-d ${temp.dir}"/>
+			<arg line="${test.case.dir}/xsd/${xsd.name}"/>
+		</java>
+		<javac srcdir="${temp.dir}"
+			destdir="${temp.dir}"
+			debug="on"
+			fork="yes"
+			memoryMaximumSize="1000M"
+			compiler="modern"
+			executable="${env.JAVA_HOME}/bin/javac"
+			classpathref="jaxb.classpath"
+			source="1.4">
+		</javac>
+		<jar destfile="${schema.jar.build.dir}/${jar.name}"
+				 basedir="${temp.dir}"/>
+		<delete dir="${temp.dir}"/>
+	</target>
+
+
+</project>

Added: xmlbeans/trunk/test/perf/cases/xsd/non-primitives.xsd
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/cases/xsd/non-primitives.xsd?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/cases/xsd/non-primitives.xsd	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,24 @@
+<xs:schema targetNamespace="http://openuri.org/nonprimitives"
+    xmlns:nonpri="http://openuri.org/nonprimitives"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    elementFormDefault="qualified">
+		<xs:element name="non-primitives">
+			<xs:complexType>
+				<xs:sequence>
+					<xs:element name="numerics" type="nonpri:numerics" maxOccurs="unbounded"/>
+					<xs:element name="mydate" type="xs:date"/>
+					<xs:element name="mystring" type="xs:string"/>
+				</xs:sequence>
+			</xs:complexType>
+		</xs:element>
+   	<xs:complexType name="numerics">
+   	  <xs:sequence>
+   	    <xs:element name="mydecimal" type="xs:decimal"/>
+   	    <xs:element name="myinteger" type="xs:integer"/>
+   	    <xs:element name="myneginteger" type="xs:negativeInteger"/>
+   	    <xs:element name="mynonneginteger" type="xs:nonNegativeInteger"/>
+   	    <xs:element name="mynonposinteger" type="xs:nonPositiveInteger"/>
+   	    <xs:element name="myposinteger" type="xs:positiveInteger"/>
+   	 </xs:sequence>
+ 	 </xs:complexType>
+</xs:schema>

Added: xmlbeans/trunk/test/perf/cases/xsd/perf-results.xsd
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/cases/xsd/perf-results.xsd?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/cases/xsd/perf-results.xsd	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,43 @@
+<xs:schema targetNamespace="http://openuri.org/perf"
+    xmlns:perf="http://openuri.org/perf"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    elementFormDefault="qualified">
+	
+    <xs:element name="result-set">
+			<xs:complexType>
+				<xs:sequence>
+       		<xs:element name="environment" type="perf:environment" maxOccurs="1"/>
+					<xs:element name="result" type="perf:result" maxOccurs="unbounded"/>
+				</xs:sequence>
+			</xs:complexType>
+    </xs:element>
+
+    <xs:complexType name="result">
+        <xs:sequence>
+        	<xs:element name="id" type="xs:long"/>
+            <xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
+            <xs:element name="time" type="xs:long" minOccurs="0" maxOccurs="1"/>
+            <xs:element name="memory" type="xs:long" minOccurs="0" maxOccurs="1"/>
+            <xs:element name="hash" type="xs:int" maxOccurs="1"/>
+            <xs:element name="note" type="xs:string"/>
+						<xs:element name="custom" type="perf:custom" maxOccurs="unbounded"/>
+        </xs:sequence>
+    </xs:complexType>
+
+		<xs:complexType name="custom">
+			<xs:sequence>
+				<xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
+				<xs:element name="value" type="xs:string" minOccurs="1" maxOccurs="1"/>
+			</xs:sequence>
+		</xs:complexType>
+
+    <xs:complexType name="environment">
+        <xs:sequence>
+            <xs:element name="hostname" type="xs:string"/>
+            <xs:element name="os" type="xs:string"/>
+            <xs:element name="jvm" type="xs:string"/>
+						<xs:element name="date" type="xs:dateTime"/>
+        </xs:sequence>
+    </xs:complexType>
+
+</xs:schema>

Added: xmlbeans/trunk/test/perf/cases/xsd/primitives.xsd
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/cases/xsd/primitives.xsd?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/cases/xsd/primitives.xsd	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,29 @@
+<xs:schema targetNamespace="http://openuri.org/primitives"
+    xmlns:pri="http://openuri.org/primitives"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    elementFormDefault="qualified">
+		<xs:element name="primitives">
+			<xs:complexType>
+				<xs:sequence>
+					<xs:element name="numerics" type="pri:numerics" maxOccurs="unbounded"/>
+					<xs:element name="misc" type="pri:misc"/>
+				</xs:sequence>
+			</xs:complexType>
+		</xs:element>
+   	<xs:complexType name="numerics">
+   	  <xs:sequence>
+   		  <xs:element name="mybyte" type="xs:byte"/>
+   	    <xs:element name="myint" type="xs:int"/>
+   	    <xs:element name="mylong" type="xs:long"/>
+   	    <xs:element name="myshort" type="xs:short"/>
+				<xs:element name="myhexbin" type="xs:hexBinary"/>
+				<xs:element name="mydouble" type="xs:double"/>
+				<xs:element name="myfloat" type="xs:float"/>
+   	 </xs:sequence>
+ 	 </xs:complexType>
+ 	 <xs:complexType name="misc">
+		<xs:sequence>
+				<xs:element name="mybool" type="xs:boolean"/>
+		</xs:sequence>
+	</xs:complexType>
+</xs:schema>

Added: xmlbeans/trunk/test/perf/cases/xsd/purchase-order-1.xml
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/cases/xsd/purchase-order-1.xml?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/cases/xsd/purchase-order-1.xml	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,23 @@
+<po:purchase-order xmlns:po="http://openuri.org/easypo">
+    <po:customer>
+        <po:name>Gladys Kravitz</po:name>
+        <po:address>Anytown, PA</po:address>
+    </po:customer>
+    <po:date>2003-01-07T14:16:00-05:00</po:date>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+<po:shipper>
+        <po:name>ZipShip</po:name>
+        <po:per-ounce-rate>0.74</po:per-ounce-rate>
+    </po:shipper>
+</po:purchase-order>

Added: xmlbeans/trunk/test/perf/cases/xsd/purchase-order-2.xml
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/cases/xsd/purchase-order-2.xml?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/cases/xsd/purchase-order-2.xml	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,383 @@
+<po:purchase-order xmlns:po="http://openuri.org/easypo">
+    <po:customer>
+        <po:name>Gladys Kravitz</po:name>
+        <po:address>Anytown, PA</po:address>
+    </po:customer>
+    <po:date>2003-01-07T14:16:00-05:00</po:date>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+		<po:shipper>
+        <po:name>ZipShip</po:name>
+        <po:per-ounce-rate>0.74</po:per-ounce-rate>
+    </po:shipper>
+</po:purchase-order>

Added: xmlbeans/trunk/test/perf/cases/xsd/purchase-order-3.xml
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/cases/xsd/purchase-order-3.xml?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/cases/xsd/purchase-order-3.xml	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,815 @@
+<po:purchase-order xmlns:po="http://openuri.org/easypo">
+    <po:customer>
+        <po:name>Gladys Kravitz</po:name>
+        <po:address>Anytown, PA</po:address>
+    </po:customer>
+    <po:date>2003-01-07T14:16:00-05:00</po:date>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+		<po:shipper>
+        <po:name>ZipShip</po:name>
+        <po:per-ounce-rate>0.74</po:per-ounce-rate>
+    </po:shipper>
+</po:purchase-order>

Added: xmlbeans/trunk/test/perf/cases/xsd/purchase-order-4.xml
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/cases/xsd/purchase-order-4.xml?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/cases/xsd/purchase-order-4.xml	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,1535 @@
+<po:purchase-order xmlns:po="http://openuri.org/easypo">
+    <po:customer>
+        <po:name>Gladys Kravitz</po:name>
+        <po:address>Anytown, PA</po:address>
+    </po:customer>
+    <po:date>2003-01-07T14:16:00-05:00</po:date>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+		<po:shipper>
+        <po:name>ZipShip</po:name>
+        <po:per-ounce-rate>0.74</po:per-ounce-rate>
+    </po:shipper>
+</po:purchase-order>

Added: xmlbeans/trunk/test/perf/cases/xsd/purchase-order-5.xml
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/cases/xsd/purchase-order-5.xml?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/cases/xsd/purchase-order-5.xml	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,2075 @@
+<po:purchase-order xmlns:po="http://openuri.org/easypo">
+    <po:customer>
+        <po:name>Gladys Kravitz</po:name>
+        <po:address>Anytown, PA</po:address>
+    </po:customer>
+    <po:date>2003-01-07T14:16:00-05:00</po:date>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+		<po:shipper>
+        <po:name>ZipShip</po:name>
+        <po:per-ounce-rate>0.74</po:per-ounce-rate>
+    </po:shipper>
+</po:purchase-order>

Added: xmlbeans/trunk/test/perf/cases/xsd/purchase-order-6.xml
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/cases/xsd/purchase-order-6.xml?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/cases/xsd/purchase-order-6.xml	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,2675 @@
+<po:purchase-order xmlns:po="http://openuri.org/easypo">
+    <po:customer>
+        <po:name>Gladys Kravitz</po:name>
+        <po:address>Anytown, PA</po:address>
+    </po:customer>
+    <po:date>2003-01-07T14:16:00-05:00</po:date>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+		<po:shipper>
+        <po:name>ZipShip</po:name>
+        <po:per-ounce-rate>0.74</po:per-ounce-rate>
+    </po:shipper>
+</po:purchase-order>

Added: xmlbeans/trunk/test/perf/cases/xsd/purchase-order-7.xml
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/cases/xsd/purchase-order-7.xml?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/cases/xsd/purchase-order-7.xml	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,3311 @@
+<po:purchase-order xmlns:po="http://openuri.org/easypo">
+    <po:customer>
+        <po:name>Gladys Kravitz</po:name>
+        <po:address>Anytown, PA</po:address>
+    </po:customer>
+    <po:date>2003-01-07T14:16:00-05:00</po:date>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 1</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>21.79</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+    <po:line-item>
+        <po:description>Burnham's Celestial Handbook, Vol 2</po:description>
+        <po:per-unit-ounces>5</po:per-unit-ounces>
+        <po:price>19.89</po:price>
+        <po:quantity>2</po:quantity>
+    </po:line-item>
+		<po:shipper>
+        <po:name>ZipShip</po:name>
+        <po:per-ounce-rate>0.74</po:per-ounce-rate>
+    </po:shipper>
+</po:purchase-order>

Added: xmlbeans/trunk/test/perf/cases/xsd/purchase-order-jibxbinding.xml
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/cases/xsd/purchase-order-jibxbinding.xml?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/cases/xsd/purchase-order-jibxbinding.xml	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,22 @@
+<binding>
+	<mapping name="purchase-order" class="org.apache.xmlbeans.test.performance.jibx.binding.JibxPurchaseOrder">
+		<namespace uri="http://openuri.org/easypo" default="elements"/>
+		<structure name="customer" field="customer">
+			<value name="name" field="name"/>
+			<value name="address" field="address"/>
+		</structure>
+		<value name="date" field="date"/>
+		<collection field="lineitems">
+			<structure name="line-item" type="org.apache.xmlbeans.test.performance.jibx.binding.Lineitem">
+				<value name="description" field="description"/>
+				<value name="per-unit-ounces" field="perunitounces"/>
+				<value name="price" field="price"/>
+				<value name="quantity" field="quantity"/>
+			</structure>
+		</collection>
+		<structure name="shipper" field="shipper">
+			<value name="name" field="name"/>
+			<value name="per-ounce-rate" field="perouncerate"/>
+		</structure>
+	</mapping>
+</binding>

Added: xmlbeans/trunk/test/perf/cases/xsd/purchase-order.xsd
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/cases/xsd/purchase-order.xsd?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/cases/xsd/purchase-order.xsd	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,36 @@
+<xs:schema targetNamespace="http://openuri.org/easypo"
+    xmlns:po="http://openuri.org/easypo"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    elementFormDefault="qualified">
+	
+    <xs:element name="purchase-order">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="customer" type="po:customer"/>
+                <xs:element name="date" type="xs:dateTime"/>
+                <xs:element name="line-item" type="po:line-item" minOccurs="0" maxOccurs="unbounded"/>
+                <xs:element name="shipper" type="po:shipper" minOccurs="0"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:complexType name="customer">
+        <xs:sequence>
+            <xs:element name="name" type="xs:string"/>
+            <xs:element name="address" type="xs:string"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="line-item">
+        <xs:sequence>
+            <xs:element name="description" type="xs:string"/>
+            <xs:element name="per-unit-ounces" type="xs:decimal"/>
+            <xs:element name="price" type="xs:double"/>
+            <xs:element name="quantity" type="xs:int"/>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="shipper">
+        <xs:sequence>
+            <xs:element name="name" type="xs:string"/>
+            <xs:element name="per-ounce-rate" type="xs:decimal"/>
+        </xs:sequence>
+    </xs:complexType>
+</xs:schema>

Added: xmlbeans/trunk/test/perf/env.bat
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/env.bat?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/env.bat	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,3 @@
+set XMLBEANS_PERFROOT=%~dp0.
+
+echo "MAKE SURE TO SET JAXB_LIBDIR IN YOUR ENVIRONMENT"

Added: xmlbeans/trunk/test/perf/env.sh
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/env.sh?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/env.sh	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,4 @@
+XMLBEANS_PERFROOT=`pwd`
+export XMLBEANS_PERFROOT
+
+echo "MAKE SURE TO SET JAXB_LIBDIR IN YOUR ENVIRONMENT"

Added: xmlbeans/trunk/test/perf/results.xml
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/results.xml?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/results.xml	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,73 @@
+<!-- build file -->
+<project name="xmlbeans-perf" default="usage">
+
+	<target name="usage">
+		<echo>
+	This utility takes a flat file and emits an instance of perf-results.xsd.
+	The ant task extends the MatchingTask class, so many files may be processed
+	at a time. The format of a flat perf test result is like the following (all on one line):
+	
+	[delimeter] [testname] time [long time value] hash [int hash value] customparam=customparamvalue
+
+	or
+
+	[delimeter] [testname] memory [long memory value] hash [int hash value] customparam=customparamvalue
+
+	----------------------------------------------------
+	For example, a file call foo.log that contains this:
+
+	TEST: mytest time 100 hash -1234 color=blue type=invalid
+
+	could be processed like this:
+
+	ant generate.results -Ddelimeter="TEST:" -Dsrcdir="." -Dincludes="foo.log"
+
+	This would emit a file called foo.log.xml.
+
+	There are default values for all possible parameters. View contents of this file to see them.
+
+		</echo>
+	</target>
+
+	
+	<property environment="env"/>
+
+	<!-- root properties used for finding everything -->
+	<property name="xmlbeans.perf.root" value="${basedir}"/>
+	<property name="v2.xmlbeans.root" value="${env.XMLBEANS_HOME}"/>
+	<property name="build.dir" value="${xmlbeans.perf.root}/build"/>
+
+	<!-- default properties for results generation -->
+	<property name="srcdir" value="${xmlbeans.perf.root}/bin"/>
+	<property name="gendir" value="${xmlbeans.perf.root}/reports"/>
+	<property name="includes" value="*.log"/>
+	<property name="hostname" value="cg2kperf05.beanw.com"/>
+	<property name="cpuinfo" value="2 x 2.7Ghz"/>
+	<property name="sysmem" value="2G"/>
+	<property name="delimiter" value="TEST: "/>
+
+	<!-- lib directories -->
+	<property name="v2.lib.dir" value="${v2.xmlbeans.root}/build/lib"/>
+
+	<!-- util schema jar(s) -->
+	<property name="perf-results.jar" value="${xmlbeans.perf.root}/schema_build/perf-results.jar"/>
+
+	<!-- classpath(s) -->
+	<path id="result.classpath">
+		<fileset dir="${v2.lib.dir}" includes="*.jar"/>
+		<pathelement path="${build.dir}"/>
+		<pathelement path="${perf-results.jar}"/>
+		<pathelement path="${ant.jar}"/>
+	</path>
+
+
+	<taskdef name="perf-result" classname="org.apache.xmlbeans.test.tools.PerfResultTask" classpathref="result.classpath"/>
+	<target name="generate.results">
+		<perf-result srcdir="${srcdir}" 
+					 includes="${includes}"
+					 gendir="${gendir}"
+					 delimiter="${delimiter}"
+					 hostname="${hostname}"/>
+	</target>
+
+</project>

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/NPrimTopDownCastor.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/NPrimTopDownCastor.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/NPrimTopDownCastor.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,87 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.castor;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// castor-specific date type
+import org.exolab.castor.types.Date;
+
+// from castor-generated schema jar(s)
+import org.openuri.nonprimitives.NonPrimitives;
+import org.openuri.nonprimitives.Numerics;
+
+public class NPrimTopDownCastor
+{
+  public static void main(String[] args) throws Exception
+  {
+    
+    final int iterations = Constants.ITERATIONS;
+
+    NPrimTopDownCastor test = new NPrimTopDownCastor();
+    long cputime;
+    int hash = 0;
+    Date date = new Date();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run(date);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run(date);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+NPrimTopDownCastor.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(Date p_date) throws Exception
+  {
+    // create the doc
+    NonPrimitives nprim = new NonPrimitives();
+
+    // create and initialize numeric elements
+    Numerics[] numerics = new Numerics[Constants.PO_NUM_LINEITEMS];
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      numerics[i] = new Numerics();
+      numerics[i].setMydecimal(Constants.myBigDecimal);
+      numerics[i].setMyinteger(Constants.myInt);
+      numerics[i].setMyneginteger(Constants.myNegInt);
+      numerics[i].setMynonneginteger(Constants.myInt);
+      numerics[i].setMynonposinteger(Constants.myNegInt);
+      numerics[i].setMyposinteger(Constants.myInt);
+    }
+    nprim.setNumerics(numerics);
+
+    // set the date and string fields
+    nprim.setMydate(p_date);
+    nprim.setMystring(Constants.myString);
+
+
+    // calculate a hash to return
+    int hash = ( nprim.getNumerics().length ) * 17;
+    return hash;
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POReadAllCastor.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POReadAllCastor.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POReadAllCastor.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,119 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.castor;
+
+//import java.io.File;
+import java.io.CharArrayReader;
+//import java.io.FileReader;
+//import java.io.BufferedReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// from castor-generated schema jar(s)
+import org.openuri.easypo.PurchaseOrder;
+import org.openuri.easypo.Customer;
+import org.openuri.easypo.LineItem;
+import org.openuri.easypo.Shipper;
+
+
+public class POReadAllCastor
+{
+  public static void main(String[] args) throws Exception
+  {
+    final int iterations = Constants.ITERATIONS;
+    
+    String filename;
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }
+
+    POReadAllCastor test = new POReadAllCastor();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+   
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadAllCastor.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception
+  {
+    int iSumStrings = 0;
+    // unmarshall/retreive the purchase order
+    PurchaseOrder po = (PurchaseOrder)PurchaseOrder.unmarshal(reader); 
+    // retreive the customer element
+    Customer customer = po.getCustomer();
+    iSumStrings += customer.getAddress().length();
+    iSumStrings += customer.getName().length();
+    // retreive the date
+    po.getDate();
+    // retreive all line items (castor returns an array if
+    // no index is specified
+    LineItem[] lineitems = po.getLineItem();
+    // sum the line item prices and get the other childs
+    float sum = 0;
+    for(int i=0; i<lineitems.length; i++){
+      iSumStrings += lineitems[i].getDescription().length();
+      lineitems[i].getPerUnitOunces();
+      lineitems[i].getQuantity();
+      sum += lineitems[i].getPrice();
+    }
+    // retreive the shipper element
+    Shipper shipper = po.getShipper();
+    iSumStrings += shipper.getName().length();
+    shipper.getPerOunceRate();
+    
+    return iSumStrings;
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POReadOneCastor.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POReadOneCastor.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POReadOneCastor.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,98 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.castor;
+
+//import java.io.File;
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// from castor-generated schema jar(s)
+import org.openuri.easypo.PurchaseOrder;
+//import org.openuri.easypo.Customer;
+import org.openuri.easypo.LineItem;
+//import org.openuri.easypo.Shipper;
+
+
+public class POReadOneCastor
+{
+  public static void main(String[] args) throws Exception
+  {
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }
+
+    POReadOneCastor test = new POReadOneCastor();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+   
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadOneCastor.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception
+  {
+    // unmarshall/retreive the purchase order
+    PurchaseOrder po = (PurchaseOrder)PurchaseOrder.unmarshal(reader); 
+
+    // retreive the first line item
+    LineItem lineitem = po.getLineItem(0);
+
+    // return the char length of the description
+    return lineitem.getDescription().length();
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POTopDownCastor.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POTopDownCastor.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POTopDownCastor.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,95 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.castor;
+
+import java.util.Date;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// from castor-generated schema jar(s)
+import org.openuri.easypo.PurchaseOrder;
+import org.openuri.easypo.Customer;
+import org.openuri.easypo.LineItem;
+import org.openuri.easypo.Shipper;
+
+public class POTopDownCastor
+{
+  public static void main(String[] args) throws Exception
+  {
+    
+    final int iterations = Constants.ITERATIONS;
+
+    POTopDownCastor test = new POTopDownCastor();
+    long cputime;
+    int hash = 0;
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POTopDownCastor.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the purchase order
+    PurchaseOrder po = new PurchaseOrder();
+
+    // create and initialize the customer
+    Customer customer = new Customer();
+    customer.setName(Constants.PO_CUSTOMER_NAME);
+    customer.setAddress(Constants.PO_CUSTOMER_ADDR);
+    po.setCustomer(customer);
+
+    // set the date
+    po.setDate(new Date());
+  
+    // create and initialize the line item array
+    LineItem[] lineitems = new LineItem[Constants.PO_NUM_LINEITEMS];
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      lineitems[i] = new LineItem();
+      lineitems[i].setDescription(Constants.PO_LI_DESC);
+      lineitems[i].setPerUnitOunces(Constants.PO_LI_PUO);
+      lineitems[i].setPrice(Constants.PO_LI_PRICE);
+      lineitems[i].setQuantity(Constants.PO_LI_QUANTITY);
+    }
+    po.setLineItem(lineitems);
+  
+    // create and initialize the shipper
+    Shipper shipper = new Shipper();
+    shipper.setName(Constants.PO_SHIPPER_NAME);
+    shipper.setPerOunceRate(Constants.PO_SHIPPER_POR);
+    po.setShipper(shipper);
+
+    // calculate a hash to return
+    int hash = ( po.getLineItem().length ) * 17;
+    return hash;
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POTopDownSaveCastor.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POTopDownSaveCastor.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/POTopDownSaveCastor.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,102 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.castor;
+
+import java.io.StringWriter;
+import java.util.Date;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// from castor-generated schema jar(s)
+import org.openuri.easypo.PurchaseOrder;
+import org.openuri.easypo.Customer;
+import org.openuri.easypo.LineItem;
+import org.openuri.easypo.Shipper;
+
+public class POTopDownSaveCastor
+{
+  public static void main(String[] args) throws Exception
+  {
+    
+    final int iterations = Constants.ITERATIONS;
+
+    POTopDownSaveCastor test = new POTopDownSaveCastor();
+    long cputime;
+    int hash = 0;
+    
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POTopDownSaveCastor.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the purchase order
+    PurchaseOrder po = new PurchaseOrder();
+
+    // create and initialize the customer
+    Customer customer = new Customer();
+    customer.setName(Constants.PO_CUSTOMER_NAME);
+    customer.setAddress(Constants.PO_CUSTOMER_ADDR);
+    po.setCustomer(customer);
+
+    // set the date
+    po.setDate(new Date());
+  
+    // create and initialize the line item array
+    LineItem[] lineitems = new LineItem[Constants.PO_NUM_LINEITEMS];
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      lineitems[i] = new LineItem();
+      lineitems[i].setDescription(Constants.PO_LI_DESC);
+      lineitems[i].setPerUnitOunces(Constants.PO_LI_PUO);
+      lineitems[i].setPrice(Constants.PO_LI_PRICE);
+      lineitems[i].setQuantity(Constants.PO_LI_QUANTITY);
+    }
+    po.setLineItem(lineitems);
+  
+    // create and initialize the shipper
+    Shipper shipper = new Shipper();
+    shipper.setName(Constants.PO_SHIPPER_NAME);
+    shipper.setPerOunceRate(Constants.PO_SHIPPER_POR);
+    po.setShipper(shipper);
+
+    // grab the instance that was constructed
+    StringWriter writer = new StringWriter();
+    po.marshal(writer);
+    writer.toString();
+    writer.close();
+
+    // calculate a hash to return
+    int hash = ( po.getLineItem().length ) * 17;
+    return hash;
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/PrimTopDownCastor.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/PrimTopDownCastor.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/castor/PrimTopDownCastor.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,86 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.castor;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// from castor-generated schema jar(s)
+import org.openuri.primitives.Primitives;
+import org.openuri.primitives.Numerics;
+import org.openuri.primitives.Misc;
+
+public class PrimTopDownCastor
+{
+  public static void main(String[] args) throws Exception
+  {
+    
+    final int iterations = Constants.ITERATIONS;
+
+    PrimTopDownCastor test = new PrimTopDownCastor();
+    long cputime;
+    int hash = 0;
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+PrimTopDownCastor.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the doc
+    Primitives prim = new Primitives();
+
+    // create and initialize numeric elements
+    Numerics[] numerics = new Numerics[Constants.PO_NUM_LINEITEMS];
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      numerics[i] = new Numerics();
+      numerics[i].setMybyte(Constants.myByte);
+      numerics[i].setMyint(Constants.myInt);
+      numerics[i].setMylong(Constants.myLong);
+      numerics[i].setMyshort(Constants.myShort);
+      numerics[i].setMyhexbin(Constants.myHexbin);
+      numerics[i].setMydouble(Constants.myDouble);
+      numerics[i].setMyfloat(Constants.myFloat);
+    }
+    prim.setNumerics(numerics);
+
+    // create and initialize the misc element
+    Misc misc = new Misc();
+    misc.setMybool(Constants.myBool);
+    prim.setMisc(misc);
+
+
+    // calculate a hash to return
+    int hash = ( prim.getNumerics().length ) * 17;
+    return hash;
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/NPrimTopDownJaxb.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/NPrimTopDownJaxb.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/NPrimTopDownJaxb.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,87 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.jaxb;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by jaxb
+//import javax.xml.bind.JAXBContext;
+//import javax.xml.bind.Unmarshaller;
+//import javax.xml.transform.stream.StreamSource;
+//import java.util.List;
+
+// from jaxb-generated schema jar(s)
+import org.openuri.nonprimitives.impl.NonPrimitivesImpl;
+import org.openuri.nonprimitives.impl.NumericsImpl;
+
+
+public class NPrimTopDownJaxb
+{
+  public static void main(String[] args) throws Exception
+  {
+    
+    final int iterations = Constants.ITERATIONS;
+ 
+    NPrimTopDownJaxb test = new NPrimTopDownJaxb();
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+NPrimTopDownJaxb.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the doc
+    NonPrimitivesImpl nprim = new NonPrimitivesImpl();
+
+    // create and initialize the numerics
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      NumericsImpl numerics = new NumericsImpl();
+      numerics.setMydecimal(Constants.myBigDecimal);
+      numerics.setMyinteger(Constants.myPosBigInteger);
+      numerics.setMyneginteger(Constants.myNegBigInteger);
+      numerics.setMynonneginteger(Constants.myPosBigInteger);
+      numerics.setMynonposinteger(Constants.myNegBigInteger);
+      numerics.setMyposinteger(Constants.myPosBigInteger);
+      nprim.getNumerics().add(numerics);
+    }
+    
+    // create and initialize the misc element
+    nprim.setMydate(Constants.myDate);
+    nprim.setMystring(Constants.myString);
+
+    // calculate a hash to return
+    int hash = ( nprim.getNumerics().size() ) * 17;
+    return hash;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POReadAllJaxb.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POReadAllJaxb.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POReadAllJaxb.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,129 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.jaxb;
+
+//import java.io.File;
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by jaxb
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.transform.stream.StreamSource;
+import java.util.List;
+
+// from jaxb-generated schema jar(s)
+import org.openuri.easypo.PurchaseOrder;
+import org.openuri.easypo.Customer;
+import org.openuri.easypo.LineItem;
+import org.openuri.easypo.Shipper;
+
+
+public class POReadAllJaxb
+{
+  public static void main(String[] args) throws Exception
+  {
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }    
+
+    POReadAllJaxb test = new POReadAllJaxb();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadAllJaxb.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception
+  {
+    int iSumStrings = 0;
+    // create the xml source from the reader
+    StreamSource source = new StreamSource(reader);
+    // unmarshall the xml instance
+    JAXBContext context = JAXBContext.newInstance("org.openuri.easypo");
+    Unmarshaller unmarshaller = context.createUnmarshaller();
+    unmarshaller.setValidating(false);
+    PurchaseOrder po = 
+      (PurchaseOrder) unmarshaller.unmarshal(source);
+
+    // retreive the customer element
+    Customer customer = po.getCustomer();
+    iSumStrings += customer.getAddress().length();
+    iSumStrings += customer.getName().length();
+    // retreive the date
+    po.getDate();
+    // retreive all line items
+    List lineitems = po.getLineItem();
+    // sum the line item prices and get the other childs
+    float sum = 0;
+    for(int i=0; i<lineitems.size(); i++){
+      LineItem li = (LineItem) lineitems.get(i);
+      iSumStrings += li.getDescription().length();
+      li.getPerUnitOunces();
+      li.getQuantity();
+      sum += li.getPrice();
+    }
+    // retreive the shipper element
+    Shipper shipper = po.getShipper();
+    iSumStrings += shipper.getName().length();
+    shipper.getPerOunceRate();
+
+    return iSumStrings;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POReadOneJaxb.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POReadOneJaxb.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POReadOneJaxb.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,113 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.jaxb;
+
+//import java.io.File;
+//import java.io.IOException;
+//import java.io.FileNotFoundException;
+import java.io.CharArrayReader;
+//import java.lang.UnsupportedOperationException;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by jaxb
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.transform.stream.StreamSource;
+//import java.util.List;
+
+// from jaxb-generated schema jar(s)
+import org.openuri.easypo.PurchaseOrder;
+//import org.openuri.easypo.Customer;
+import org.openuri.easypo.LineItem;
+//import org.openuri.easypo.Shipper;
+
+
+public class POReadOneJaxb
+{
+  public static void main(String[] args) throws Exception
+  {
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }    
+   
+    POReadOneJaxb test = new POReadOneJaxb();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadOneJaxb.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception
+  {
+    // create the xml source from the reader
+    StreamSource source = new StreamSource(reader);
+    // unmarshall the xml instance
+    JAXBContext context = JAXBContext.newInstance("org.openuri.easypo");
+    Unmarshaller unmarshaller = context.createUnmarshaller();
+    unmarshaller.setValidating(false);
+    PurchaseOrder po = 
+      (PurchaseOrder) unmarshaller.unmarshal(source);
+
+    // retreive the first line item
+    LineItem lineitem = (LineItem) po.getLineItem().get(0);
+  
+    // return the char length of the description
+    return lineitem.getDescription().length();
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POTopDownJaxb.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POTopDownJaxb.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POTopDownJaxb.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,101 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.jaxb;
+
+import java.util.Calendar;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by jaxb
+//import javax.xml.bind.JAXBContext;
+//import javax.xml.bind.Unmarshaller;
+//import javax.xml.transform.stream.StreamSource;
+//import java.util.List;
+
+// from jaxb-generated schema jar(s)
+import org.openuri.easypo.impl.PurchaseOrderImpl;
+import org.openuri.easypo.impl.CustomerImpl;
+import org.openuri.easypo.impl.LineItemImpl;
+import org.openuri.easypo.impl.ShipperImpl;
+
+
+public class POTopDownJaxb
+{
+  public static void main(String[] args) throws Exception
+  {
+    
+    final int iterations = Constants.ITERATIONS;
+ 
+    POTopDownJaxb test = new POTopDownJaxb();
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POTopDownJaxb.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the purchase order
+    PurchaseOrderImpl po = new PurchaseOrderImpl();
+
+    // create and initialize the customer
+    CustomerImpl customer = new CustomerImpl();
+    customer.setName(Constants.PO_CUSTOMER_NAME);
+    customer.setAddress(Constants.PO_CUSTOMER_ADDR);
+    po.setCustomer(customer);
+
+    // set the date
+    po.setDate(Calendar.getInstance());
+
+    // create and initialize the line item array
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      LineItemImpl li = new LineItemImpl();
+      li.setDescription(Constants.PO_LI_DESC);
+      li.setPerUnitOunces(Constants.PO_LI_PUO);
+      li.setPrice(Constants.PO_LI_PRICE);
+      li.setQuantity(Constants.PO_LI_QUANTITY);
+      po.getLineItem().add(li);
+    }
+    
+    // create and initialize the shipper
+    ShipperImpl shipper = new ShipperImpl();
+    shipper.setName(Constants.PO_SHIPPER_NAME);
+    shipper.setPerOunceRate(Constants.PO_SHIPPER_POR);
+    po.setShipper(shipper);
+
+    // calculate a hash to return
+    int hash = ( po.getLineItem().size() ) * 17;
+    return hash;
+
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POTopDownSaveJaxb.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POTopDownSaveJaxb.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/POTopDownSaveJaxb.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,108 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.jaxb;
+
+import java.util.Calendar;
+import java.io.StringWriter;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by jaxb
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.Marshaller;
+//import javax.xml.transform.stream.StreamSource;
+//import java.util.List;
+
+// from jaxb-generated schema jar(s)
+import org.openuri.easypo.impl.PurchaseOrderImpl;
+import org.openuri.easypo.impl.CustomerImpl;
+import org.openuri.easypo.impl.LineItemImpl;
+import org.openuri.easypo.impl.ShipperImpl;
+
+
+public class POTopDownSaveJaxb
+{
+  public static void main(String[] args) throws Exception
+  {
+    
+    final int iterations = Constants.ITERATIONS;
+ 
+    POTopDownSaveJaxb test = new POTopDownSaveJaxb();
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POTopDownSaveJaxb.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the purchase order
+    PurchaseOrderImpl po = new PurchaseOrderImpl();
+
+    // create and initialize the customer
+    CustomerImpl customer = new CustomerImpl();
+    customer.setName(Constants.PO_CUSTOMER_NAME);
+    customer.setAddress(Constants.PO_CUSTOMER_ADDR);
+    po.setCustomer(customer);
+
+    // set the date
+    po.setDate(Calendar.getInstance());
+
+    // create and initialize the line item array
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      LineItemImpl li = new LineItemImpl();
+      li.setDescription(Constants.PO_LI_DESC);
+      li.setPerUnitOunces(Constants.PO_LI_PUO);
+      li.setPrice(Constants.PO_LI_PRICE);
+      li.setQuantity(Constants.PO_LI_QUANTITY);
+      po.getLineItem().add(li);
+    }
+    
+    // create and initialize the shipper
+    ShipperImpl shipper = new ShipperImpl();
+    shipper.setName(Constants.PO_SHIPPER_NAME);
+    shipper.setPerOunceRate(Constants.PO_SHIPPER_POR);
+    po.setShipper(shipper);
+
+    // grab the instance that was constructed
+    JAXBContext context = JAXBContext.newInstance("org.openuri.easypo");
+    Marshaller marshaller = context.createMarshaller();
+    StringWriter writer = new StringWriter();
+    marshaller.marshal(po,writer);
+
+    // calculate a hash to return
+    int hash = ( po.getLineItem().size() ) * 17;
+    return hash;
+
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/PrimTopDownJaxb.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/PrimTopDownJaxb.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jaxb/PrimTopDownJaxb.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,91 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.jaxb;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by jaxb
+//import javax.xml.bind.JAXBContext;
+//import javax.xml.bind.Unmarshaller;
+//import javax.xml.transform.stream.StreamSource;
+//import java.util.List;
+
+// from jaxb-generated schema jar(s)
+import org.openuri.primitives.impl.PrimitivesImpl;
+import org.openuri.primitives.impl.NumericsImpl;
+import org.openuri.primitives.impl.MiscImpl;
+
+
+public class PrimTopDownJaxb
+{
+  public static void main(String[] args) throws Exception
+  {
+    final int iterations = Constants.ITERATIONS;
+ 
+    PrimTopDownJaxb test = new PrimTopDownJaxb();
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+PrimTopDownJaxb.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the doc
+    PrimitivesImpl prim = new PrimitivesImpl();
+
+    // create and initialize the numerics
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      NumericsImpl numerics = new NumericsImpl();
+      numerics.setMybyte(Constants.myByte);
+      numerics.setMyint(Constants.myInt);
+      numerics.setMylong(Constants.myLong);
+      numerics.setMyshort(Constants.myShort);
+      numerics.setMyhexbin(Constants.myHexbin);
+      numerics.setMydouble(Constants.myDouble);
+      numerics.setMyfloat(Constants.myFloat);
+      prim.getNumerics().add(numerics);
+    }
+    
+    // create and initialize the misc element
+    MiscImpl misc = new MiscImpl();
+    misc.setMybool(Constants.myBool);
+    prim.setMisc(misc);
+
+    // calculate a hash to return
+    int hash = ( prim.getNumerics().size() ) * 17;
+    return hash;
+
+
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/POReadAllJibx.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/POReadAllJibx.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/POReadAllJibx.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,128 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.jibx;
+
+//import java.io.File;
+import java.io.CharArrayReader;
+import java.util.ArrayList;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by jibx
+import org.jibx.runtime.BindingDirectory;
+import org.jibx.runtime.IBindingFactory;
+import org.jibx.runtime.IUnmarshallingContext;
+
+// from jibx-generated binding jar(s)
+import org.apache.xmlbeans.test.performance.jibx.binding.JibxPurchaseOrder;
+import org.apache.xmlbeans.test.performance.jibx.binding.Customer;
+import org.apache.xmlbeans.test.performance.jibx.binding.Lineitem;
+import org.apache.xmlbeans.test.performance.jibx.binding.Shipper;
+
+
+public class POReadAllJibx
+{
+  public static void main(String[] args) throws Exception
+  {
+    
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }
+
+    POReadAllJibx test = new POReadAllJibx();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadAllJibx.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception
+  {
+    int iSumStrings = 0;
+    // unmarshall the xml instance
+    IBindingFactory bfactory = 
+      BindingDirectory.getFactory(JibxPurchaseOrder.class);
+    IUnmarshallingContext ucontext = bfactory.createUnmarshallingContext();
+    // retreive the purchase order
+    JibxPurchaseOrder po = (JibxPurchaseOrder) ucontext.unmarshalDocument(reader);
+    // retreive the customer element
+    Customer customer = po.getCustomer();
+    iSumStrings += customer.getAddress().length();
+    iSumStrings += customer.getName().length();
+    // retreive the date
+    po.getDate();
+    // retreive all line items
+    ArrayList lineitems = po.getLineitems();
+    // sum the line item prices and get the other childs
+    float sum = 0;
+    for(int i=0; i<lineitems.size(); i++){
+      Lineitem lineitem = (Lineitem) lineitems.get(i);
+      iSumStrings += lineitem.getDescription().length();
+      lineitem.getPerUnitOunces();
+      lineitem.getQuantity();
+      sum += lineitem.getPrice();
+    }
+    // retreive the shipper element
+    Shipper shipper = po.getShipper();
+    iSumStrings += shipper.getName().length();
+    shipper.getPerOunceRate();
+
+    return iSumStrings;
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/POReadOneJibx.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/POReadOneJibx.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/POReadOneJibx.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,110 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.jibx;
+
+//import java.io.File;
+import java.io.CharArrayReader;
+//import java.util.ArrayList;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by jibx
+import org.jibx.runtime.BindingDirectory;
+import org.jibx.runtime.IBindingFactory;
+import org.jibx.runtime.IUnmarshallingContext;
+
+// from jibx-generated binding jar(s)
+import org.apache.xmlbeans.test.performance.jibx.binding.JibxPurchaseOrder;
+//import org.apache.xmlbeans.test.performance.jibx.binding.Customer;
+import org.apache.xmlbeans.test.performance.jibx.binding.Lineitem;
+//import org.apache.xmlbeans.test.performance.jibx.binding.Shipper;
+
+
+public class POReadOneJibx
+{
+  public static void main(String[] args) throws Exception
+  {
+   
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }
+
+    POReadOneJibx test = new POReadOneJibx();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadOneJibx.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception
+  {
+    // unmarshall the xml instance
+    IBindingFactory bfactory = 
+      BindingDirectory.getFactory(JibxPurchaseOrder.class);
+    IUnmarshallingContext ucontext = bfactory.createUnmarshallingContext();
+    // retreive the purchase order
+    JibxPurchaseOrder po = (JibxPurchaseOrder) ucontext.unmarshalDocument(reader);
+   
+    // retreive the first line item
+    Lineitem lineitem = (Lineitem) po.getLineitems().get(0);
+    
+    // return the char length of the description
+    return lineitem.getDescription().length();
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/Customer.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/Customer.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/Customer.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,23 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.jibx.binding;
+
+public class Customer{
+  private String name;
+  private String address;
+
+  public String getName(){return name;}
+  public String getAddress(){return address;}
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/JibxPurchaseOrder.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/JibxPurchaseOrder.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/JibxPurchaseOrder.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,31 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.jibx.binding;
+
+//import java.util.Calendar;
+import java.util.ArrayList;
+
+public class JibxPurchaseOrder{
+  private Customer customer;
+  // NEED TO: implement a deserializer for Calendar
+  private String date;
+  private ArrayList lineitems;
+  private Shipper shipper;
+
+  public Customer getCustomer(){return customer;}
+  public String getDate(){return date;}
+  public ArrayList getLineitems(){return lineitems;}
+  public Shipper getShipper(){return shipper;}
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/Lineitem.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/Lineitem.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/Lineitem.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,29 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.jibx.binding;
+
+import java.math.BigDecimal;
+
+public class Lineitem{
+  private String description;
+  private BigDecimal perunitounces;
+  private double price;
+  private int quantity;
+
+  public String getDescription(){return description;}
+  public BigDecimal getPerUnitOunces(){return perunitounces;}
+  public double getPrice(){return price;}
+  public int getQuantity(){return quantity;}
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/Shipper.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/Shipper.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/jibx/binding/Shipper.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,25 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.jibx.binding;
+
+import java.math.BigDecimal;
+
+public class Shipper{
+  private String name;
+  private BigDecimal perouncerate;
+
+  public String getName(){return name;}
+  public BigDecimal getPerOunceRate(){return perouncerate;}
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/utils/Constants.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/utils/Constants.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/utils/Constants.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,106 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.utils;
+
+import java.io.File;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.GregorianCalendar;
+
+public class Constants
+{
+  private Constants(){}
+  
+  public static final String DELIM = "TEST: ";
+
+  public static final String P = File.separator;
+  public static final int ITERATIONS = 6000;
+  public static final int CURSOR_ITERATIONS = 1000;
+  public static final int XML_SIZE = 10000;
+
+  // for getting/setting scenarios
+  public static final int GET_SET_ITERATIONS = 1000000;
+  public static final int STRING_SIZE = 1000;
+
+  // schema instances
+  public static final String XSD_DIR = System.getProperty("PERF_ROOT")+P+"cases"+P+"xsd";
+  public static final String PO_XSD = XSD_DIR+P+"purchase-order.xsd";
+  public static final String PO_INSTANCE_1 = XSD_DIR+P+"purchase-order-1.xml";
+  public static final String PO_INSTANCE_2 = XSD_DIR+P+"purchase-order-2.xml";
+  public static final String PO_INSTANCE_3 = XSD_DIR+P+"purchase-order-3.xml";
+  public static final String PO_INSTANCE_4 = XSD_DIR+P+"purchase-order-4.xml";
+  public static final String PO_INSTANCE_5 = XSD_DIR+P+"purchase-order-5.xml";
+  public static final String PO_INSTANCE_6 = XSD_DIR+P+"purchase-order-6.xml";
+  public static final String PO_INSTANCE_7 = XSD_DIR+P+"purchase-order-7.xml";
+
+  // values for purchase order in-memory construction
+  public static final String PO_CUSTOMER_NAME = "First Last";
+  public static final String PO_CUSTOMER_ADDR = "123 Sesame St.";
+  public static final int PO_NUM_LINEITEMS = 50;
+  public static final String PO_LI_DESC = "line item description";
+  public static final BigDecimal PO_LI_PUO = new BigDecimal("1.23");
+  public static final double PO_LI_PRICE = 1.23000;
+  public static final int PO_LI_QUANTITY = 123;
+  public static final String PO_SHIPPER_NAME = "Joe Shipper";
+  public static final BigDecimal PO_SHIPPER_POR = new BigDecimal("4.56");
+  public static final String PO_NS = "http://openuri.org/easypo";
+  // for xerces dom/sax
+  public static final String PO_DATE_STRING = "2003-01-07T14:16:00-05:00";
+  public static final String PO_LI_PUO_STRING = "1.23";
+  public static final String PO_LI_PRICE_STRING = "1.23000";
+  public static final String PO_LI_QUANTITY_STRING = "123";
+  public static final String PO_SHIPPER_POR_STRING = "4.56";
+  // for sax parsing
+  public static final String sAddress = "address";
+  public static final String sName = "name";
+  public static final String sDesc = "description";
+  public static final String sPrice = "price";
+  public static final String sLineItem = "line-item";
+  // for sax construction;
+  public static final int initialBuffSize = 2048;
+  public static final String prefix = "po";
+  public static final String qNamespace = "xmlns:"+prefix;
+  public static final String qString = "xs:string";
+  public static final String qPO = "po:purchase-order";
+  public static final String qCustomer = "po:customer";
+  public static final String qName = "po:name";
+  public static final String qAddress = "po:address";
+  public static final String qDate = "po:date";
+  public static final String qLineItem = "po:line-item";
+  public static final String qDescription = "po:description";
+  public static final String qPerUnitOunces = "po:per-unit-ounces";
+  public static final String qPrice = "po:price";
+  public static final String qQuantity = "po:quantity";
+  public static final String qShipper = "po:shipper";
+  public static final String qPerOunceRate = "po:per-ounce-rate";
+
+  // values for primitives top down construction
+  public static final byte myByte = 127;
+  public static final int myInt = 7;
+  public static final int myNegInt = -7;
+  public static final long myLong = 123456789;
+  public static final short myShort = 1;
+  public static final byte[] myHexbin = {-127,0,127};
+  public static final double myDouble = 987654321;
+  public static final float myFloat = 3.14f;
+  public static final boolean myBool = true;
+
+  // values for non-primitives top down construction
+  public static final BigDecimal myBigDecimal = new BigDecimal(987654321.123456789);
+  public static final BigInteger myPosBigInteger = new BigInteger("987654321");
+  public static final BigInteger myNegBigInteger = new BigInteger("-987654321");
+  public static final GregorianCalendar myDate = new GregorianCalendar();
+  public static final String myString = "hello world!";
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/utils/PerfUtil.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/utils/PerfUtil.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/utils/PerfUtil.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,156 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.utils;
+
+//import java.io.ByteArrayInputStream;
+import java.io.FileInputStream;
+import java.io.BufferedInputStream;
+//import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.FileNotFoundException;
+import java.lang.StringBuffer;
+import java.lang.Math;
+
+public class PerfUtil
+{
+  public float getMemoryUsageMb(){
+    System.runFinalization();
+    System.gc();
+    try{Thread.currentThread().sleep(4000);}catch(InterruptedException ie){}
+    Runtime runtime = Runtime.getRuntime();
+    float result = ((float) runtime.totalMemory() - runtime.freeMemory())/(1024*1024);
+    return result;
+  }
+
+  // TODO: add more flavors
+  public char[] createXmlData(String flavor, int size){
+    StringBuffer buff = new StringBuffer();
+    final String rootStart = "<r>";
+    final String rootEnd = "</r>";
+    final String childStart = "<c>";
+    final String childEnd = "</c>";
+    final String attribute = "att=\"attval\"";
+    final String childAttribStart = "<c "+attribute+">";
+    final String textChunk = "1234567890qwertyuiopasdfghjklzxcvbnm";       
+
+    // use the given size parameter to normalize on number of chars
+    // as close as possible
+    if(flavor.equalsIgnoreCase("deep-elements")){
+      int iChildren = (size - 7)/7;
+      buff.append(rootStart);
+      for(int i=0; i<iChildren; i++){
+        buff.append(childStart);
+      }
+      for(int i=0; i<iChildren; i++){
+        buff.append(childEnd);
+      }
+      buff.append(rootEnd);
+    }
+    else if(flavor.equalsIgnoreCase("deep-attributes")){
+      int iChildren = (size - 7)/20;
+      buff.append(rootStart);
+      for(int i=0; i<iChildren; i++){
+        buff.append(childAttribStart);
+      }
+      for(int i=0; i<iChildren; i++){
+        buff.append(childEnd);
+      }
+      buff.append(rootEnd);
+    }
+    else if(flavor.equalsIgnoreCase("wide-elements")){
+      int iChildren = (size - 7)/7;
+      buff.append(rootStart);
+      for(int i=0; i<iChildren; i++){
+        buff.append(childStart+childEnd);
+      }
+      buff.append(rootEnd);
+    }
+    else if(flavor.equalsIgnoreCase("wide-text")){
+      int iChildren = (size - 7)/43;
+      buff.append(rootStart);
+      for(int i=0; i<iChildren; i++){
+        buff.append(childStart+textChunk+childEnd);
+      }
+      buff.append(rootEnd);
+    }
+    else if(flavor.equalsIgnoreCase("wide-attributes")){
+      int iChildren = (size - 7)/20;
+      buff.append(rootStart);
+      for(int i=0; i<iChildren; i++){
+        buff.append(childAttribStart+childEnd);
+      }
+      buff.append(rootEnd);
+    }
+    System.out.println("num chars: "+buff.length());
+    return buff.toString().toCharArray();
+  }
+
+  public byte[] createXmlDataBytes(String flavor, int size)
+  {
+    char[] chars = this.createXmlData(flavor,size);
+    String sXml = new String(chars);
+    return sXml.getBytes();
+  }
+
+
+  public boolean meetsTheBar(float actual, float bar){
+    final double fAllowedDeviation = 0.05;
+    float diff = Math.abs((actual-bar));
+    if( (diff/bar > fAllowedDeviation) ) return false;
+    else return true;
+  }
+
+  public boolean meetsTheBar(long actual, float bar){
+    Long lActual = new Long(actual);
+    return meetsTheBar(lActual.floatValue(), bar);
+  }
+
+  public char[] fileToChars(String filename) throws IOException,FileNotFoundException
+  {
+    BufferedInputStream bis = 
+      new BufferedInputStream(new FileInputStream(filename));
+    StringBuffer buff = new StringBuffer();
+    int c;
+    while( (c=bis.read()) != -1){
+      buff.append((char)c);
+    }
+    
+    return buff.toString().toCharArray();
+  }
+
+  public byte[] fileToBytes(String filename) throws IOException,FileNotFoundException
+  {
+    BufferedInputStream bis = 
+      new BufferedInputStream(new FileInputStream(filename));
+    StringBuffer buff = new StringBuffer();
+    int c;
+    while( (c=bis.read()) != -1){
+      buff.append((char)c);
+    }
+    
+    return buff.toString().getBytes();
+  }
+
+  public String createString(int size)
+  {
+    StringBuffer buff = new StringBuffer();
+    for(int i=0; i<size; i++)
+    {
+      buff.append("z");
+    }
+    return buff.toString();
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/BisLoadV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/BisLoadV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/BisLoadV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,81 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import java.io.ByteArrayInputStream;
+import java.io.BufferedInputStream;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by v2
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlCursor;
+
+public class BisLoadV1
+{
+ 
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.CURSOR_ITERATIONS;
+    String flavor;
+
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+    BisLoadV1 test = new BisLoadV1();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the buffered input stram
+    byte[] bytes = util.createXmlDataBytes(flavor, Constants.XML_SIZE);
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(new BufferedInputStream(new ByteArrayInputStream(bytes) ));
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(new BufferedInputStream(new ByteArrayInputStream(bytes) ));
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+BisLoadV1.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(BufferedInputStream p_bis) throws Exception
+  {
+    int iHash = 0;
+ 
+    // load the buffered input stream
+    XmlObject xobj = XmlObject.Factory.parse(p_bis);
+ 
+    // return the hash value
+    XmlCursor cursor = xobj.newCursor();
+    cursor.toFirstContentToken();
+    return cursor.getName().toString().length() * 17;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetAttributeV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetAttributeV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetAttributeV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,83 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by v2
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlCursor;
+
+public class CursorGetAttributeV1
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.GET_SET_ITERATIONS;
+    String flavor;
+
+    // the only flavors that should be used are
+    // deep-attributes and wide-attributes
+    // because this scenario focuses on attribute values
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+
+    CursorGetAttributeV1 test = new CursorGetAttributeV1();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    XmlCursor cursor = doc.newCursor();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+CursorGetAttributeV1.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(XmlCursor p_cursor) throws Exception
+  {
+    p_cursor.toFirstChild();
+    p_cursor.toFirstChild();
+    p_cursor.toFirstAttribute();
+    return p_cursor.getTextValue().length() * 17;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetElementV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetElementV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetElementV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,81 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by v2
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlCursor;
+
+public class CursorGetElementV1
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.GET_SET_ITERATIONS;
+    String flavor;
+
+    // the only flavors that should be used are
+    // wide-text and any others that have text values (none of as 8/18/04)
+    // because this scenario focuses on element values
+    if(args.length == 0)
+      flavor = "wide-text";
+    else
+      flavor = args[0];
+
+    CursorGetElementV1 test = new CursorGetElementV1();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    XmlCursor cursor = doc.newCursor();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+CursorGetElementV1.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(XmlCursor p_cursor) throws Exception
+  {
+    p_cursor.toFirstChild();
+    p_cursor.toFirstChild();
+    return p_cursor.getTextValue().length() * 17;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetSetGetAttributeV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetSetGetAttributeV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetSetGetAttributeV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,97 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by v2
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlCursor;
+
+public class CursorGetSetGetAttributeV1
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.GET_SET_ITERATIONS;
+    String flavor;
+    int stringSize = 0;
+
+    // the only flavors that should be used are
+    // deep-attributes and wide-attributes
+    // because this scenario focuses on attribute values
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+    // the size of the string used is the second arg or default if not specified
+    if(args.length < 2)
+    {
+      stringSize = Constants.STRING_SIZE;
+    }
+    else
+    {
+      stringSize = Integer.parseInt(args[1]);
+    }
+
+    // create the string to be used for the set
+    PerfUtil util = new PerfUtil();
+    String stringToSet = util.createString(stringSize);
+    CursorGetSetGetAttributeV1 test = new CursorGetSetGetAttributeV1();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    XmlCursor cursor = doc.newCursor();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor, stringToSet);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor, stringToSet);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+CursorGetSetGetAttributeV1.class.getName()+" flavor="+flavor+" sizetoset="+stringToSet.length()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(XmlCursor p_cursor, String p_setval) throws Exception
+  {
+    p_cursor.toFirstChild();
+    p_cursor.toFirstChild();
+    p_cursor.toFirstAttribute();
+    p_cursor.getTextValue();
+    p_cursor.setTextValue(p_setval);
+    return p_cursor.getTextValue().length() * 17;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetSetGetElementV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetSetGetElementV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorGetSetGetElementV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,96 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by v2
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlCursor;
+
+public class CursorGetSetGetElementV1
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.GET_SET_ITERATIONS;
+    String flavor;
+    int stringSize = 0;
+
+    // the only flavors that should be used are
+    // wide-text and any others that have text values (none of as 8/18/04)
+    // because this scenario focuses on element values
+    if(args.length == 0)
+      flavor = "wide-text";
+    else
+      flavor = args[0];
+
+    // the size of the string used is the second arg or default if not specified
+    if(args.length < 2)
+    {
+      stringSize = Constants.STRING_SIZE;
+    }
+    else
+    {
+      stringSize = Integer.parseInt(args[1]);
+    }
+
+    // create the string to be used for the set
+    PerfUtil util = new PerfUtil();
+    String stringToSet = util.createString(stringSize);
+    CursorGetSetGetElementV1 test = new CursorGetSetGetElementV1();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    XmlCursor cursor = doc.newCursor();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor, stringToSet);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor, stringToSet);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+CursorGetSetGetElementV1.class.getName()+" flavor="+flavor+" stringtoset="+stringToSet.length()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(XmlCursor p_cursor, String p_setval) throws Exception
+  {
+    p_cursor.toFirstChild();
+    p_cursor.toFirstChild();
+    p_cursor.getTextValue();
+    p_cursor.setTextValue(p_setval);
+    return p_cursor.getTextValue().length() * 17;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorWalkV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorWalkV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/CursorWalkV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,106 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by v2
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlCursor;
+//import org.apache.xmlbeans.XmlCursor.TokenType;
+
+public class CursorWalkV1
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.CURSOR_ITERATIONS;
+    String flavor;
+
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+    CursorWalkV1 test = new CursorWalkV1();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    //System.out.println("chars="+chars.length);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    XmlCursor cursor = doc.newCursor();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+CursorWalkV1.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(XmlCursor cursor) throws Exception
+  {
+    int iHash = 0;
+    
+    while(cursor.hasNextToken()){
+    
+      // walk the doc with the cursor, computing the hash
+      if(cursor.isStart())
+      {
+        iHash += 17; // add a prime number
+      }
+      else if(cursor.isContainer())
+      {
+        iHash += cursor.getTextValue().length();
+      }
+      else if(cursor.isAttr())
+      {
+        iHash += cursor.getTextValue().length();
+      }
+      else if(cursor.isText())
+      {
+        iHash += cursor.getChars().length();
+      }
+
+      cursor.toNextToken();
+
+    }
+
+    // reset the cursor to the beginning 
+    cursor.toStartDoc();
+
+    // return the hash value
+    return iHash;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/DomWalkNLV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/DomWalkNLV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/DomWalkNLV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,95 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by v2
+import org.apache.xmlbeans.XmlObject;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class DomWalkNLV1
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.CURSOR_ITERATIONS;
+    String flavor;
+
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+    DomWalkNLV1 test = new DomWalkNLV1();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    Node node = doc.newDomNode();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(node);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(node);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+DomWalkNLV1.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(Node p_node)
+  {
+    int result = 0;
+    short type = p_node.getNodeType();
+
+    if(type == Node.ATTRIBUTE_NODE ||
+       type == Node.CDATA_SECTION_NODE ||
+       type == Node.TEXT_NODE)
+    {
+      result = p_node.getNodeValue().length();
+    }
+    else
+    {
+      result = p_node.getNodeName().length();
+    }
+
+    NodeList children = p_node.getChildNodes();
+    for(int i=0; i<children.getLength(); i++)
+    {
+      result += run(children.item(i));
+    }
+
+    return result;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/DomWalkV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/DomWalkV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/DomWalkV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,94 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by v2
+import org.apache.xmlbeans.XmlObject;
+import org.w3c.dom.Node;
+
+public class DomWalkV1
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.CURSOR_ITERATIONS;
+    String flavor;
+
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+    DomWalkV1 test = new DomWalkV1();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    Node node = doc.newDomNode();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(node);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(node);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+DomWalkV1.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(Node p_node)
+  {
+    int result = 0;
+    short type = p_node.getNodeType();
+
+    if(type == Node.ATTRIBUTE_NODE ||
+       type == Node.CDATA_SECTION_NODE ||
+       type == Node.TEXT_NODE)
+    {
+      result = p_node.getNodeValue().length();
+    }
+    else
+    {
+      result = p_node.getNodeName().length();
+    }
+    
+    Node child = p_node.getFirstChild();
+    while(null != child)
+    {
+      result += run(child);
+      child = child.getNextSibling();
+    }
+    return result;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/NPrimTopDownV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/NPrimTopDownV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/NPrimTopDownV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,79 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// from schema jar
+import org.openuri.nonprimitives.NonPrimitivesDocument;
+import org.openuri.nonprimitives.NonPrimitivesDocument.NonPrimitives;
+import org.openuri.nonprimitives.Numerics;
+
+public class NPrimTopDownV1
+{
+  public static void main(String[] args) throws Exception
+  {
+    NPrimTopDownV1 test = new NPrimTopDownV1();
+    int iterations = Constants.ITERATIONS;
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+NPrimTopDownV1.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the doc
+    NonPrimitivesDocument doc = NonPrimitivesDocument.Factory.newInstance();
+    NonPrimitives nprim = doc.addNewNonPrimitives();
+
+    // create and initialize numeric elements
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      Numerics numerics = nprim.addNewNumerics();
+      numerics.setMydecimal(Constants.myBigDecimal);
+      numerics.setMyinteger(Constants.myPosBigInteger);
+      numerics.setMyneginteger(Constants.myNegBigInteger);
+      numerics.setMynonneginteger(Constants.myPosBigInteger);
+      numerics.setMynonposinteger(Constants.myNegBigInteger);
+      numerics.setMyposinteger(Constants.myPosBigInteger);
+    }
+
+    // set the date and string fields
+    nprim.setMydate(Constants.myDate);
+    nprim.setMystring(Constants.myString);
+
+    // calculate a hash to return
+    int hash = ( nprim.getNumericsArray().length ) * 17;
+    return hash;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POGetCustNameV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POGetCustNameV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POGetCustNameV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,99 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// from v2-generated schema jar(s)
+import org.openuri.easypo.PurchaseOrderDocument;
+import org.openuri.easypo.PurchaseOrderDocument.PurchaseOrder;
+import org.openuri.easypo.Customer;
+
+
+public class POGetCustNameV1
+{
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.GET_SET_ITERATIONS;
+    String filename;
+
+    // the xml instance can be specified by either a number
+    // or the name of a file located in the test folder
+    // see Constants.java
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }    
+
+    POGetCustNameV1 test = new POGetCustNameV1();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // parse the instance
+    PurchaseOrderDocument podoc = 
+      PurchaseOrderDocument.Factory.parse(new CharArrayReader(chars));
+    PurchaseOrder po = podoc.getPurchaseOrder();
+    Customer customer = po.getCustomer();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run(customer);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(customer);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POGetCustNameV1.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(Customer p_customer) throws Exception
+  {
+    return p_customer.getName().length() * 17;
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POGetSetGetCustNameV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POGetSetGetCustNameV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POGetSetGetCustNameV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,117 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// from v2-generated schema jar(s)
+import org.openuri.easypo.PurchaseOrderDocument;
+import org.openuri.easypo.PurchaseOrderDocument.PurchaseOrder;
+import org.openuri.easypo.Customer;
+
+
+public class POGetSetGetCustNameV1
+{
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.GET_SET_ITERATIONS;
+    String filename;
+    int stringSize = 0;
+    String stringToSet = "";
+
+    // the xml instance can be specified by either a number
+    // or the name of a file located in the test folder
+    // see Constants.java
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }    
+
+    // the size of the string used is the second arg or default if not specified
+    if(args.length < 2)
+    {
+      stringSize = Constants.STRING_SIZE;
+    }
+    else
+    {
+      stringSize = Integer.parseInt(args[1]);
+    }
+
+    POGetSetGetCustNameV1 test = new POGetSetGetCustNameV1();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // create the string to be used for the set
+    stringToSet = util.createString(stringSize);
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // parse the instance
+    PurchaseOrderDocument podoc = 
+      PurchaseOrderDocument.Factory.parse(new CharArrayReader(chars));
+    PurchaseOrder po = podoc.getPurchaseOrder();
+    Customer customer = po.getCustomer();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run(customer, stringToSet);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(customer, stringToSet);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POGetSetGetCustNameV1.class.getName()+
+    				" filesize="+chars.length+
+					" stringtoset="+stringToSet.length()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(Customer p_customer, String p_setval) throws Exception
+  {
+    p_customer.getName();
+    p_customer.setName(p_setval);
+    return p_customer.getName().length() * 17;
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POReadAllV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POReadAllV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POReadAllV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,124 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+//import java.io.File;
+//import java.io.IOException;
+//import java.io.FileNotFoundException;
+import java.io.CharArrayReader;
+//import java.lang.UnsupportedOperationException;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// required by v1
+//import org.apache.xmlbeans.XmlException;
+
+// from v1-generated schema jar(s)
+import org.openuri.easypo.PurchaseOrderDocument;
+import org.openuri.easypo.Customer;
+import org.openuri.easypo.LineItem;
+import org.openuri.easypo.Shipper;
+
+
+public class POReadAllV1
+{
+  public static void main(String[] args) throws Exception
+  {
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }
+
+    POReadAllV1 test = new POReadAllV1();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadAllV1.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception
+  {
+    int iSumStrings = 0;
+    // unmarshall the xml instance
+    PurchaseOrderDocument poDoc = 
+      PurchaseOrderDocument.Factory.parse(reader);       
+    // retreive the purchase order
+    PurchaseOrderDocument.PurchaseOrder po = poDoc.getPurchaseOrder();
+    // retreive the customer element
+    Customer customer = po.getCustomer();
+    iSumStrings += customer.getAddress().length();
+    iSumStrings += customer.getName().length();
+    // retreive the date
+    po.getDate();
+    // retreive all line items
+    LineItem[] lineitems = po.getLineItemArray();
+    // sum the line item prices and get the other childs
+    float sum = 0;
+    for(int i=0; i<lineitems.length; i++){
+      iSumStrings += lineitems[i].getDescription().length();
+      lineitems[i].getPerUnitOunces();
+      lineitems[i].getQuantity();
+      sum += lineitems[i].getPrice();
+    }
+    // retreive the shipper element
+    Shipper shipper = po.getShipper();
+    iSumStrings += shipper.getName().length();
+    shipper.getPerOunceRate();
+
+    return iSumStrings;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POReadOneV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POReadOneV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POReadOneV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,102 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+//import java.io.File;
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// from v2-generated schema jar(s)
+import org.openuri.easypo.PurchaseOrderDocument;
+//import org.openuri.easypo.Customer;
+import org.openuri.easypo.LineItem;
+//import org.openuri.easypo.Shipper;
+
+
+public class POReadOneV1
+{
+  public static void main(String[] args) throws Exception
+  {
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }    
+
+    POReadOneV1 test = new POReadOneV1();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadOneV1.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception
+  {
+    // unmarshall the xml instance
+    PurchaseOrderDocument poDoc = 
+      PurchaseOrderDocument.Factory.parse(reader);       
+    // retreive the purchase order
+    PurchaseOrderDocument.PurchaseOrder po = poDoc.getPurchaseOrder();
+   
+    // retreive the first line item
+    LineItem lineitem = po.getLineItemArray(0);
+
+    // return the char length of the description
+    return lineitem.getDescription().length();
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POTopDownSaveV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POTopDownSaveV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POTopDownSaveV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,98 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import java.io.Reader;
+import java.util.Calendar;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// from v2-generated schema jar(s)
+import org.openuri.easypo.PurchaseOrderDocument;
+import org.openuri.easypo.PurchaseOrderDocument.PurchaseOrder;
+import org.openuri.easypo.Customer;
+import org.openuri.easypo.LineItem;
+import org.openuri.easypo.Shipper;
+
+
+public class POTopDownSaveV1
+{
+  public static void main(String[] args) throws Exception
+  {
+    POTopDownSaveV1 test = new POTopDownSaveV1();
+    int iterations = Constants.ITERATIONS;
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POTopDownSaveV1.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the purchase order
+    PurchaseOrderDocument podoc = PurchaseOrderDocument.Factory.newInstance();
+    PurchaseOrder po = podoc.addNewPurchaseOrder();
+
+    // create and initialize customer
+    Customer customer = po.addNewCustomer();
+    customer.setName(Constants.PO_CUSTOMER_NAME);
+    customer.setAddress(Constants.PO_CUSTOMER_ADDR);
+
+    // set the date
+    po.setDate(Calendar.getInstance());
+
+    // create and initialize the line item array
+    for (int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      LineItem li = po.addNewLineItem();
+      li.setDescription(Constants.PO_LI_DESC);
+      li.setPerUnitOunces(Constants.PO_LI_PUO);
+      li.setPrice(Constants.PO_LI_PRICE);
+      li.setQuantity(Constants.PO_LI_QUANTITY);
+    }
+
+    // create and initialize the shipper
+    Shipper shipper = po.addNewShipper();
+    shipper.setName(Constants.PO_SHIPPER_NAME);
+    shipper.setPerOunceRate(Constants.PO_SHIPPER_POR);
+
+    // grab the instance that was constructed
+    Reader reader = po.newReader();
+    int c;
+    while( (c=reader.read()) != -1){}
+    if(null != reader) reader.close();
+
+    // calculate a hash to return
+    int hash = ( po.getLineItemArray().length ) * 17;
+    return hash;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POTopDownV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POTopDownV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POTopDownV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,92 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import java.util.Calendar;
+//import java.math.BigDecimal;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// from v2-generated schema jar(s)
+import org.openuri.easypo.PurchaseOrderDocument;
+import org.openuri.easypo.PurchaseOrderDocument.PurchaseOrder;
+import org.openuri.easypo.Customer;
+import org.openuri.easypo.LineItem;
+import org.openuri.easypo.Shipper;
+
+
+public class POTopDownV1
+{
+  public static void main(String[] args) throws Exception
+  {
+    POTopDownV1 test = new POTopDownV1();
+    int iterations = Constants.ITERATIONS;
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POTopDownV1.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the purchase order
+    PurchaseOrderDocument podoc = PurchaseOrderDocument.Factory.newInstance();
+    PurchaseOrder po = podoc.addNewPurchaseOrder();
+
+    // create and initialize customer
+    Customer customer = po.addNewCustomer();
+    customer.setName(Constants.PO_CUSTOMER_NAME);
+    customer.setAddress(Constants.PO_CUSTOMER_ADDR);
+
+    // set the date
+    po.setDate(Calendar.getInstance());
+
+    // create and initialize the line item array
+    for (int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      LineItem li = po.addNewLineItem();
+      li.setDescription(Constants.PO_LI_DESC);
+      li.setPerUnitOunces(Constants.PO_LI_PUO);
+      li.setPrice(Constants.PO_LI_PRICE);
+      li.setQuantity(Constants.PO_LI_QUANTITY);
+    }
+
+    // create and initialize the shipper
+    Shipper shipper = po.addNewShipper();
+    shipper.setName(Constants.PO_SHIPPER_NAME);
+    shipper.setPerOunceRate(Constants.PO_SHIPPER_POR);
+
+    // calculate a hash to return
+    int hash = ( po.getLineItemArray().length ) * 17;
+    return hash;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POValidateXmlObjV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POValidateXmlObjV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/POValidateXmlObjV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,94 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// from v2-generated schema jar(s)
+import org.openuri.easypo.PurchaseOrderDocument;
+
+public class POValidateXmlObjV1
+{
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }    
+
+    POValidateXmlObjV1 test = new POValidateXmlObjV1();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+    
+    
+    // parse the instance
+    PurchaseOrderDocument podoc = 
+      PurchaseOrderDocument.Factory.parse(new CharArrayReader(chars));
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(podoc);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(podoc);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POValidateXmlObjV1.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(PurchaseOrderDocument p_podoc) throws Exception
+  {
+    // validate it
+    p_podoc.validate();
+
+    // return an int for the hash
+    return 17;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/PrimTopDownV1.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/PrimTopDownV1.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v1/PrimTopDownV1.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,81 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v1;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+
+// from v2-generated schema jar
+import org.openuri.primitives.PrimitivesDocument;
+import org.openuri.primitives.PrimitivesDocument.Primitives;
+import org.openuri.primitives.Numerics;
+import org.openuri.primitives.Misc;
+
+public class PrimTopDownV1
+{
+  public static void main(String[] args) throws Exception
+  {
+    PrimTopDownV1 test = new PrimTopDownV1();
+    int iterations = Constants.ITERATIONS;
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+PrimTopDownV1.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the doc
+    PrimitivesDocument doc = PrimitivesDocument.Factory.newInstance();
+    Primitives prim = doc.addNewPrimitives();
+
+    // create and initialize numeric elements
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      Numerics numerics = prim.addNewNumerics();
+      numerics.setMybyte(Constants.myByte);
+      numerics.setMyint(Constants.myInt);
+      numerics.setMylong(Constants.myLong);
+      numerics.setMyshort(Constants.myShort);
+      numerics.setMyhexbin(Constants.myHexbin);
+      numerics.setMydouble(Constants.myDouble);
+      numerics.setMyfloat(Constants.myFloat);
+    }
+
+    // create and initialize the misc element
+    Misc misc = prim.addNewMisc();
+    misc.setMybool(Constants.myBool);
+
+    // calculate a hash to return
+    int hash = ( prim.getNumericsArray().length ) * 17;
+    return hash;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/BisLoadV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/BisLoadV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/BisLoadV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,82 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+
+import org.apache.xmlbeans.XmlCursor;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+
+
+public class BisLoadV2
+{
+ 
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.CURSOR_ITERATIONS;
+    String flavor;
+
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+    BisLoadV2 test = new BisLoadV2();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the buffered input stram
+    byte[] bytes = util.createXmlDataBytes(flavor, Constants.XML_SIZE);
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(new BufferedInputStream(new ByteArrayInputStream(bytes) ));
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(new BufferedInputStream(new ByteArrayInputStream(bytes) ));
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+BisLoadV2.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+
+  }
+
+  private int run(BufferedInputStream p_bis) throws Exception
+  {
+    int iHash = 0;
+ 
+    // load the buffered input stream
+    XmlObject xobj = XmlObject.Factory.parse(p_bis);
+ 
+    // calculate and return the hash value
+    XmlCursor cursor = xobj.newCursor();
+    cursor.toFirstContentToken();
+    return cursor.getName().toString().length() * 17;
+      
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetAttributeV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetAttributeV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetAttributeV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,81 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.XmlCursor;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+
+public class CursorGetAttributeV2
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.GET_SET_ITERATIONS;
+    String flavor;
+
+    // the only flavors that should be used are
+    // deep-attributes and wide-attributes
+    // because this scenario focuses on attribute values
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+    CursorGetAttributeV2 test = new CursorGetAttributeV2();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    XmlCursor cursor = doc.newCursor();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+CursorGetAttributeV2.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+    
+  }
+
+  private int run(XmlCursor p_cursor) throws Exception
+  {
+    p_cursor.toFirstChild();
+    p_cursor.toFirstChild();
+    p_cursor.toFirstAttribute();
+    return p_cursor.getTextValue().length() * 17;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetElementV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetElementV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetElementV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,80 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.XmlCursor;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+
+public class CursorGetElementV2
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.GET_SET_ITERATIONS;
+    String flavor;
+
+    // the only flavors that should be used are
+    // wide-text and any others that have text values (none of as 8/18/04)
+    // because this scenario focuses on element values
+    if(args.length == 0)
+      flavor = "wide-text";
+    else
+      flavor = args[0];
+
+    CursorGetElementV2 test = new CursorGetElementV2();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    XmlCursor cursor = doc.newCursor();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+CursorGetElementV2.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+    
+  }
+
+  private int run(XmlCursor p_cursor) throws Exception
+  {
+    p_cursor.toFirstChild();
+    p_cursor.toFirstChild();
+    return p_cursor.getTextValue().length() * 17;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetSetGetAttributeV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetSetGetAttributeV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetSetGetAttributeV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,96 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.XmlCursor;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+
+public class CursorGetSetGetAttributeV2
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.GET_SET_ITERATIONS;
+    String flavor;
+    int stringSize = 0;
+
+    // the only flavors that should be used are
+    // deep-attributes and wide-attributes
+    // because this scenario focuses on attribute values
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+    // the size of the string used is the second arg or default if not specified
+    if(args.length < 2)
+    {
+      stringSize = Constants.STRING_SIZE;
+    }
+    else
+    {
+      stringSize = Integer.parseInt(args[1]);
+    }
+
+    // create the string to be used for the set
+    PerfUtil util = new PerfUtil();
+    String stringToSet = util.createString(stringSize);
+    CursorGetSetGetAttributeV2 test = new CursorGetSetGetAttributeV2();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    XmlCursor cursor = doc.newCursor();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor, stringToSet);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor, stringToSet);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+CursorGetSetGetAttributeV2.class.getName()+" flavor="+flavor+" sizetoset="+stringToSet.length()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+    
+  }
+
+  private int run(XmlCursor p_cursor, String p_setval) throws Exception
+  {
+    p_cursor.toFirstChild();
+    p_cursor.toFirstChild();
+    p_cursor.toFirstAttribute();
+    p_cursor.getTextValue();
+    p_cursor.setTextValue(p_setval);
+    return p_cursor.getTextValue().length() * 17;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetSetGetElementV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetSetGetElementV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorGetSetGetElementV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,94 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.XmlCursor;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+
+public class CursorGetSetGetElementV2
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.GET_SET_ITERATIONS;
+    String flavor;
+    int stringSize = 0;
+
+    // the only flavors that should be used are
+    // wide-text and any others that have text values (none of as 8/18/04)
+    // because this scenario focuses on element values
+    if(args.length == 0)
+      flavor = "wide-text";
+    else
+      flavor = args[0];
+
+    // the size of the string used is the second arg or default if not specified
+    if(args.length < 2)
+    {
+      stringSize = Constants.STRING_SIZE;
+    }
+    else
+    {
+      stringSize = Integer.parseInt(args[1]);
+    }
+
+    // create the string to be used for the set
+    PerfUtil util = new PerfUtil();
+    String stringToSet = util.createString(stringSize);
+    CursorGetSetGetElementV2 test = new CursorGetSetGetElementV2();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    XmlCursor cursor = doc.newCursor();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor, stringToSet);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor, stringToSet);
+      cursor.toStartDoc();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+CursorGetSetGetElementV2.class.getName()+" flavor="+flavor+" stringtoset="+stringToSet.length()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(XmlCursor p_cursor, String p_setval) throws Exception
+  {
+    p_cursor.toFirstChild();
+    p_cursor.toFirstChild();
+    p_cursor.getTextValue();
+    p_cursor.setTextValue(p_setval);
+    return p_cursor.getTextValue().length() * 17;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorWalkV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorWalkV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/CursorWalkV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,106 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.XmlCursor;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+
+public class CursorWalkV2
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.CURSOR_ITERATIONS;
+    String flavor;
+
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+
+    CursorWalkV2 test = new CursorWalkV2();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    //System.out.println("chars="+chars.length);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    XmlCursor cursor = doc.newCursor();
+
+    // run the gc?
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(cursor);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+CursorWalkV2.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(XmlCursor cursor) throws Exception
+  {
+    int iHash = 0;
+    
+    while(cursor.hasNextToken()){
+    
+      // walk the doc with the cursor, computing the hash
+      if(cursor.isStart())
+      {
+        iHash += 17; // add a prime number
+      }
+      else if(cursor.isContainer())
+      {
+        iHash += cursor.getTextValue().length();
+      }
+      else if(cursor.isAttr())
+      {
+        iHash += cursor.getTextValue().length();
+      }
+      else if(cursor.isText())
+      {
+        iHash += cursor.getChars().length();
+      }
+
+      cursor.toNextToken();
+
+    }
+
+    // reset the cursor to the beginning 
+    cursor.toStartDoc();
+
+    // return the hash value
+    return iHash;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/DomWalkNLV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/DomWalkNLV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/DomWalkNLV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,93 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class DomWalkNLV2
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.CURSOR_ITERATIONS;
+    String flavor;
+
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+    DomWalkNLV2 test = new DomWalkNLV2();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    Node node = doc.newDomNode();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(node);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(node);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+DomWalkNLV2.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(Node p_node)
+  {
+    int result = 0;
+    short type = p_node.getNodeType();
+
+    if(type == Node.ATTRIBUTE_NODE ||
+       type == Node.CDATA_SECTION_NODE ||
+       type == Node.TEXT_NODE)
+    {
+      result = p_node.getNodeValue().length();
+    }
+    else
+    {
+      result = p_node.getNodeName().length();
+    }
+
+    NodeList children = p_node.getChildNodes();
+    for(int i=0; i<children.getLength(); i++)
+    {
+      result += run(children.item(i));
+    }
+
+    return result;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/DomWalkV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/DomWalkV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/DomWalkV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,92 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.w3c.dom.Node;
+
+public class DomWalkV2
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.CURSOR_ITERATIONS;
+    String flavor;
+
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+    DomWalkV2 test = new DomWalkV2();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    XmlObject doc = XmlObject.Factory.parse(new CharArrayReader(chars));
+    Node node = doc.newDomNode();
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(node);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(node);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+DomWalkV2.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(Node p_node)
+  {
+    int result = 0;
+    short type = p_node.getNodeType();
+
+    if(type == Node.ATTRIBUTE_NODE ||
+       type == Node.CDATA_SECTION_NODE ||
+       type == Node.TEXT_NODE)
+    {
+      result = p_node.getNodeValue().length();
+    }
+    else
+    {
+      result = p_node.getNodeName().length();
+    }
+    
+    Node child = p_node.getFirstChild();
+    while(null != child)
+    {
+      result += run(child);
+      child = child.getNextSibling();
+    }
+    return result;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/NPrimTopDownV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/NPrimTopDownV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/NPrimTopDownV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,78 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.openuri.nonprimitives.NonPrimitivesDocument;
+import org.openuri.nonprimitives.Numerics;
+import org.openuri.nonprimitives.NonPrimitivesDocument.NonPrimitives;
+
+public class NPrimTopDownV2
+{
+  public static void main(String[] args) throws Exception
+  {
+
+    NPrimTopDownV2 test = new NPrimTopDownV2();
+    int iterations = Constants.ITERATIONS;
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+NPrimTopDownV2.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the doc
+    NonPrimitivesDocument doc = NonPrimitivesDocument.Factory.newInstance();
+    NonPrimitives nprim = doc.addNewNonPrimitives();
+
+    // create and initialize numeric elements
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      Numerics numerics = nprim.addNewNumerics();
+      numerics.setMydecimal(Constants.myBigDecimal);
+      numerics.setMyinteger(Constants.myPosBigInteger);
+      numerics.setMyneginteger(Constants.myNegBigInteger);
+      numerics.setMynonneginteger(Constants.myPosBigInteger);
+      numerics.setMynonposinteger(Constants.myNegBigInteger);
+      numerics.setMyposinteger(Constants.myPosBigInteger);
+    }
+
+    // set the date and string fields
+    nprim.setMydate(Constants.myDate);
+    nprim.setMystring(Constants.myString);
+
+    // calculate a hash to return
+    int hash = ( nprim.getNumericsArray().length ) * 17;
+    return hash;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POReadAllV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POReadAllV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POReadAllV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,116 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.openuri.easypo.Customer;
+import org.openuri.easypo.LineItem;
+import org.openuri.easypo.PurchaseOrderDocument;
+import org.openuri.easypo.Shipper;
+
+
+public class POReadAllV2
+{
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }    
+
+    POReadAllV2 test = new POReadAllV2();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadAllV2.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception
+  {
+    int iSumStrings = 0;
+    // unmarshall the xml instance
+    PurchaseOrderDocument poDoc = 
+      PurchaseOrderDocument.Factory.parse(reader);       
+    // retreive the purchase order
+    PurchaseOrderDocument.PurchaseOrder po = poDoc.getPurchaseOrder();
+    // retreive the customer element
+    Customer customer = po.getCustomer();
+    iSumStrings += customer.getAddress().length();
+    iSumStrings += customer.getName().length();
+    // retreive the date
+    po.getDate();
+    // retreive all line items
+    LineItem[] lineitems = po.getLineItemArray();
+    // sum the line item prices and get the other childs
+    float sum = 0;
+    for(int i=0; i<lineitems.length; i++){
+      iSumStrings += lineitems[i].getDescription().length();
+      lineitems[i].getPerUnitOunces();
+      lineitems[i].getQuantity();
+      sum += lineitems[i].getPrice();
+    }
+    // retreive the shipper element
+    Shipper shipper = po.getShipper();
+    iSumStrings += shipper.getName().length();
+    shipper.getPerOunceRate();
+
+    return iSumStrings;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POReadOneV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POReadOneV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POReadOneV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,99 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+//import java.io.File;
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.openuri.easypo.LineItem;
+import org.openuri.easypo.PurchaseOrderDocument;
+//import org.openuri.easypo.Shipper;
+
+
+public class POReadOneV2
+{
+  public static void main(String[] args) throws Exception
+  {
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }    
+
+    POReadOneV2 test = new POReadOneV2();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadOneV2.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception
+  {
+    // unmarshall the xml instance
+    PurchaseOrderDocument poDoc = 
+      PurchaseOrderDocument.Factory.parse(reader);       
+    // retreive the purchase order
+    PurchaseOrderDocument.PurchaseOrder po = poDoc.getPurchaseOrder();
+   
+    // retreive the first line item
+    LineItem lineitem = po.getLineItemArray(0);
+
+    // return the char length of the description
+    return lineitem.getDescription().length();
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POTopDownSaveV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POTopDownSaveV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POTopDownSaveV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,97 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import java.io.Reader;
+import java.util.Calendar;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.openuri.easypo.Customer;
+import org.openuri.easypo.LineItem;
+import org.openuri.easypo.PurchaseOrderDocument;
+import org.openuri.easypo.Shipper;
+import org.openuri.easypo.PurchaseOrderDocument.PurchaseOrder;
+
+
+public class POTopDownSaveV2
+{
+  public static void main(String[] args) throws Exception
+  {
+
+    POTopDownSaveV2 test = new POTopDownSaveV2();
+    int iterations = Constants.ITERATIONS;
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POTopDownSaveV2.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the purchase order
+    PurchaseOrderDocument podoc = PurchaseOrderDocument.Factory.newInstance();
+    PurchaseOrder po = podoc.addNewPurchaseOrder();
+
+    // create and initialize customer
+    Customer customer = po.addNewCustomer();
+    customer.setName(Constants.PO_CUSTOMER_NAME);
+    customer.setAddress(Constants.PO_CUSTOMER_ADDR);
+
+    // set the date
+    po.setDate(Calendar.getInstance());
+
+    // create and initialize the line item array
+    for (int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      LineItem li = po.addNewLineItem();
+      li.setDescription(Constants.PO_LI_DESC);
+      li.setPerUnitOunces(Constants.PO_LI_PUO);
+      li.setPrice(Constants.PO_LI_PRICE);
+      li.setQuantity(Constants.PO_LI_QUANTITY);
+    }
+
+    // create and initialize the shipper
+    Shipper shipper = po.addNewShipper();
+    shipper.setName(Constants.PO_SHIPPER_NAME);
+    shipper.setPerOunceRate(Constants.PO_SHIPPER_POR);
+
+    // grab the instance that was constructed
+    Reader reader = po.newReader();
+    int c;
+    while( (c=reader.read()) != -1){}
+    if(null != reader) reader.close();
+
+    // calculate a hash to return
+    int hash = ( po.getLineItemArray().length ) * 17;
+    return hash;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POTopDownV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POTopDownV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POTopDownV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,90 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import java.util.Calendar;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.openuri.easypo.Customer;
+import org.openuri.easypo.LineItem;
+import org.openuri.easypo.PurchaseOrderDocument;
+import org.openuri.easypo.Shipper;
+import org.openuri.easypo.PurchaseOrderDocument.PurchaseOrder;
+
+
+public class POTopDownV2
+{
+  public static void main(String[] args) throws Exception
+  {
+
+    POTopDownV2 test = new POTopDownV2();
+    int iterations = Constants.ITERATIONS;
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POTopDownV2.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the purchase order
+    PurchaseOrderDocument podoc = PurchaseOrderDocument.Factory.newInstance();
+    PurchaseOrder po = podoc.addNewPurchaseOrder();
+
+    // create and initialize customer
+    Customer customer = po.addNewCustomer();
+    customer.setName(Constants.PO_CUSTOMER_NAME);
+    customer.setAddress(Constants.PO_CUSTOMER_ADDR);
+
+    // set the date
+    po.setDate(Calendar.getInstance());
+
+    // create and initialize the line item array
+    for (int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      LineItem li = po.addNewLineItem();
+      li.setDescription(Constants.PO_LI_DESC);
+      li.setPerUnitOunces(Constants.PO_LI_PUO);
+      li.setPrice(Constants.PO_LI_PRICE);
+      li.setQuantity(Constants.PO_LI_QUANTITY);
+    }
+
+    // create and initialize the shipper
+    Shipper shipper = po.addNewShipper();
+    shipper.setName(Constants.PO_SHIPPER_NAME);
+    shipper.setPerOunceRate(Constants.PO_SHIPPER_POR);
+
+    // calculate a hash to return
+    int hash = ( po.getLineItemArray().length ) * 17;
+    return hash;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POValidateXmlObjV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POValidateXmlObjV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/POValidateXmlObjV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,92 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import java.io.CharArrayReader;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.openuri.easypo.PurchaseOrderDocument;
+
+public class POValidateXmlObjV2
+{
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }    
+
+    POValidateXmlObjV2 test = new POValidateXmlObjV2();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+    
+    
+    // parse the instance
+    PurchaseOrderDocument podoc = 
+      PurchaseOrderDocument.Factory.parse(new CharArrayReader(chars));
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(podoc);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(podoc);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+POValidateXmlObjV2.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(PurchaseOrderDocument p_podoc) throws Exception
+  {
+    // validate it
+    p_podoc.validate();
+
+    // return an int for the hash
+    return 17;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/PrimTopDownV2.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/PrimTopDownV2.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/v2/PrimTopDownV2.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,80 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.v2;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.openuri.primitives.Misc;
+import org.openuri.primitives.Numerics;
+import org.openuri.primitives.PrimitivesDocument;
+import org.openuri.primitives.PrimitivesDocument.Primitives;
+
+public class PrimTopDownV2
+{
+  public static void main(String[] args) throws Exception
+  {
+
+    PrimTopDownV2 test = new PrimTopDownV2();
+    int iterations = Constants.ITERATIONS;
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+PrimTopDownV2.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception
+  {
+    // create the doc
+    PrimitivesDocument doc = PrimitivesDocument.Factory.newInstance();
+    Primitives prim = doc.addNewPrimitives();
+
+    // create and initialize numeric elements
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      Numerics numerics = prim.addNewNumerics();
+      numerics.setMybyte(Constants.myByte);
+      numerics.setMyint(Constants.myInt);
+      numerics.setMylong(Constants.myLong);
+      numerics.setMyshort(Constants.myShort);
+      numerics.setMyhexbin(Constants.myHexbin);
+      numerics.setMydouble(Constants.myDouble);
+      numerics.setMyfloat(Constants.myFloat);
+    }
+
+    // create and initialize the misc element
+    Misc misc = prim.addNewMisc();
+    misc.setMybool(Constants.myBool);
+
+    // calculate a hash to return
+    int hash = ( prim.getNumericsArray().length ) * 17;
+    return hash;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/BisLoadXercesDom.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/BisLoadXercesDom.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/BisLoadXercesDom.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,83 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.xerces;
+
+//import java.io.File;
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+
+public class BisLoadXercesDom
+{
+  public static void main(String[] args) throws Exception
+  {
+    final int iterations = Constants.CURSOR_ITERATIONS;
+    String flavor;
+
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+    BisLoadXercesDom test = new BisLoadXercesDom();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the buffered input stram
+    byte[] bytes = util.createXmlDataBytes(flavor, Constants.XML_SIZE);
+   
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run(new BufferedInputStream(new ByteArrayInputStream(bytes) ));
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run(new BufferedInputStream(new ByteArrayInputStream(bytes) ));
+    }
+    cputime = System.currentTimeMillis() - cputime;
+    
+      
+    // print the results
+    System.out.print(Constants.DELIM+BisLoadXercesDom.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(BufferedInputStream bis) throws Exception 
+  {
+    // create the input source from the bis
+    InputSource is = new InputSource(bis);
+
+    // load the input source
+    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+    DocumentBuilder builder = factory.newDocumentBuilder();
+    Document doc = builder.parse(is);
+
+    // calculate and return the hash
+    return doc.getDocumentElement().getTagName().length() * 17;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/BisLoadXercesSax.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/BisLoadXercesSax.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/BisLoadXercesSax.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,111 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.xerces;
+
+//import java.io.File;
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.xml.sax.Attributes;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+
+public class BisLoadXercesSax
+{
+  public static void main(String[] args) throws Exception
+  {
+    final int iterations = Constants.CURSOR_ITERATIONS;
+    String flavor;
+
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+
+    BisLoadXercesSax test = new BisLoadXercesSax();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the buffered input stram
+    byte[] bytes = util.createXmlDataBytes(flavor, Constants.XML_SIZE);
+   
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run(new BufferedInputStream(new ByteArrayInputStream(bytes) ));
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run(new BufferedInputStream(new ByteArrayInputStream(bytes) ));
+    }
+    cputime = System.currentTimeMillis() - cputime;
+    
+      
+    // print the results
+    System.out.print(Constants.DELIM+BisLoadXercesSax.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(BufferedInputStream bis) throws Exception 
+  {
+    // create the input source from the bis
+    InputSource is = new InputSource(bis);
+
+    // load the input source
+    SAXParserFactory factory = SAXParserFactory.newInstance();
+    SAXParser parser = factory.newSAXParser();
+    MyHandler handler = new MyHandler();
+    parser.parse(is, handler);
+
+    // calculate and return the hash
+    return handler.getTagName().length() * 17;
+  }
+
+  // SAX event handler class
+  public static class MyHandler extends DefaultHandler
+  {
+    private String _tagName;
+    private boolean bDone = false;
+
+    public String getTagName(){return _tagName;}
+
+    public void startElement(String uri,
+                             String localName,
+                             String qName,
+                             Attributes attributes) throws SAXException
+    {
+      if (!bDone)
+      {
+        _tagName = qName;
+        bDone = true;
+      }
+
+    }
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/DomWalkNLXerces.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/DomWalkNLXerces.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/DomWalkNLXerces.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,103 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.xerces;
+
+import java.io.CharArrayReader;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
+
+
+public class DomWalkNLXerces
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.CURSOR_ITERATIONS;
+    String flavor;
+
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+ 
+    DomWalkNLXerces test = new DomWalkNLXerces();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xml cursor
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    InputSource is = new InputSource(new CharArrayReader(chars));
+    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+    factory.setNamespaceAware(false);
+    factory.setValidating(false);
+    DocumentBuilder builder = factory.newDocumentBuilder();
+    Document doc = builder.parse(is);
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(doc);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(doc);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+DomWalkNLXerces.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(Node p_node)
+  {
+    int result = 0;
+    short type = p_node.getNodeType();
+
+    if(type == Node.ATTRIBUTE_NODE ||
+       type == Node.CDATA_SECTION_NODE ||
+       type == Node.TEXT_NODE)
+    {
+      result = p_node.getNodeValue().length();
+    }
+    else
+    {
+      result = p_node.getNodeName().length();
+    }
+
+    NodeList children = p_node.getChildNodes();
+    for(int i=0; i<children.getLength(); i++)
+    {
+      result += run(children.item(i));
+    }
+
+    return result;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/DomWalkXerces.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/DomWalkXerces.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/DomWalkXerces.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,100 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.xerces;
+
+import java.io.CharArrayReader;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.xml.sax.InputSource;
+
+public class DomWalkXerces
+{
+
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.CURSOR_ITERATIONS;
+    String flavor;
+
+    if(args.length == 0)
+      flavor = "deep-attributes";
+    else
+      flavor = args[0];
+
+    DomWalkXerces test = new DomWalkXerces();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xml
+    char[] chars = util.createXmlData(flavor, Constants.XML_SIZE);
+    InputSource is = new InputSource(new CharArrayReader(chars));
+    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+    factory.setNamespaceAware(false);
+    factory.setValidating(false);
+    DocumentBuilder builder = factory.newDocumentBuilder();
+    Document doc = builder.parse(is);
+
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(doc);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(doc);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+      
+    // print the results
+    System.out.print(Constants.DELIM+DomWalkXerces.class.getName()+" flavor="+flavor+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(Node p_node)
+  {
+    int result = 0;
+    short type = p_node.getNodeType();
+
+    if(type == Node.ATTRIBUTE_NODE ||
+       type == Node.CDATA_SECTION_NODE ||
+       type == Node.TEXT_NODE)
+    {
+      result = p_node.getNodeValue().length();
+    }
+    else
+    {
+      result = p_node.getNodeName().length();
+    }
+    
+    Node child = p_node.getFirstChild();
+    while(null != child)
+    {
+      result += run(child);
+      child = child.getNextSibling();
+    }
+    return result;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadAllXercesDom.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadAllXercesDom.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadAllXercesDom.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,133 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.xerces;
+
+import java.io.CharArrayReader;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
+
+public class POReadAllXercesDom
+{
+  public static void main(String[] args) throws Exception
+  {
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }
+
+    POReadAllXercesDom test = new POReadAllXercesDom();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+    
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadAllXercesDom.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception 
+  {
+    int iSumStrings = 0;
+    // "unmarshall" the xml instance
+    InputSource is = new InputSource(reader);
+    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+    factory.setNamespaceAware(true);
+    factory.setValidating(false);
+    DocumentBuilder builder = factory.newDocumentBuilder();
+    Document doc = builder.parse(is);
+
+    // retreive the purchase order
+    Element po = doc.getDocumentElement();
+
+    // retreive the customer element
+    Node customer = po.getElementsByTagName("po:customer").item(0);
+    NodeList custChildren = customer.getChildNodes();
+    iSumStrings += 
+      custChildren.item(1).getFirstChild().getNodeValue().length();
+    iSumStrings += 
+      custChildren.item(3).getFirstChild().getNodeValue().length();
+    // retreive the date
+    po.getElementsByTagName("po:date").item(0);
+    // retreive all line items
+    NodeList lineitems = po.getElementsByTagName("po:line-item");
+    // sum the line item prices and get the other childs
+    float sum = 0;
+    for(int i=0; i<lineitems.getLength(); i++){
+      NodeList liChildren = lineitems.item(i).getChildNodes();
+      iSumStrings += 
+        liChildren.item(1).getFirstChild().getNodeValue().length();
+      liChildren.item(3);
+      liChildren.item(7);
+      sum += 
+        Float.parseFloat(liChildren.item(5).getFirstChild().getNodeValue());
+    }
+
+    // retreive the shipper element
+    Node shipper = po.getElementsByTagName("po:shipper").item(0);
+    NodeList shipperChildren = shipper.getChildNodes();
+    iSumStrings += shipperChildren.item(1).getFirstChild().getNodeValue().length();
+    shipperChildren.item(3).getFirstChild().getNodeValue();
+
+    return iSumStrings;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadAllXercesSax.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadAllXercesSax.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadAllXercesSax.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,173 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.xerces;
+
+import java.io.CharArrayReader;
+
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.xml.sax.Attributes;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+
+public class POReadAllXercesSax
+{
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations =  Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }
+
+    POReadAllXercesSax test = new POReadAllXercesSax();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);    
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+    
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadAllXercesDom.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception 
+  {
+    // "unmarshall" the xml instance
+    InputSource is = new InputSource(reader);
+    SAXParserFactory factory = SAXParserFactory.newInstance();
+    factory.setNamespaceAware(true);
+    factory.setValidating(false);
+    SAXParser parser = factory.newSAXParser();
+    MyHandler handler = new MyHandler();
+    // the handler will tally the string length sum
+    parser.parse(is, handler);
+   
+    return handler.getStringLengthSum();
+  }
+
+  // SAX event handler class
+  public static class MyHandler extends DefaultHandler
+  {
+    private int iStringSum = 0;
+    private float sum = 0;
+    private boolean inStringForSum = false;
+    private boolean inPrice = false;
+
+    public void startElement(String uri, 
+                             String localName, 
+                             String qName, 
+                             Attributes attributes) throws SAXException
+    {
+      
+      if(uri.compareTo(Constants.PO_NS) == 0 &&
+         (localName.compareTo(Constants.sAddress) == 0 ||
+         localName.compareTo(Constants.sName) == 0 ||
+          localName.compareTo(Constants.sDesc) == 0) )
+      {
+        inStringForSum = true;
+        return;
+      }
+
+      if(uri.compareTo(Constants.PO_NS) == 0 &&
+         localName.compareTo(Constants.sPrice) == 0)
+      {
+        inPrice = true;
+        return;
+      }
+
+    }
+
+    public void endElement(String uri, 
+                           String localName, 
+                           String qName) throws SAXException
+    {
+      if(uri.compareTo(Constants.PO_NS) == 0 &&
+         (localName.compareTo(Constants.sAddress) == 0 ||
+         localName.compareTo(Constants.sName) == 0 ||
+          localName.compareTo(Constants.sDesc) == 0) )
+      {
+        inStringForSum = false;
+        return;
+      }
+
+      if(uri.compareTo(Constants.PO_NS) == 0 &&
+         localName.compareTo(Constants.sPrice) == 0)
+      {
+        inPrice = false;
+        return;
+      }
+
+    }
+
+    public void characters(char[] ch,
+                           int start,
+                           int length) throws SAXException
+    {
+      if(inStringForSum){
+        //System.out.println("characters length = "+length);
+        iStringSum += length;
+      }
+      else if(inPrice){
+        sum += Float.parseFloat(new String(ch,start,length));
+      }
+    }
+
+    public int getStringLengthSum(){return iStringSum;}
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadOneXercesDom.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadOneXercesDom.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadOneXercesDom.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,108 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.xerces;
+
+import java.io.CharArrayReader;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
+
+public class POReadOneXercesDom
+{
+  public static void main(String[] args) throws Exception
+  {
+   
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }
+
+    POReadOneXercesDom test = new POReadOneXercesDom();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+    
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadOneXercesDom.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception 
+  {
+    // "unmarshall" the xml instance
+    InputSource is = new InputSource(reader);
+    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+    factory.setNamespaceAware(true);
+    factory.setValidating(false);
+    DocumentBuilder builder = factory.newDocumentBuilder();
+    Document doc = builder.parse(is);
+
+    // retreive the purchase order
+    Element po = doc.getDocumentElement();
+
+    // retreive the first line item
+    NodeList lineitem = po.getElementsByTagName("po:line-item").item(0).getChildNodes();
+
+    // return the char length of the description
+    return lineitem.item(1).getFirstChild().getNodeValue().length();
+  }
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadOneXercesSax.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadOneXercesSax.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POReadOneXercesSax.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,166 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.xerces;
+
+import java.io.CharArrayReader;
+
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+import org.xml.sax.Attributes;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+
+public class POReadOneXercesSax
+{
+  public static void main(String[] args) throws Exception
+  {
+    final int iterations =  Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }
+
+
+    POReadOneXercesSax test = new POReadOneXercesSax();
+    PerfUtil util = new PerfUtil();
+    long cputime;
+    int hash = 0;
+
+    // get the xmlinstance
+    char[] chars = util.fileToChars(filename);
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);     
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      CharArrayReader reader = new CharArrayReader(chars);    
+      hash += test.run(reader);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+    
+      
+    // print the results
+    System.out.print(Constants.DELIM+POReadOneXercesDom.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(CharArrayReader reader) throws Exception 
+  {
+    // "unmarshall" the xml instance
+    InputSource is = new InputSource(reader);
+    SAXParserFactory factory = SAXParserFactory.newInstance();
+    factory.setNamespaceAware(true);
+    factory.setValidating(false);
+    SAXParser parser = factory.newSAXParser();
+    MyHandler handler = new MyHandler();
+    // the handler will tally the string length sum
+    parser.parse(is, handler);
+   
+    return handler.getLineItemDescLength();
+  }
+
+  // SAX event handler class
+  public static class MyHandler extends DefaultHandler
+  {
+    private int iLineItemDescLen = 0;
+    private boolean inLineItem = false;
+    private boolean inLineItemDesc = false;
+    private boolean bDone = false;
+    
+
+    public void startElement(String uri, 
+                             String localName, 
+                             String qName, 
+                             Attributes attributes) throws SAXException
+    {
+      
+      if( uri.compareTo(Constants.PO_NS) == 0 &&
+          localName.compareTo(Constants.sLineItem) == 0)
+      {
+        inLineItem = true;
+        return;
+      }
+      else if( uri.compareTo(Constants.PO_NS) == 0 &&
+               localName.compareTo(Constants.sDesc) == 0 &&
+               inLineItem )
+      {
+        inLineItemDesc = true;
+        return;
+      }
+    }
+
+    public void endElement(String uri, 
+                           String localName, 
+                           String qName) throws SAXException
+    {
+    if( uri.compareTo(Constants.PO_NS) == 0 &&
+          localName.compareTo(Constants.sLineItem) == 0)
+      {
+        inLineItem = false;
+        return;
+      }
+      else if( uri.compareTo(Constants.PO_NS) == 0 &&
+               localName.compareTo(Constants.sDesc) == 0 &&
+               inLineItem )
+      {
+        inLineItemDesc = false;
+        return;
+      }
+  
+    }
+
+    public void characters(char[] ch,
+                           int start,
+                           int length) throws SAXException
+    {
+      if(inLineItemDesc && !bDone){
+        iLineItemDescLen = length;
+        bDone = true;
+      }
+    }
+
+    public int getLineItemDescLength(){return iLineItemDescLen;}
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POTopDownXercesDom.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POTopDownXercesDom.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POTopDownXercesDom.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,142 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.xerces;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+public class POTopDownXercesDom
+{
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.ITERATIONS;
+   
+    POTopDownXercesDom test = new POTopDownXercesDom();
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+    
+      
+    // print the results
+    System.out.print(Constants.DELIM+POTopDownXercesDom.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception 
+  {
+    
+    // create the document
+    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+    factory.setNamespaceAware(true);
+    factory.setValidating(false);
+    DocumentBuilder builder = factory.newDocumentBuilder();
+    Document doc = builder.newDocument();
+
+    // create the purchase order element
+    Element po = doc.createElementNS(Constants.PO_NS,"po:purchase-order");
+
+    // create the customer element
+    Element customer = doc.createElementNS(Constants.PO_NS,"po:customer");
+
+    // create the customer name element and add to customer
+    Element name = doc.createElementNS(Constants.PO_NS,"po:name");
+    Node tCustName = doc.createTextNode(Constants.PO_CUSTOMER_NAME);
+    name.appendChild(tCustName);
+    customer.appendChild(name);
+
+    // create the customer address element and add to customer
+    Element address = doc.createElementNS(Constants.PO_NS,"po:address");
+    Node tCustAddr = doc.createTextNode(Constants.PO_CUSTOMER_ADDR);
+    address.appendChild(tCustAddr);
+    customer.appendChild(address);
+
+    // add the customer to the po
+    po.appendChild(customer);
+
+    // create the date element and add it to the po
+    Element date = doc.createElementNS(Constants.PO_NS,"po:date");
+    Node tDate = doc.createTextNode(Constants.PO_DATE_STRING);
+    date.appendChild(tDate);
+    po.appendChild(date);
+
+    // create and add the line item elements
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      Element li = doc.createElementNS(Constants.PO_NS,"po:line-item");
+
+      // description
+      Element desc = doc.createElementNS(Constants.PO_NS,"po:description");
+      Node tDesc = doc.createTextNode(Constants.PO_LI_DESC);
+      desc.appendChild(tDesc);
+      li.appendChild(desc);
+
+      // per-unit-ounces
+      Element puo = doc.createElementNS(Constants.PO_NS,"po:per-unit-ounces");
+      Node tPuo = doc.createTextNode(Constants.PO_LI_PUO_STRING);
+      puo.appendChild(tPuo);
+      li.appendChild(puo);
+
+      // price
+      Element price = doc.createElementNS(Constants.PO_NS,"po:price");
+      Node tPrice = doc.createTextNode(Constants.PO_LI_PRICE_STRING);
+      price.appendChild(tPrice);
+      li.appendChild(price);
+
+      // quantity
+      Element quantity = doc.createElementNS(Constants.PO_NS,"po:quantity");
+      Node tQuantity = doc.createTextNode(Constants.PO_LI_QUANTITY_STRING);
+      quantity.appendChild(tQuantity);
+      li.appendChild(quantity);
+
+      // add the line-item to the po
+      po.appendChild(li);
+    }
+
+    // create and add the shipper
+    Element shipper = doc.createElementNS(Constants.PO_NS,"po:shipper");
+    Element shipperName = doc.createElementNS(Constants.PO_NS,"po:name");
+    Node tShipperName = doc.createTextNode(Constants.PO_SHIPPER_NAME);
+    shipperName.appendChild(tShipperName);
+    shipper.appendChild(shipperName);
+    Element perouncerate = doc.createElementNS(Constants.PO_NS,"po:per-ounce-rate");
+    Node tPerOunceRate = doc.createTextNode(Constants.PO_SHIPPER_POR_STRING);
+    perouncerate.appendChild(tPerOunceRate);
+    shipper.appendChild(perouncerate);
+
+    // create the hash to return
+    int hash = ( po.getElementsByTagNameNS(Constants.PO_NS, "line-item").getLength() ) * 17;
+    return hash;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POTopDownXercesSax.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POTopDownXercesSax.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POTopDownXercesSax.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,233 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.xerces;
+
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.AttributesImpl;
+import org.xml.sax.helpers.DefaultHandler;
+
+
+public class POTopDownXercesSax
+{
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.ITERATIONS;
+   
+    POTopDownXercesSax test = new POTopDownXercesSax();
+    long cputime;
+    int hash = 0;
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){
+      hash += test.run();
+    }
+    cputime = System.currentTimeMillis() - cputime;
+    
+      
+    // print the results
+    System.out.print(Constants.DELIM+POTopDownXercesSax.class.getName()+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run() throws Exception 
+  {
+  
+    // instantiate the handler
+    MyHandler handler = new MyHandler();
+    handler.startDocument();
+    handler.startPrefixMapping(Constants.prefix,
+                               Constants.PO_NS);
+
+    // start the po element
+    AttributesImpl attributes = new AttributesImpl();
+    attributes.addAttribute(null,
+                            null,
+                            Constants.qNamespace,
+                            Constants.qString,
+                            Constants.PO_NS);
+    handler.startElement(null,null,Constants.qPO,attributes);
+    
+    // the customer element
+    handler.startElement(Constants.qCustomer);
+    handler.startElement(Constants.qName);
+    handler.characters(Constants.PO_CUSTOMER_NAME);
+    handler.endElement(Constants.qName);
+    handler.startElement(Constants.qAddress);
+    handler.characters(Constants.PO_CUSTOMER_ADDR);
+    handler.endElement(Constants.qAddress);
+    handler.endElement(Constants.qCustomer);
+
+    // the date element
+    handler.startElement(Constants.qDate);
+    handler.characters(Constants.PO_DATE_STRING);
+    handler.endElement(Constants.qDate);
+
+    // the line items
+    for(int i=0; i<Constants.PO_NUM_LINEITEMS; i++)
+    {
+      handler.startElement(Constants.qLineItem);
+      handler.startElement(Constants.qDescription);
+      handler.characters(Constants.PO_LI_DESC);
+      handler.endElement(Constants.qDescription);
+      handler.startElement(Constants.qPerUnitOunces);
+      handler.characters(Constants.PO_LI_PUO_STRING);
+      handler.endElement(Constants.qPerUnitOunces);
+      handler.startElement(Constants.qPrice);
+      handler.characters(Constants.PO_LI_PRICE_STRING);
+      handler.endElement(Constants.qPrice);
+      handler.startElement(Constants.qQuantity);
+      handler.characters(Constants.PO_LI_QUANTITY_STRING);
+      handler.endElement(Constants.qQuantity);
+      handler.endElement(Constants.qLineItem);
+    }
+
+    // the shipper
+    handler.startElement(Constants.qShipper);
+    handler.startElement(Constants.qName);
+    handler.characters(Constants.PO_SHIPPER_NAME);
+    handler.endElement(Constants.qName);
+    handler.startElement(Constants.qPerOunceRate);
+    handler.characters(Constants.PO_SHIPPER_POR_STRING);
+    handler.endElement(Constants.qPerOunceRate);
+    handler.endElement(Constants.qShipper);
+
+
+    // end the po element
+    handler.endElement(Constants.qPO);
+
+    // calculate a hash to return
+    int hash = handler.getLineItemCount() * 17;
+    return hash;
+  }
+
+  // SAX event handler class
+  public static class MyHandler extends DefaultHandler
+  {
+    private int _hash = 0;
+    private StringBuffer _buff;
+    private String _uri;
+    private String _prefix;
+    private final String SES = "<";
+    private final String EE = ">";
+    private final String EES = "</";
+    private final String EQ = "=";
+
+    public int getLineItemCount()
+    {
+      int licount = 0;
+      int i = 0;
+      while( i != _buff.lastIndexOf(Constants.qLineItem))
+      {
+        licount++;
+        i = _buff.indexOf(Constants.qLineItem,i+1);
+      }
+
+      return (licount/2);
+    }
+
+    // sax event handlers
+    public void startDocument() throws SAXException
+    {
+      _buff = new StringBuffer(Constants.initialBuffSize);
+    }
+
+    /*
+    public void endDocument() throws SAXException
+    {
+    }
+    */
+
+    public void startPrefixMapping(String prefix, String uri) throws SAXException
+    {
+      _prefix = prefix;
+      _uri = uri;
+    }
+
+    public void endPrefixMapping(String prefix) throws SAXException
+    {
+      _prefix = null;
+      _uri = null;
+    }
+
+    public void startElement(String qName) throws SAXException
+    {
+      this.startElement(null,null,qName,null);
+    }
+
+    public void startElement(String uri,
+                             String localName,
+                             String qName,
+                             Attributes attributes) throws SAXException
+    {
+
+      if(null != attributes)
+      {
+        _buff.append(SES);
+        _buff.append(qName);
+        _buff.append(attributes.getQName(0));
+        _buff.append(EQ);
+        _buff.append(attributes.getValue(0));
+        _buff.append(EE);
+      }
+      else
+      {
+        _buff.append(SES);
+        _buff.append(qName);
+        _buff.append(EE);
+      }
+
+    }
+
+    public void endElement(String qName) throws SAXException
+    {
+      this.endElement(null,null,qName);
+    }
+
+    public void endElement(String uri,
+                           String localName,
+                           String qName) throws SAXException
+    {
+      _buff.append(EES);
+      _buff.append(qName);
+      _buff.append(EE);
+    }
+
+    public void characters(String _val) throws SAXException
+    {
+      char[] chars = new char[_val.length()];
+      _val.getChars(0,_val.length(),chars,0);
+      this.characters(chars,0,chars.length);
+    }
+
+    public void characters(char[] ch, int start, int length) throws SAXException
+    {
+      _buff.append(ch,start,length);
+    }
+  }
+
+
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POValidateXerces.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POValidateXerces.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/performance/xerces/POValidateXerces.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,152 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.performance.xerces;
+
+import org.apache.xerces.parsers.IntegratedParserConfiguration;
+import org.apache.xerces.parsers.XMLGrammarPreparser;
+import org.apache.xerces.util.SymbolTable;
+import org.apache.xerces.util.XMLGrammarPoolImpl;
+import org.apache.xerces.xni.grammars.Grammar;
+import org.apache.xerces.xni.grammars.XMLGrammarDescription;
+import org.apache.xerces.xni.parser.XMLInputSource;
+import org.apache.xerces.xni.parser.XMLParserConfiguration;
+import org.apache.xmlbeans.test.performance.utils.Constants;
+import org.apache.xmlbeans.test.performance.utils.PerfUtil;
+
+public class POValidateXerces
+{
+  public static void main(String[] args) throws Exception
+  {
+
+    final int iterations = Constants.ITERATIONS;
+    String filename;
+
+    if(args.length == 0){
+      filename = Constants.PO_INSTANCE_1;
+    }
+    else if(args[0].length() > 1){
+      filename = Constants.XSD_DIR+Constants.P+args[0];
+    }
+    else{
+      switch( Integer.parseInt(args[0]) )
+      {
+      case 1: filename = Constants.PO_INSTANCE_1; break;
+      case 2: filename = Constants.PO_INSTANCE_2; break;  
+      case 3: filename = Constants.PO_INSTANCE_3; break;
+      case 4: filename = Constants.PO_INSTANCE_4; break;
+      case 5: filename = Constants.PO_INSTANCE_5; break;
+      case 6: filename = Constants.PO_INSTANCE_6; break;
+      case 7: filename = Constants.PO_INSTANCE_7; break;
+      default: filename = Constants.PO_INSTANCE_1; break;
+      }
+    }
+
+    POValidateXerces test = new POValidateXerces();
+    long cputime;
+    int hash = 0;
+
+    /////////////////////////////////
+    // Xerces validating parser setup
+    /////////////////////////////////
+    /** Property identifier: symbol table. */
+    final String SYMBOL_TABLE =
+            org.apache.xerces.impl.Constants.XERCES_PROPERTY_PREFIX + org.apache.xerces.impl.Constants.SYMBOL_TABLE_PROPERTY;
+
+    /** Property identifier: grammar pool. */
+    final String GRAMMAR_POOL =
+            org.apache.xerces.impl.Constants.XERCES_PROPERTY_PREFIX + org.apache.xerces.impl.Constants.XMLGRAMMAR_POOL_PROPERTY;
+
+    // feature ids
+
+    /** Namespaces feature id */
+    final String NAMESPACES_FEATURE_ID =
+            "http://xml.org/sax/features/namespaces";
+
+    /** Validation feature id */
+    final String VALIDATION_FEATURE_ID =
+            "http://xml.org/sax/features/validation";
+
+    /** Schema validation feature id */
+    final String SCHEMA_VALIDATION_FEATURE_ID =
+            "http://apache.org/xml/features/validation/schema";
+
+    /** Schema full checking feature id */
+    final String SCHEMA_FULL_CHECKING_FEATURE_ID =
+            "http://apache.org/xml/features/validation/schema-full-checking";
+
+    SymbolTable sym = new SymbolTable();
+    XMLGrammarPreparser preparser = new XMLGrammarPreparser(sym);
+    XMLGrammarPoolImpl grammarPool = new XMLGrammarPoolImpl();
+ 
+
+    preparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA, null);
+    preparser.setProperty(GRAMMAR_POOL, grammarPool);
+    preparser.setFeature(NAMESPACES_FEATURE_ID, true);
+    preparser.setFeature(VALIDATION_FEATURE_ID, true);
+    preparser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true);
+    preparser.setFeature(SCHEMA_FULL_CHECKING_FEATURE_ID, true);
+    
+    // parse the schema
+    XMLInputSource schemaIS = new XMLInputSource(null,Constants.PO_XSD,null);
+    Grammar grammar = preparser.preparseGrammar(XMLGrammarDescription.XML_SCHEMA,
+                                                schemaIS);
+
+    // create the parser configuration
+    XMLParserConfiguration parserConfiguration = new IntegratedParserConfiguration(sym,grammarPool);
+    // now reset the config according to xerces docs -- required b/c we preparsed???
+    preparser.setProperty(GRAMMAR_POOL, grammarPool);
+    preparser.setFeature(NAMESPACES_FEATURE_ID, true);
+    preparser.setFeature(VALIDATION_FEATURE_ID, true);
+    preparser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true);
+    preparser.setFeature(SCHEMA_FULL_CHECKING_FEATURE_ID, true);
+    
+    /////////////////////////////////////
+    // end Xerces validating parser setup
+    /////////////////////////////////////
+
+    // get the xmlinstance
+    XMLInputSource instanceIS = new XMLInputSource(null,filename,null);
+        
+    // warm up the vm
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(parserConfiguration, instanceIS);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+
+    // run it again for the real measurement
+    cputime = System.currentTimeMillis();
+    for(int i=0; i<iterations; i++){     
+      hash += test.run(parserConfiguration, instanceIS);
+    }
+    cputime = System.currentTimeMillis() - cputime;
+    
+    // print the results
+    // use perf util to get file size (XMLInputSource doens't give an easy API).
+    PerfUtil util = new PerfUtil();
+    char[] chars = util.fileToChars(filename);
+    System.out.print(Constants.DELIM+POValidateXerces.class.getName()+" filesize="+chars.length+" ");
+    System.out.print("hash "+hash+" ");
+    System.out.print("time "+cputime+"\n");
+  }
+
+  private int run(XMLParserConfiguration p_parser, XMLInputSource p_input) throws Exception 
+  {
+    // parse with validating parser
+    p_parser.parse(p_input);
+    // return an int for the hash
+    return 17;
+  }
+}

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/tools/PerfResultTask.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/tools/PerfResultTask.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/tools/PerfResultTask.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,83 @@
+/*   Copyright 2004 The Apache Software Foundation
+*
+*   Licensed under the Apache License, Version 2.0 (the "License");
+*   you may not use this file except in compliance with the License.
+*   You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+*   Unless required by applicable law or agreed to in writing, software
+*   distributed under the License is distributed on an "AS IS" BASIS,
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+*   See the License for the specific language governing permissions and
+*  limitations under the License.
+*/
+package org.apache.xmlbeans.test.tools;
+
+import org.openuri.perf.*;
+import java.io.File;
+import java.io.IOException;
+import org.apache.tools.ant.taskdefs.MatchingTask;
+import org.apache.tools.ant.BuildException;
+
+public class PerfResultTask extends MatchingTask
+{	
+	private final String P = System.getProperty("file.separator");
+	
+	// attributes
+	private String _srcdir = null;
+	private String _gendir = null;
+	private String _delim = null;
+	private String _hostname = null;
+	
+	// setters for attributes
+	public void setSrcdir(String p_srcdir)
+	{
+		_srcdir = p_srcdir;
+	}
+	
+	public void setGendir(String p_gendir)
+	{
+		_gendir = p_gendir;
+	}
+	
+	public void setDelimiter(String p_delimiter)
+	{
+		_delim = p_delimiter;
+	}
+	
+	public void setHostname(String p_hostname)
+	{
+		_hostname = p_hostname;
+	}
+	
+	
+	public void execute() throws BuildException
+	{
+		PerfResultUtil util = new PerfResultUtil();
+		try
+		{
+			// process files from includes
+			fileset.setDir(new File(_srcdir));
+			String[] files = fileset.getDirectoryScanner(project).getIncludedFiles();
+			
+			for(int i=0; i<files.length; i++)
+			{
+				System.out.println("processing file: "+_srcdir+P+files[i]);
+				ResultSetDocument doc = util.processFlatFile(_srcdir+P+files[i],_delim);
+				// TODO: add ant prop overrides for other env sesttings
+				doc.getResultSet().getEnvironment().setHostname(_hostname);
+				util.saveXmlToFile(doc,_gendir,files[i]);
+			}
+			
+		}
+		catch(IOException ioe)
+		{
+			ioe.printStackTrace();
+			System.out.println("ERROR: IOException");
+			return;
+		}
+	}
+
+
+}
\ No newline at end of file

Added: xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/tools/PerfResultUtil.java
Url: http://svn.apache.org/viewcvs/xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/tools/PerfResultUtil.java?view=auto&rev=124274
==============================================================================
--- (empty file)
+++ xmlbeans/trunk/test/perf/src/org/apache/xmlbeans/test/tools/PerfResultUtil.java	Wed Jan  5 13:09:10 2005
@@ -0,0 +1,119 @@
+package org.apache.xmlbeans.test.tools;
+
+import org.openuri.perf.*;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.FileNotFoundException;
+import java.util.StringTokenizer;
+import java.util.Calendar;
+
+//import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlOptions;
+
+public class PerfResultUtil
+{	
+	/*
+	 * Process flat file logs into perf result xmlbean instance.
+	 * A result consists is a line in the file starting with the
+	 * given delimiter, followed by space delimitted perf data. 
+	 * Useful as a postprocessor for simple perf tests where 
+	 * you just want to use stdout loging during the test.
+	 */
+	public ResultSetDocument processFlatFile(String p_filename, String p_delim) throws FileNotFoundException, IOException
+	{
+		// names for known space-delimited perf data
+		// labels plucked out of the given file
+		final String TIME = "time";
+		final String MEMORY = "memory";
+		final String HASH = "hash";
+		
+		FileReader reader = new FileReader(p_filename);
+		StringBuffer buff = new StringBuffer();
+		int c;
+		while( (c=reader.read()) != -1)
+		{
+			buff.append((char)c);
+		}
+		//System.out.println("file contents: \n"+buff.toString());
+		
+		ResultSetDocument doc = ResultSetDocument.Factory.newInstance();
+		ResultSetDocument.ResultSet resultSet = doc.addNewResultSet();
+		
+		StringTokenizer st = new StringTokenizer( buff.toString(),System.getProperty("line.separator"));
+		while(st.hasMoreTokens())
+		{
+			String currentLine = st.nextToken().toString();
+			if(currentLine.startsWith(p_delim))
+			{
+				StringTokenizer stResult = new StringTokenizer(currentLine," ");
+				// advance past the perf rusult line delimeter
+				stResult.nextToken();
+				
+				Result result = resultSet.addNewResult();
+				// TODO: remove id once it's not needed
+				result.setId(System.currentTimeMillis());
+				// name must be the first token in a flat perf result
+				result.setName(stResult.nextToken());
+				
+				// scan the resulting tokens for known perf data or notes
+				while(stResult.hasMoreTokens())
+				{
+					String data = stResult.nextToken();
+					if(data.indexOf(TIME) != -1)
+						result.setTime(Long.parseLong(stResult.nextToken()));
+					else if(data.indexOf(HASH) != -1)
+						result.setHash(Integer.parseInt(stResult.nextToken()));
+					else if(data.indexOf(MEMORY) != -1)
+						result.setMemory(Long.parseLong(stResult.nextToken()));
+					else if(data.indexOf("=") != -1)
+					{
+						// add custom element/value if this is a 'foo=bar' type token
+						String[] pair = data.split("=");
+						Custom custom = result.addNewCustom();
+						custom.setName(pair[0]);
+						custom.setValue(pair[1]);
+					}
+					else
+					{
+						if(null != result.getNote())
+							result.setNote(result.getNote()+" "+data);
+						else
+							result.setNote(data);
+					}
+					
+				}
+			}
+		}
+		
+		// add default environment info
+		Environment env = resultSet.addNewEnvironment();
+		env.setOs(System.getProperty("os.name")+System.getProperty("os.version"));
+		env.setJvm(System.getProperty("java.vm.vendor")+" "+System.getProperty("java.vm.version"));
+		env.setDate(Calendar.getInstance());
+		// TODO: retreive all system information programmatically
+		//env.setSysmem();
+		//env.setHostname();
+		//env.setCpuinfo();
+		// TODO: add change list support
+		
+		return doc;
+	}
+	
+	public static void saveXmlToFile(ResultSetDocument p_doc, String p_dirname, String p_origname) throws IOException
+	{
+		// save the xml result
+		File fGendir = new File(p_dirname);
+		fGendir.mkdirs();
+		FileWriter writer = new FileWriter(p_dirname+System.getProperty("file.separator")+p_origname+".xml");
+		XmlOptions opts = new XmlOptions();
+		opts.setSavePrettyPrint();
+		p_doc.save(writer,opts);
+		writer.flush();
+		writer.close();
+		//System.out.println("result xml is:\n"+p_doc.xmlText(opts));
+	}
+	
+}
\ No newline at end of file

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: commits-help@xmlbeans.apache.org