Changeset 838
- Timestamp:
- 06/22/09 05:31:45 (3 years ago)
- Location:
- trunk/docx4j/src
- Files:
-
- 4 edited
-
diffx/com/topologi/diffx/Docx4jDriver.java (modified) (1 diff)
-
diffx/com/topologi/diffx/format/SmartXMLFormatter.java (modified) (1 diff)
-
main/java/org/docx4j/diff/Differencer.java (modified) (3 diffs)
-
main/java/org/docx4j/samples/CompareDocuments.java (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/docx4j/src/diffx/com/topologi/diffx/Docx4jDriver.java
r836 r838 140 140 141 141 142 public static void diff(Node xml 2, Node xml1, Writer out) // swapped,142 public static void diff(Node xml1, Node xml2, Writer out) // swapped, 143 143 throws DiffXException, IOException { 144 144 -
trunk/docx4j/src/diffx/com/topologi/diffx/format/SmartXMLFormatter.java
r836 r838 193 193 this.xml.setPrefixMapping(Constants.DELETE_NS, "del"); 194 194 this.xml.setPrefixMapping("http://schemas.openxmlformats.org/wordprocessingml/2006/main", "w"); 195 this.xml.setPrefixMapping("http://schemas.openxmlformats.org/drawingml/2006/main", "a"); 196 this.xml.setPrefixMapping("http://schemas.openxmlformats.org/drawingml/2006/picture", "pic"); 197 this.xml.setPrefixMapping("http://schemas.openxmlformats.org/officeDocument/2006/relationships", "r"); 198 this.xml.setPrefixMapping("urn:schemas-microsoft-com:vml", "v"); 199 this.xml.setPrefixMapping("urn:schemas-microsoft-com:office:word", "w10"); 200 this.xml.setPrefixMapping("http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing", "wp"); 201 195 202 196 203 } -
trunk/docx4j/src/main/java/org/docx4j/diff/Differencer.java
r837 r838 263 263 } 264 264 265 public void diff(org.docx4j.wml.SdtContentBlock cb Left,266 org.docx4j.wml.SdtContentBlock cb Right,265 public void diff(org.docx4j.wml.SdtContentBlock cbNewer, 266 org.docx4j.wml.SdtContentBlock cbOlder, 267 267 javax.xml.transform.Result result, 268 268 String author, java.util.Calendar date, 269 RelationshipsPart docPartRels Left, RelationshipsPart docPartRelsRight) {270 271 this.diffWorker(org.docx4j.XmlUtils.marshaltoW3CDomDocument(cb Left).getDocumentElement(),272 org.docx4j.XmlUtils.marshaltoW3CDomDocument(cb Right).getDocumentElement(),273 result, author, date, docPartRels Left, docPartRelsRight);274 } 275 276 public void diff(org.docx4j.wml.Body older,277 org.docx4j.wml.Body newer,269 RelationshipsPart docPartRelsNewer, RelationshipsPart docPartRelsOlder) { 270 271 this.diffWorker(org.docx4j.XmlUtils.marshaltoW3CDomDocument(cbNewer).getDocumentElement(), 272 org.docx4j.XmlUtils.marshaltoW3CDomDocument(cbOlder).getDocumentElement(), 273 result, author, date, docPartRelsNewer, docPartRelsOlder); 274 } 275 276 public void diff(org.docx4j.wml.Body newer, 277 org.docx4j.wml.Body older, 278 278 javax.xml.transform.Result result, 279 279 String author, java.util.Calendar date, 280 RelationshipsPart docPartRels Left, RelationshipsPart docPartRelsRight) {281 282 this.diffWorker( org.docx4j.XmlUtils.marshaltoW3CDomDocument(older).getDocumentElement(),280 RelationshipsPart docPartRelsNewer, RelationshipsPart docPartRelsOlder) { 281 282 this.diffWorker( 283 283 org.docx4j.XmlUtils.marshaltoW3CDomDocument(newer).getDocumentElement(), 284 result, author, date, docPartRelsLeft, docPartRelsRight); 284 org.docx4j.XmlUtils.marshaltoW3CDomDocument(older).getDocumentElement(), 285 result, author, date, docPartRelsNewer, docPartRelsOlder); 285 286 } 286 287 … … 292 293 * TODO: consider/test w:table! 293 294 */ 294 private void diffWorker(Node left,295 Node right,295 private void diffWorker(Node newer, 296 Node older, 296 297 javax.xml.transform.Result result, 297 298 String author, java.util.Calendar date, 298 RelationshipsPart docPartRels Left, RelationshipsPart docPartRelsRight) {299 RelationshipsPart docPartRelsNewer, RelationshipsPart docPartRelsOlder) { 299 300 300 301 Writer diffxResult = new StringWriter(); 301 302 302 303 try { 303 Docx4jDriver.diff( left,304 right,304 Docx4jDriver.diff(newer, 305 older, 305 306 diffxResult); 306 307 // The signature which takes Reader objects appears to be broken … … 336 337 337 338 StreamSource src = new StreamSource(new StringReader(simplified)); 338 transformDiffxOutputToWml(result, author, date, docPartRels Left,339 docPartRels Right, src);339 transformDiffxOutputToWml(result, author, date, docPartRelsNewer, 340 docPartRelsOlder, src); 340 341 341 342 } catch (Exception exc) { -
trunk/docx4j/src/main/java/org/docx4j/samples/CompareDocuments.java
r833 r838 60 60 public static void main(String[] args) throws Exception { 61 61 62 String newerfilepath = "/home/dev/workspace/docx4j/sample-docs/differencing_newer.docx"; 62 63 String olderfilepath = "/home/dev/workspace/docx4j/sample-docs/differencing_older.docx"; 63 String newerfilepath = "/home/dev/workspace/docx4j/sample-docs/differencing_newer.docx"; 64 65 // 1. Load the Packages 66 WordprocessingMLPackage newerPackage = WordprocessingMLPackage.load(new java.io.File(newerfilepath)); 67 WordprocessingMLPackage olderPackage = WordprocessingMLPackage.load(new java.io.File(olderfilepath)); 64 68 65 66 // 1. Load the Packages 67 WordprocessingMLPackage olderPackage = WordprocessingMLPackage.load(new java.io.File(olderfilepath)); 68 WordprocessingMLPackage newerPackage = WordprocessingMLPackage.load(new java.io.File(newerfilepath)); 69 69 Body newerBody = ((Document)newerPackage.getMainDocumentPart().getJaxbElement()).getBody(); 70 70 Body olderBody = ((Document)olderPackage.getMainDocumentPart().getJaxbElement()).getBody(); 71 Body newerBody = ((Document)newerPackage.getMainDocumentPart().getJaxbElement()).getBody();72 71 73 72 // 2. Do the differencing … … 79 78 Differencer pd = new Differencer(); 80 79 pd.setRelsDiffIdentifier("blagh"); // not necessary in this case 81 pd.diff(olderBody, newerBody, result, "someone", changeDate, 82 olderPackage.getMainDocumentPart().getRelationshipsPart(), 83 newerPackage.getMainDocumentPart().getRelationshipsPart()); 80 pd.diff(newerBody, olderBody, result, "someone", changeDate, 81 newerPackage.getMainDocumentPart().getRelationshipsPart(), 82 olderPackage.getMainDocumentPart().getRelationshipsPart() 83 ); 84 84 85 85 // 3. Get the result … … 90 90 91 91 // 4. Display the result as a PDF 92 // To do this, we'll replace the body in the older document93 ((Document) olderPackage.getMainDocumentPart().getJaxbElement()).setBody(newBody);92 // To do this, we'll replace the body in the newer document 93 ((Document)newerPackage.getMainDocumentPart().getJaxbElement()).setBody(newBody); 94 94 95 RelationshipsPart rp = olderPackage.getMainDocumentPart().getRelationshipsPart();95 RelationshipsPart rp = newerPackage.getMainDocumentPart().getRelationshipsPart(); 96 96 handleRels(pd, rp); 97 97 98 98 99 olderPackage.setFontMapper(new IdentityPlusMapper());99 newerPackage.setFontMapper(new IdentityPlusMapper()); 100 100 org.docx4j.convert.out.pdf.PdfConversion c 101 101 // = new org.docx4j.convert.out.pdf.viaHTML.Conversion(olderPackage); 102 = new org.docx4j.convert.out.pdf.viaXSLFO.Conversion( olderPackage);102 = new org.docx4j.convert.out.pdf.viaXSLFO.Conversion(newerPackage); 103 103 // = new org.docx4j.convert.out.pdf.viaIText.Conversion(olderPackage); 104 104 c.view();
Note: See TracChangeset
for help on using the changeset viewer.
