wiki:XjcWml

TODO - update paths in below.

This is a schema for a subset of the document part of WordML.

To generate java classes, you need xjc, from the JAXB 2.1 RI.

And the parent-pointer-plugin. See  http://fisheye5.cenqua.com/browse/jaxb2-commons/parent-pointer-plugin

We have a copy of this in the lib dir. Or you can build it yourself:

cvs -d :pserver:$DEV_JAVA_NET_USERNAME@…:/cvs checkout -P jaxb2-commons

mvn package

To CLEAN previously generated classes, from /src/main/resources$

jharrop@jharrop-490:~/workspace200711/docx4j-001/src/main/resources$ rm ../java/org/docx4j/wml/*.java -rf

To generate the classes (from the same directory)

sh ~/jaxb/jaxb-ri-20070917/bin/xjc.sh -classpath ~/jaxb/parent-pointer-plugin-1.0-SNAPSHOT.jar -Xparent-pointer package.xsd -d ../java/ -no-header -target 2.0

(Note that we generate package.xsd - every time - otherwise it gets left out of object factory)

cd to the directory containing the new sources

Then add the copyright notice:

sed -s -i -f script *.java

where script is

# sed script to insert "header.txt" above the first line 1{h; r header.txt

D; }

2{x; G; } #- - -end of sed script- - -

and header.txt contains the copyright notice.

Then apply our patches:

jharrop@jharrop-490:~/workspace200711/docx4j-001/src/main/java$ patch -p0 < xjc-diffs.txt

To create patches:

/target/freshly-generated$ diff . ../previously-modified-sources/ -u -r > diffs-u.txt