Changeset 1662


Ignore:
Timestamp:
09/14/11 13:54:29 (8 months ago)
Author:
jharrop
Message:

Bind picture correctly where parent is another content control.

Location:
trunk/docx4j/src/main/java/org/docx4j/model/datastorage
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/docx4j/src/main/java/org/docx4j/model/datastorage/BindingHandler.java

    r1658 r1662  
    422422                                JaxbXmlPart sourcePart, 
    423423                                Map<String, CustomXmlDataStoragePart> customXmlDataStorageParts, 
    424                                 String storeItemId, String xpath, String prefixMappings, String sdtParent, 
     424                                String storeItemId, String xpath, String prefixMappings,  
     425                                String sdtParent, 
     426                                String contentChild, 
    425427                                String cx, String cy) { 
    426428 
     
    483485                                org.docx4j.wml.P  p   = factory.createP(); 
    484486                                if (sdtParent.equals("tr")) { 
    485                                         tc.getEGBlockLevelElts().add(p); 
     487                                        tc.getContent().add(p); 
    486488                                } 
    487489                                org.docx4j.wml.R  run = factory.createR();               
     
    489491                                                || sdtParent.equals("tr")  
    490492                                                || sdtParent.equals("tc") ) { 
    491                                         p.getParagraphContent().add(run); 
     493                                        p.getContent().add(run); 
    492494                                } 
    493495                                org.docx4j.wml.Drawing drawing = factory.createDrawing();                
    494                                 run.getRunContent().add(drawing);                
     496                                run.getContent().add(drawing);           
    495497                                drawing.getAnchorOrInline().add(inline); 
    496498                                 
     
    516518                                } else if ( sdtParent.equals("p") ) { 
    517519                                        document = XmlUtils.marshaltoW3CDomDocument(run); 
     520                                } else if ( sdtParent.equals("sdtContent") ) {                                   
     521                                        log.info("contentChild: " + contentChild); 
     522                                        if (contentChild.equals("p")) { 
     523                                                p.getContent().add(run); 
     524                                                document = XmlUtils.marshaltoW3CDomDocument(p);                                          
     525                                        } else if (contentChild.equals("r")) { 
     526                                                document = XmlUtils.marshaltoW3CDomDocument(r);                                          
     527                                        } else { 
     528                                                log.error("how to inject image for unexpected sdt's content: " + contentChild);                                  
     529                                        } 
    518530                                } else { 
    519531                                        log.error("how to inject image for unexpected sdt's parent: " + sdtParent); 
  • trunk/docx4j/src/main/java/org/docx4j/model/datastorage/bind.xslt

    r1658 r1662  
    5555                                                                                string(w:sdtPr/w:dataBinding/@w:prefixMappings), 
    5656                                                                                local-name(..), 
     57                                                                                local-name(w:sdtContent/*[1]), 
    5758                                                                                string(w:sdtContent//wp:extent[1]/@cx),  
    5859                                                                                string(w:sdtContent//wp:extent[1]/@cy))" /> 
Note: See TracChangeset for help on using the changeset viewer.