Changeset 943


Ignore:
Timestamp:
10/25/09 01:08:24 (3 years ago)
Author:
jharrop
Message:

Added DocumentModel?. DocumentModel? is a list of SectionWrappers?; a SectionWrapper? has a HeaderFooterPolicy?, PageDimensions? and sectPr.
HeaderFooterPolicy? moved to new package, as there will be 1 per SectionWrapper?.

TblFactory? is a way to create simple tables; now used in the Create..Document sample.

Debug of JAXBElement.
NamespacePrefixMapper?: convenient static method.

WordXmlPicture?: add @id,containing relId.

MDP styles in use:recurse into tables

Location:
trunk/docx4j/src/main/java/org/docx4j
Files:
5 added
18 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/docx4j/src/main/java/org/docx4j/UnitsOfMeasurement.java

    r922 r943  
    2323public class UnitsOfMeasurement { 
    2424         
    25  
    26         // Defaults - if values aren't defined in sectPr  
    27         public static int DEFAULT_PAGE_WIDTH_TWIPS = 12240;  // Letter; A4 would be 11907   
    28         public static int DEFAULT_LEFT_MARGIN_TWIPS = 1440;  // 1 inch 
    29         public static int DEFAULT_RIGHT_MARGIN_TWIPS = 1440; 
    30  
    31          
    3225        public static long twipToEMU(double twips) {             
    3326                return Math.round(635 * twips);                          
  • trunk/docx4j/src/main/java/org/docx4j/XmlUtils.java

    r941 r943  
    3636import javax.xml.bind.Marshaller; 
    3737import javax.xml.bind.Unmarshaller; 
     38import javax.xml.bind.annotation.XmlRootElement; 
    3839import javax.xml.namespace.QName; 
    3940import javax.xml.parsers.DocumentBuilderFactory; 
     
    5253import org.apache.xml.dtm.ref.DTMNodeProxy; 
    5354import org.docx4j.jaxb.Context; 
     55import org.docx4j.jaxb.NamespacePrefixMapper; 
    5456import org.docx4j.jaxb.NamespacePrefixMapperUtils; 
     57import org.docx4j.jaxb.NamespacePrefixMappings; 
    5558import org.docx4j.openpackaging.exceptions.Docx4JException; 
    5659 
     
    159162                 
    160163        } 
    161          
     164                 
     165        public static String JAXBElementDebug(javax.xml.bind.JAXBElement o)  { 
     166                                 
     167                String prefix = null; 
     168                if (o.getName().getNamespaceURI()!=null) { 
     169                        prefix = NamespacePrefixMapper.getPreferredPrefix(o.getName().getNamespaceURI() ); 
     170                } 
     171                if (prefix!=null) { 
     172                        return  prefix + ':' + o.getName().getLocalPart()  
     173                                + " is a javax.xml.bind.JAXBElement; it has declared type "  
     174                                + o.getDeclaredType().getName();  
     175                } else { 
     176                        return  o.getName() + " is a javax.xml.bind.JAXBElement; it has declared type "  
     177                                + o.getDeclaredType().getName();                         
     178                } 
     179                 
     180        } 
    162181 
    163182        /** Unmarshal a Dom4j element as JAXB object using  JAXBContext Context.jc */  
     
    224243        } 
    225244 
    226         /** Unmarshal a String as an object in the package org.docx4j.jaxb.document */  
     245        /** Unmarshal a String as an object in the package org.docx4j.jaxb.document. 
     246         *  Note: you should ensure you include a namespace declaration for w: and 
     247         *  any other namespace in the xml string. 
     248         *  Also, the object you are attempting to unmarshall to might need to 
     249         *  have an @XmlRootElement annotation for things to work.  */  
    227250        public static Object unmarshalString(String str) {               
    228251                return unmarshalString(str, Context.jc); 
     
    233256                try {                            
    234257                         
     258                        log.debug("Unmarshalling '" + str + "'"); 
     259                         
    235260                        Unmarshaller u = jc.createUnmarshaller(); 
    236261                                                 
     
    239264                        o = u.unmarshal( new javax.xml.transform.stream.StreamSource( 
    240265                                        new java.io.StringReader(str)) ); 
    241  
    242                         System.out.println("unmarshalled "); 
    243266 
    244267                } catch (Exception ex) { 
  • trunk/docx4j/src/main/java/org/docx4j/convert/out/html/DocX2Html.xslt

    r936 r943  
    68636863                                                /*@media print { */ 
    68646864                                                <xsl:if 
    6865                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
     6865                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
    68666866                                                        div.header {display: block; position: running(header) } 
    68676867                                                </xsl:if> 
    68686868                                                <xsl:if 
    6869                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
     6869                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
    68706870                                                        div.footer {display: block; position: running(footer) } 
    68716871                                                </xsl:if> 
     
    69296929                       --> 
    69306930                <xsl:if 
    6931                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
     6931                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
    69326932                        <div class="header"> 
    69336933                                <xsl:apply-templates 
    6934                                         select="java:org.docx4j.model.HeaderFooterPolicy.getDefaultHeader($wmlPackage)" /> 
     6934                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getDefaultHeader($wmlPackage)" /> 
    69356935                        </div> 
    69366936                </xsl:if> 
    69376937                <xsl:if 
    6938                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
     6938                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
    69396939                        <div class="footer"> 
    69406940                                <xsl:apply-templates 
    6941                                         select="java:org.docx4j.model.HeaderFooterPolicy.getDefaultFooter($wmlPackage)" /> 
     6941                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getDefaultFooter($wmlPackage)" /> 
    69426942                        </div> 
    69436943                </xsl:if> 
  • trunk/docx4j/src/main/java/org/docx4j/convert/out/html/docx2xhtmlNG2.xslt

    r912 r943  
    6161                                                /*@media print { */ 
    6262                                                <xsl:if 
    63                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
     63                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
    6464                                                        div.header {display: block; position: running(header) } 
    6565                                                </xsl:if> 
    6666                                                <xsl:if 
    67                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
     67                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
    6868                                                        div.footer {display: block; position: running(footer) } 
    6969                                                </xsl:if> 
     
    126126                       --> 
    127127                <xsl:if 
    128                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
     128                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
    129129                        <div class="header"> 
    130130                                <xsl:apply-templates 
    131                                         select="java:org.docx4j.model.HeaderFooterPolicy.getDefaultHeader($wmlPackage)" /> 
     131                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getDefaultHeader($wmlPackage)" /> 
    132132                        </div> 
    133133                </xsl:if> 
    134134                <xsl:if 
    135                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
     135                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
    136136                        <div class="footer"> 
    137137                                <xsl:apply-templates 
    138                                         select="java:org.docx4j.model.HeaderFooterPolicy.getDefaultFooter($wmlPackage)" /> 
     138                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getDefaultFooter($wmlPackage)" /> 
    139139                        </div> 
    140140                </xsl:if> 
  • trunk/docx4j/src/main/java/org/docx4j/convert/out/html/docx4j2xhtml.xslt

    r865 r943  
    6161                                                /*@media print { */ 
    6262                                                <xsl:if 
    63                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
     63                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
    6464                                                        div.header {display: block; position: running(header) } 
    6565                                                </xsl:if> 
    6666                                                <xsl:if 
    67                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
     67                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
    6868                                                        div.footer {display: block; position: running(footer) } 
    6969                                                </xsl:if> 
     
    126126                       --> 
    127127                <xsl:if 
    128                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
     128                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
    129129                        <div class="header"> 
    130130                                <xsl:apply-templates 
    131                                         select="java:org.docx4j.model.HeaderFooterPolicy.getDefaultHeader($wmlPackage)" /> 
     131                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getDefaultHeader($wmlPackage)" /> 
    132132                        </div> 
    133133                </xsl:if> 
    134134                <xsl:if 
    135                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
     135                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
    136136                        <div class="footer"> 
    137137                                <xsl:apply-templates 
    138                                         select="java:org.docx4j.model.HeaderFooterPolicy.getDefaultFooter($wmlPackage)" /> 
     138                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getDefaultFooter($wmlPackage)" /> 
    139139                        </div> 
    140140                </xsl:if> 
  • trunk/docx4j/src/main/java/org/docx4j/convert/out/pdf/viaIText/Conversion.java

    r887 r943  
    1515import org.docx4j.fonts.PhysicalFont; 
    1616import org.docx4j.fonts.PhysicalFonts; 
    17 import org.docx4j.model.HeaderFooterPolicy; 
     17import org.docx4j.model.structure.HeaderFooterPolicy; 
    1818import org.docx4j.openpackaging.exceptions.Docx4JException; 
    1919import org.docx4j.openpackaging.packages.WordprocessingMLPackage; 
  • trunk/docx4j/src/main/java/org/docx4j/convert/out/pdf/viaXSLFO/docx2fo.xslt

    r865 r943  
    106106                                        <!--  First Page --> 
    107107                                        <xsl:when 
    108                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasFirstHeaderOrFooter($wmlPackage)"> 
     108                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasFirstHeaderOrFooter($wmlPackage)"> 
    109109                                                <fo:simple-page-master master-name="firstpage" 
    110110                                                        page-height="297mm" page-width="210mm" margin-top="10mm" 
     
    117117                                                        <!--  First Page Header --> 
    118118                                                        <xsl:if 
    119                                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasFirstHeader($wmlPackage)"> 
     119                                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasFirstHeader($wmlPackage)"> 
    120120                                                                <fo:region-before 
    121121                                                                        region-name="xsl-region-before-firstpage" extent="10mm" /> 
     
    124124                                                        <!--  First Page Footer --> 
    125125                                                        <xsl:if 
    126                                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasFirstFooter($wmlPackage)"> 
     126                                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasFirstFooter($wmlPackage)"> 
    127127                                                                <fo:region-after 
    128128                                                                        region-name="xsl-region-after-firstpage" extent="10mm" /> 
     
    132132                                        </xsl:when> 
    133133                                        <xsl:when 
    134                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasEvenOrOddHeaderOrFooter($wmlPackage)"> 
     134                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasEvenOrOddHeaderOrFooter($wmlPackage)"> 
    135135                                                <!-- layout for the even page --> 
    136136                                                <fo:simple-page-master master-name="evenpage" 
     
    141141                                                                margin-bottom="20mm" margin-left="0mm" margin-right="0mm" /> 
    142142                                                        <xsl:if 
    143                                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasEvenHeader($wmlPackage)"> 
     143                                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasEvenHeader($wmlPackage)"> 
    144144                                                                <fo:region-before 
    145145                                                                        region-name="xsl-region-before-evenpage" extent="10mm" /> 
    146146                                                        </xsl:if> 
    147147                                                        <xsl:if 
    148                                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasEvenFooter($wmlPackage)"> 
     148                                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasEvenFooter($wmlPackage)"> 
    149149                                                                <fo:region-after 
    150150                                                                        region-name="xsl-region-after-evenpage" extent="10mm" /> 
     
    159159                                                                margin-bottom="20mm" margin-left="0mm" margin-right="0mm" /> 
    160160                                                        <xsl:if 
    161                                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasOddHeader($wmlPackage)"> 
     161                                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasOddHeader($wmlPackage)"> 
    162162                                                                <fo:region-before 
    163163                                                                        region-name="xsl-region-before-oddpage" extent="10mm" /> 
    164164                                                        </xsl:if> 
    165165                                                        <xsl:if 
    166                                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasOddFooter($wmlPackage)"> 
     166                                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasOddFooter($wmlPackage)"> 
    167167                                                                <fo:region-after 
    168168                                                                        region-name="xsl-region-after-oddpage" extent="10mm" /> 
     
    171171                                        </xsl:when> 
    172172                                        <xsl:when 
    173                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultHeaderOrFooter($wmlPackage)"> 
     173                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultHeaderOrFooter($wmlPackage)"> 
    174174                                                <fo:simple-page-master master-name="default" 
    175175                                                        page-height="297mm" page-width="210mm" margin-top="10mm" 
     
    179179                                                                margin-bottom="20mm" margin-left="0mm" margin-right="0mm" /> 
    180180                                                        <xsl:if 
    181                                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
     181                                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
    182182                                                                <fo:region-before 
    183183                                                                        region-name="xsl-region-before-default" extent="10mm" /> 
    184184                                                        </xsl:if> 
    185185                                                        <xsl:if 
    186                                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
     186                                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
    187187                                                                <fo:region-after 
    188188                                                                        region-name="xsl-region-after-default" extent="10mm" /> 
     
    210210                                                <xsl:choose> 
    211211                                                        <xsl:when 
    212                                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasFirstHeaderOrFooter($wmlPackage)"> 
     212                                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasFirstHeaderOrFooter($wmlPackage)"> 
    213213                                                                <fo:conditional-page-master-reference 
    214214                                                                        master-reference="firstpage" page-position="first" /> 
    215215                                                        </xsl:when> 
    216216                                                        <xsl:when 
    217                                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasOddHeaderOrFooter($wmlPackage)"> 
     217                                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasOddHeaderOrFooter($wmlPackage)"> 
    218218                                                                <fo:conditional-page-master-reference 
    219219                                                                        master-reference="oddpage" odd-or-even="odd" /> 
    220220                                                        </xsl:when> 
    221221                                                        <xsl:when 
    222                                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasEvenHeaderOrFooter($wmlPackage)"> 
     222                                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasEvenHeaderOrFooter($wmlPackage)"> 
    223223                                                                <fo:conditional-page-master-reference 
    224224                                                                        master-reference="evenpage" odd-or-even="even" /> 
    225225                                                        </xsl:when> 
    226226                                                        <xsl:when 
    227                                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
     227                                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
    228228                                                                <fo:conditional-page-master-reference 
    229229                                                                        master-reference="default" /> 
     
    250250                                        <!--  First Page --> 
    251251                                        <xsl:when 
    252                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasFirstHeaderOrFooter($wmlPackage)"> 
     252                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasFirstHeaderOrFooter($wmlPackage)"> 
    253253                                                <!--  First Page Header --> 
    254254                                                <xsl:if 
    255                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasFirstHeader($wmlPackage)"> 
     255                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasFirstHeader($wmlPackage)"> 
    256256                                                        <fo:static-content 
    257257                                                                flow-name="xsl-region-before-firstpage"> 
    258258 
    259259                                                                <xsl:apply-templates 
    260                                                                         select="java:org.docx4j.model.HeaderFooterPolicy.getFirstHeader($wmlPackage)" /> 
     260                                                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getFirstHeader($wmlPackage)" /> 
    261261 
    262262                                                        </fo:static-content> 
     
    265265                                                <!--  First Page Footer --> 
    266266                                                <xsl:if 
    267                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasFirstFooter($wmlPackage)"> 
     267                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasFirstFooter($wmlPackage)"> 
    268268 
    269269                                                        <fo:static-content 
    270270                                                                flow-name="xsl-region-after-firstpage"> 
    271271                                                                <xsl:apply-templates 
    272                                                                         select="java:org.docx4j.model.HeaderFooterPolicy.getFirstFooter($wmlPackage)" /> 
     272                                                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getFirstFooter($wmlPackage)" /> 
    273273                                                        </fo:static-content> 
    274274                                                </xsl:if> 
    275275                                        </xsl:when> 
    276276                                        <xsl:when 
    277                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasEvenOrOddHeaderOrFooter($wmlPackage)"> 
    278                                                 <xsl:if 
    279                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasEvenHeader($wmlPackage)"> 
     277                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasEvenOrOddHeaderOrFooter($wmlPackage)"> 
     278                                                <xsl:if 
     279                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasEvenHeader($wmlPackage)"> 
    280280                                                        <fo:static-content 
    281281                                                                flow-name="xsl-region-before-evenpage"> 
    282282                                                                <xsl:apply-templates 
    283                                                                         select="java:org.docx4j.model.HeaderFooterPolicy.getEvenHeader($wmlPackage)" /> 
    284                                                         </fo:static-content> 
    285                                                 </xsl:if> 
    286                                                 <xsl:if 
    287                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasEvenFooter($wmlPackage)"> 
     283                                                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getEvenHeader($wmlPackage)" /> 
     284                                                        </fo:static-content> 
     285                                                </xsl:if> 
     286                                                <xsl:if 
     287                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasEvenFooter($wmlPackage)"> 
    288288                                                        <fo:static-content 
    289289                                                                flow-name="xsl-region-after-evenpage"> 
    290290                                                                <xsl:apply-templates 
    291                                                                         select="java:org.docx4j.model.HeaderFooterPolicy.getEvenFooter($wmlPackage)" /> 
    292                                                         </fo:static-content> 
    293                                                 </xsl:if> 
    294                                                 <xsl:if 
    295                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasOddHeader($wmlPackage)"> 
     291                                                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getEvenFooter($wmlPackage)" /> 
     292                                                        </fo:static-content> 
     293                                                </xsl:if> 
     294                                                <xsl:if 
     295                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasOddHeader($wmlPackage)"> 
    296296                                                        <fo:static-content 
    297297                                                                flow-name="xsl-region-before-oddpage"> 
    298298                                                                <xsl:apply-templates 
    299                                                                         select="java:org.docx4j.model.HeaderFooterPolicy.getOddHeader($wmlPackage)" /> 
    300                                                         </fo:static-content> 
    301                                                 </xsl:if> 
    302                                                 <xsl:if 
    303                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasOddFooter($wmlPackage)"> 
     299                                                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getOddHeader($wmlPackage)" /> 
     300                                                        </fo:static-content> 
     301                                                </xsl:if> 
     302                                                <xsl:if 
     303                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasOddFooter($wmlPackage)"> 
    304304                                                        <fo:static-content 
    305305                                                                flow-name="xsl-region-after-oddpage"> 
    306306                                                                <xsl:apply-templates 
    307                                                                         select="java:org.docx4j.model.HeaderFooterPolicy.getOddFooter($wmlPackage)" /> 
     307                                                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getOddFooter($wmlPackage)" /> 
    308308                                                        </fo:static-content> 
    309309                                                </xsl:if> 
    310310                                        </xsl:when> 
    311311                                        <xsl:when 
    312                                                 test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultHeaderOrFooter($wmlPackage)"> 
    313                                                 <xsl:if 
    314                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
     312                                                test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultHeaderOrFooter($wmlPackage)"> 
     313                                                <xsl:if 
     314                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultHeader($wmlPackage)"> 
    315315                                                        <fo:static-content 
    316316                                                                flow-name="xsl-region-before-default"> 
    317317                                                                <xsl:apply-templates 
    318                                                                         select="java:org.docx4j.model.HeaderFooterPolicy.getDefaultHeader($wmlPackage)" /> 
    319                                                         </fo:static-content> 
    320                                                 </xsl:if> 
    321                                                 <xsl:if 
    322                                                         test="java:org.docx4j.model.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
     318                                                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getDefaultHeader($wmlPackage)" /> 
     319                                                        </fo:static-content> 
     320                                                </xsl:if> 
     321                                                <xsl:if 
     322                                                        test="java:org.docx4j.model.structure.HeaderFooterPolicy.hasDefaultFooter($wmlPackage)"> 
    323323                                                        <fo:static-content 
    324324                                                                flow-name="xsl-region-after-default"> 
    325325                                                                <xsl:apply-templates 
    326                                                                         select="java:org.docx4j.model.HeaderFooterPolicy.getDefaultFooter($wmlPackage)" /> 
     326                                                                        select="java:org.docx4j.model.structure.HeaderFooterPolicy.getDefaultFooter($wmlPackage)" /> 
    327327                                                        </fo:static-content> 
    328328                                                </xsl:if> 
  • trunk/docx4j/src/main/java/org/docx4j/jaxb/Context.java

    r924 r943  
    2222 
    2323import javax.xml.bind.JAXBContext; 
     24import javax.xml.bind.JAXBException; 
    2425 
    2526public class Context { 
     
    3536         
    3637        static { 
     38 
     39                // Display diagnostic info about version of JAXB being used. 
     40        Class c; 
     41        try { 
     42                c = Class.forName("com.sun.xml.bind.marshaller.NamespacePrefixMapper"); 
     43                System.out.println("JAXB: Using RI"); 
     44        } catch (ClassNotFoundException cnfe) { 
     45                // JAXB Reference Implementation not present 
     46                System.out.println("JAXB: RI not present.  Trying Java 6 implementation."); 
     47                try { 
     48                                c = Class.forName("com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper"); 
     49                        System.out.println("JAXB: Using Java 6 implementation."); 
     50                        } catch (ClassNotFoundException e) { 
     51                                System.out.println("JAXB: neither Reference Implementation nor Java 6 implementation present?"); 
     52                        } 
     53        } 
    3754                 
    3855                try {    
  • trunk/docx4j/src/main/java/org/docx4j/jaxb/NamespacePrefixMapper.java

    r883 r943  
    7171    } 
    7272        
     73    public static String getPreferredPrefix(String namespaceUri)  
     74    // Implement the interface 
     75    {            
     76        return NamespacePrefixMappings.getPreferredPrefixStatic(namespaceUri, null, false);      
     77    } 
    7378     
    7479    /** 
  • trunk/docx4j/src/main/java/org/docx4j/model/images/WordXmlPicture.java

    r847 r943  
    149149            if (imgRelId!=null && !imgRelId.equals("")) 
    150150            { 
     151                picture.setID(imgRelId);                 
    151152                Relationship rel = wmlPackage.getMainDocumentPart().getRelationshipsPart().getRelationshipByID(imgRelId); 
    152153                 
  • trunk/docx4j/src/main/java/org/docx4j/model/structure/HeaderFooterPolicy.java

    r803 r943  
    1 package org.docx4j.model; 
     1package org.docx4j.model.structure; 
    22 
    33/* 
     
    2929import org.docx4j.openpackaging.parts.WordprocessingML.FooterPart; 
    3030import org.docx4j.openpackaging.parts.WordprocessingML.HeaderPart; 
     31import org.docx4j.openpackaging.parts.relationships.RelationshipsPart; 
    3132import org.docx4j.wml.CTRel; 
    3233import org.docx4j.wml.Document; 
     
    5253        private FooterPart defaultFooter; 
    5354         
    54          
    55         /** 
    56          * Figures out the policy for the given document, 
     55        // TODO - consider same as previous funcitonality 
     56         
     57         
     58        /** 
     59         * Figures out the policy for the given section, 
    5760         *  and creates any header and footer objects 
    5861         *  as required. 
    5962         */ 
    60         public HeaderFooterPolicy(WordprocessingMLPackage wordmlPackage)  
     63        public HeaderFooterPolicy(SectPr sectPr, RelationshipsPart rels)  
    6164//              throws Exception 
    6265                { 
    63                 // Grab what headers and footers have been defined 
    64                 // For now, we don't care about different sectPr 
    65                  
    66                 Document doc = (Document)wordmlPackage.getMainDocumentPart().getJaxbElement(); 
    67                  
    68                 SectPr sectPr = doc.getBody().getSectPr(); 
    69                  
     66                // Grab what headers and footers have been defined               
    7067                if (sectPr == null || sectPr.getEGHdrFtrReferences() == null) { 
    7168                        return; 
     
    7673                        String relId = rel.getId(); 
    7774                         
    78                         Part part = wordmlPackage.getMainDocumentPart().getRelationshipsPart().getPart(relId); 
     75                        Part part = rels.getPart(relId); 
    7976                         
    8077                        if (rel instanceof HeaderReference  ) { 
  • trunk/docx4j/src/main/java/org/docx4j/model/table/TableModel.java

    r930 r943  
    3535import org.docx4j.jaxb.Context; 
    3636import org.docx4j.model.Model; 
     37import org.docx4j.model.structure.PageDimensions; 
    3738 
    3839import org.docx4j.wml.ObjectFactory; 
     
    219220                        // Default to page width 
    220221                        TblWidth tblWidth = factory.createTblWidth(); 
    221                         tblWidth.setW(BigInteger.valueOf(UnitsOfMeasurement.DEFAULT_PAGE_WIDTH_TWIPS)); 
     222                        tblWidth.setW(BigInteger.valueOf(PageDimensions.DEFAULT_PAGE_WIDTH_TWIPS)); 
    222223                        tblWidth.setType("dxa"); // twips 
    223224                        tblPr.setTblW(tblWidth);                         
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/packages/WordprocessingMLPackage.java

    r905 r943  
    4141import org.docx4j.fonts.Mapper; 
    4242import org.docx4j.jaxb.Context; 
    43 import org.docx4j.model.HeaderFooterPolicy; 
     43import org.docx4j.model.structure.DocumentModel; 
     44import org.docx4j.model.structure.HeaderFooterPolicy; 
     45import org.docx4j.model.structure.PageDimensions; 
    4446import org.docx4j.openpackaging.contenttype.ContentType; 
    4547import org.docx4j.openpackaging.contenttype.ContentTypeManager; 
     
    5961import org.docx4j.openpackaging.parts.relationships.Namespaces; 
    6062import org.docx4j.wml.Document; 
     63import org.docx4j.wml.SectPr; 
    6164import org.docx4j.wml.Styles; 
    6265 
     
    104107        protected GlossaryDocumentPart glossaryDoc; 
    105108         
    106         private HeaderFooterPolicy headerFooterPolicy; 
     109        private DocumentModel documentModel; 
     110        public DocumentModel getDocumentModel() { 
     111                if (documentModel==null) { 
     112                        documentModel = new DocumentModel(this); 
     113                } 
     114                return documentModel; 
     115        } 
     116         
     117         
     118        private HeaderFooterPolicy headerFooterPolicy;   
     119        @Deprecated      
    107120        public HeaderFooterPolicy getHeaderFooterPolicy() { 
    108                 if (headerFooterPolicy==null) { 
    109                         headerFooterPolicy = new HeaderFooterPolicy(this); 
    110                 } 
    111                 return headerFooterPolicy; 
    112         } 
    113         public void setHeaderFooterPolicy(HeaderFooterPolicy headerFooterPolicy) { 
    114                 this.headerFooterPolicy = headerFooterPolicy; 
    115         } 
    116          
     121                 
     122                return getDocumentModel().getSections().get(0).getHeaderFooterPolicy(); 
     123        } 
    117124         
    118125        /** 
     
    355362                org.docx4j.wml.Document wmlDocumentEl = factory.createDocument(); 
    356363                wmlDocumentEl.setBody(body); 
     364                 
     365                // Create a basic sectPr using our Page model 
     366                PageDimensions page = new PageDimensions(); 
     367                SectPr sectPr = factory.createSectPr(); 
     368                body.setSectPr(sectPr); 
     369                sectPr.setPgSz(page.createPgSize() ); 
     370                sectPr.setPgMar(page.createPgMar()); 
    357371                                 
    358372                // Put the content in the part 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/BinaryPartAbstractImage.java

    r922 r943  
    4444import org.docx4j.UnitsOfMeasurement; 
    4545import org.docx4j.dml.Inline; 
     46import org.docx4j.model.structure.PageDimensions; 
    4647import org.docx4j.openpackaging.contenttype.ContentTypeManager; 
    4748import org.docx4j.openpackaging.contenttype.ContentTypes; 
     
    284285                // Since the object will be added at the end of the document, 
    285286                // it is safe to look for the page dimensions in the last sectPr  
     287                // TODO .. if adding elsewhere, would need to use dimensions from appropriate sectionWrapper. 
    286288                SectPr sectPr = wmlDocumentEl.getBody().getSectPr(); 
    287289                 
    288                 double writableWidthTwips; 
    289                 if (sectPr==null) { 
    290                          
    291                         log.debug("PgSz and PgMar not defined in this doc's SectPr element"); 
    292                         writableWidthTwips = UnitsOfMeasurement.DEFAULT_PAGE_WIDTH_TWIPS - (UnitsOfMeasurement.DEFAULT_LEFT_MARGIN_TWIPS + UnitsOfMeasurement.DEFAULT_RIGHT_MARGIN_TWIPS);  
    293                                  
    294                 } else { 
    295                          
    296                         PgSz pgSz = sectPr.getPgSz(); 
    297                         PgMar pgMar = sectPr.getPgMar(); 
    298                          
    299                         double pageWidth; 
    300                         double leftMargin; 
    301                         double rightMargin; 
    302                          
    303                         if ( pgSz == null ) { 
    304                                 pageWidth = UnitsOfMeasurement.DEFAULT_PAGE_WIDTH_TWIPS; 
    305                         } else { 
    306                                 pageWidth = pgSz.getW().doubleValue(); 
    307                         } 
    308                         if ( pgMar == null  
    309                                         || pgMar.getLeft()==null) { 
    310                                 leftMargin = UnitsOfMeasurement.DEFAULT_LEFT_MARGIN_TWIPS; 
    311                         } else { 
    312                                 leftMargin = pgMar.getLeft().doubleValue(); 
    313                         } 
    314                         if ( pgMar == null  
    315                                         || pgMar.getRight()==null) { 
    316                                 rightMargin = UnitsOfMeasurement.DEFAULT_RIGHT_MARGIN_TWIPS; 
    317                         } else { 
    318                                 rightMargin = pgMar.getRight().doubleValue(); 
    319                         } 
    320  
    321                         writableWidthTwips = pageWidth - (leftMargin + rightMargin ); 
    322                 } 
    323                                  
     290                PageDimensions page = new PageDimensions(); 
     291                if (sectPr!=null && sectPr.getPgSz()!=null) { 
     292                        page.setPageSize(sectPr.getPgSz()); 
     293                } 
     294                 
     295                double writableWidthTwips = page.getWritableWidthTwips();                                
    324296                log.debug("writableWidthTwips: " + writableWidthTwips); 
    325297                 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/MainDocumentPart.java

    r917 r943  
    3434 
    3535import org.apache.log4j.Logger; 
     36import org.docx4j.XmlUtils; 
    3637import org.docx4j.model.PropertyResolver; 
    3738import org.docx4j.model.styles.StyleTree; 
     
    309310                                 
    310311                                log.debug("not traversing into unhandled Node: " + ((org.w3c.dom.Node)o).getNodeName() ); 
     312 
     313                        } else if ( o  instanceof org.docx4j.wml.Tbl) { 
     314                                // A table can be either this or a JAXBElement  
     315                                // An existing table we have unmarshalled will be  
     316                                // a JAXBElement; one we have just created 
     317                                // via object factory will be a naked 
     318                                // org.docx4j.wml.Tbl 
     319                                inspectTable( (org.docx4j.wml.Tbl)o, fontsDiscovered, stylesInUse ); 
    311320                                 
    312321                        } else if ( o instanceof javax.xml.bind.JAXBElement) { 
    313322 
    314                                 log.debug( "Encountered " + ((JAXBElement) o).getDeclaredType().getName() ); 
     323                                        if ( ((JAXBElement)o).getDeclaredType().getName().equals("org.docx4j.wml.Tbl") ) { 
     324                                                 
     325                                                org.docx4j.wml.Tbl tbl = (org.docx4j.wml.Tbl)((JAXBElement)o).getValue();                                                
     326                                                inspectTable(tbl, fontsDiscovered, stylesInUse ); 
     327                                        } else if ( log.isDebugEnabled() ){ 
     328                                                log.debug( XmlUtils.JAXBElementDebug((JAXBElement)o) ); 
     329                                        } 
    315330                                         
    316331//                              if (((JAXBElement) o).getDeclaredType().getName().equals( 
     
    343358                } 
    344359        } 
     360         
     361        private void inspectTable( org.docx4j.wml.Tbl tbl, Map fontsDiscovered, Map stylesInUse) { 
     362                 
     363                // The table could have a table style; 
     364                // Tables created in Word 2007 default to table style "TableGrid", 
     365                // which is based on "TableNormal". 
     366                if (tbl.getTblPr()!=null  
     367                                && tbl.getTblPr().getTblStyle()!=null) { 
     368                        log.debug("Adding table style: " + tbl.getTblPr().getTblStyle().getVal() ); 
     369                        stylesInUse.put(tbl.getTblPr().getTblStyle().getVal(), 
     370                                                        tbl.getTblPr().getTblStyle().getVal() ); 
     371                } 
     372                // There is no such thing as a tr or a tc style, 
     373                // so we don't need to look for them, 
     374                // but since a tc can contain w:p or nested table, 
     375                // we still need to recurse 
     376 
     377                // We already looked for a w:tblStyle; 
     378                 // here, we are looking for styles in the tc. 
     379                 for (Object o : tbl.getEGContentRowContent() ) { 
     380                          
     381                         if (o instanceof org.docx4j.wml.Tr) {                            
     382                                 log.debug( "\n in w:tr .. "); 
     383                                 org.docx4j.wml.Tr tr = (org.docx4j.wml.Tr)o;                             
     384                                 for (Object o2 : tr.getEGContentCellContent() ) {                                        
     385                                                if ( o2 instanceof javax.xml.bind.JAXBElement) { 
     386                                                        // Usual content for w:tr is w:tc 
     387                                                        if ( ((JAXBElement)o2).getDeclaredType().getName().equals("org.docx4j.wml.Tc") ) { 
     388                                                                log.debug( "\n  in w:tc .. "); 
     389                                                                org.docx4j.wml.Tc tc = (org.docx4j.wml.Tc)((JAXBElement)o2).getValue(); 
     390                                                                 
     391                                                                // Look at the paragraphs in the tc 
     392                                                                traverseMainDocumentRecursive( tc.getEGBlockLevelElts(),  
     393                                                                                fontsDiscovered, stylesInUse); 
     394                                                                 
     395                                                        } else { 
     396                                                                // Could be custom markup (custom XML or sdt) 
     397                                                                log.warn("TODO - not w:tc - handle:  " + XmlUtils.JAXBElementDebug((JAXBElement)o2) ); 
     398                                                        } 
     399                                                } else if (o2 instanceof org.docx4j.wml.Tc) { 
     400                                                        // Again, it could be this or wrapped in a JAXBElement! 
     401                                                        traverseMainDocumentRecursive( ((org.docx4j.wml.Tc)o2).getEGBlockLevelElts(),  
     402                                                                        fontsDiscovered, stylesInUse);                                                   
     403                                                         
     404                                                } else { 
     405                                                         // Could be custom markup (custom XML or sdt) 
     406                                                         log.warn("TODO - not w:tc - handle:  " + o2.getClass().getName() ); 
     407                                                }                                         
     408                                 } 
     409                         } else { 
     410                                 // What? 
     411                                 log.warn("TODO - handle:  " + o.getClass().getName() ); 
     412                         } 
     413                          
     414                 } 
     415                  
     416                  
     417                 
     418        } 
     419         
    345420         
    346421    private void inspectRPr(Object rPrObj, Map fontsDiscovered, Map stylesInUse) { 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/relationships/Namespaces.java

    r665 r943  
    147147                "http://schemas.openxmlformats.org/wordprocessingml/2006/main"; 
    148148 
     149        public final static String W_NAMESPACE_DECLARATION = "xmlns:w=\"" + NS_WORD12 + "\"";  
     150         
    149151        // This is dom4j specific 
    150152        @Deprecated 
  • trunk/docx4j/src/main/java/org/docx4j/samples/CreateWordprocessingMLDocument.java

    r565 r943  
    2424import java.io.File; 
    2525 
     26import javax.xml.bind.JAXBContext; 
     27import javax.xml.bind.Marshaller; 
     28 
     29import org.docx4j.convert.out.flatOpcXml.FlatOpcXmlCreator; 
     30import org.docx4j.jaxb.Context; 
     31import org.docx4j.jaxb.NamespacePrefixMapperUtils; 
     32import org.docx4j.model.table.TblFactory; 
    2633import org.docx4j.openpackaging.packages.WordprocessingMLPackage; 
    2734import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    2835import org.docx4j.openpackaging.io.SaveToZipFile; 
     36import org.docx4j.wml.Tbl; 
    2937 
    3038/** 
     
    3745 
    3846        public static void main(String[] args) throws Exception { 
     47                 
     48                boolean save = false; 
    3949                 
    4050                System.out.println( "Creating package.."); 
     
    8797                                org.docx4j.XmlUtils.unmarshalString(str) ); 
    8898             
    89                  
    90                 System.out.println( ".. done!"); 
     99            // Let's add a table 
     100            int writableWidthTwips = wordMLPackage.getDocumentModel().getSections().get(0).getPageDimensions().getWritableWidthTwips(); 
     101            int cols = 3; 
     102            int cellWidthTwips = new Double(  
     103                                                                Math.floor( (writableWidthTwips/cols )) 
     104                                                                        ).intValue(); 
     105             
     106            Tbl tbl = TblFactory.createTable(3, 3, cellWidthTwips); 
     107            wordMLPackage.getMainDocumentPart().addObject(tbl); 
     108             
    91109                 
    92110                //injectDocPropsCustomPart(wordMLPackage); 
    93111                 
    94                 // Now save it  
    95                 wordMLPackage.save(new java.io.File(System.getProperty("user.dir") + "/bolds.docx") ); 
     112                // Now save it 
     113                if (save) { 
     114                        System.out.println("Saved."); 
     115                        wordMLPackage.save(new java.io.File(System.getProperty("user.dir") + "/bolds.docx") ); 
     116                } else { 
     117                        // Create a org.docx4j.wml.Package object 
     118                        FlatOpcXmlCreator worker = new FlatOpcXmlCreator(wordMLPackage); 
     119                        org.docx4j.xmlPackage.Package pkg = worker.get(); 
     120                 
     121                // Now marshall it 
     122                        JAXBContext jc = Context.jcXmlPackage; 
     123                        Marshaller marshaller=jc.createMarshaller(); 
     124                         
     125                        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); 
     126                        NamespacePrefixMapperUtils.setProperty(marshaller,  
     127                                        NamespacePrefixMapperUtils.getPrefixMapper());                   
     128                        System.out.println( "\n\n OUTPUT " ); 
     129                        System.out.println( "====== \n\n " );    
     130                        marshaller.marshal(pkg, System.out);                             
     131                         
     132                } 
    96133                 
    97134                System.out.println("Done."); 
  • trunk/docx4j/src/main/java/org/docx4j/samples/OpenMainDocumentAndTraverse.java

    r930 r943  
    3030import javax.xml.bind.Unmarshaller; 
    3131 
     32import org.docx4j.XmlUtils; 
    3233import org.docx4j.jaxb.Context; 
    3334import org.docx4j.openpackaging.io.LoadFromZipFile; 
     
    5152                //String inputfilepath = "/home/dev/s.docx"; 
    5253                //String inputfilepath = System.getProperty("user.dir") + "/sample-docs/AutoOpen.docm"; 
    53                 String inputfilepath = System.getProperty("user.dir") + "/sample-docs/math.docx"; 
     54                //String inputfilepath = System.getProperty("user.dir") + "/sample-docs/math.docx"; 
     55                String inputfilepath = System.getProperty("user.dir") + "/sample-docs/table-spans.xml"; 
    5456                 
    5557                boolean save = false; 
     
    125127                        if ( o instanceof javax.xml.bind.JAXBElement) { 
    126128                         
    127                                 System.out.println( o.getClass().getName() ); 
    128                                 System.out.println( ((JAXBElement)o).getName() ); 
    129                                 System.out.println( ((JAXBElement)o).getDeclaredType().getName() + "\n\n"); 
     129                                System.out.println("\n"+ XmlUtils.JAXBElementDebug((JAXBElement)o) ); 
    130130                                         
    131131                                if ( ((JAXBElement)o).getDeclaredType().getName().equals("org.docx4j.wml.Tbl") ) { 
     
    151151                 
    152152                for (Object o : children ) {                                     
    153                         System.out.println("  " + o.getClass().getName() ); 
    154153                        if ( o instanceof javax.xml.bind.JAXBElement) { 
    155                                 System.out.println("      " +  ((JAXBElement)o).getName() ); 
    156                                 System.out.println("      " +  ((JAXBElement)o).getDeclaredType().getName()); 
     154                                 
     155                                System.out.println( "\n" + XmlUtils.JAXBElementDebug((JAXBElement)o) ); 
    157156                                 
    158157                                // TODO - unmarshall directly to Text. 
     
    180179                                } 
    181180                                 
    182                         } else if (o instanceof org.w3c.dom.Node) { 
    183                                 System.out.println(" IGNORED " + ((org.w3c.dom.Node)o).getNodeName() );                                  
    184                         } else if ( o instanceof org.docx4j.wml.R) { 
    185                                 org.docx4j.wml.R  run = (org.docx4j.wml.R)o; 
    186                                 if (run.getRPr()!=null) { 
    187                                         System.out.println("      " +   "Properties..."); 
    188                                         if (run.getRPr().getB()!=null) { 
    189                                                 System.out.println("      " +   "B not null ");                                          
    190                                                 System.out.println("      " +   "--> " + run.getRPr().getB().isVal() ); 
    191                                         } else { 
    192                                                 System.out.println("      " +   "B null.");                                                                                              
     181                        } else { 
     182                                System.out.println("  " + o.getClass().getName() ); 
     183                                if ( o instanceof org.docx4j.wml.R) { 
     184                                        org.docx4j.wml.R  run = (org.docx4j.wml.R)o; 
     185                                        if (run.getRPr()!=null) { 
     186                                                System.out.println("      " +   "Properties..."); 
     187                                                if (run.getRPr().getB()!=null) { 
     188                                                        System.out.println("      " +   "B not null ");                                          
     189                                                        System.out.println("      " +   "--> " + run.getRPr().getB().isVal() ); 
     190                                                } else { 
     191                                                        System.out.println("      " +   "B null.");                                                                                              
     192                                                } 
    193193                                        } 
    194                                 } 
    195                                 walkList(run.getRunContent());                           
    196                                  
    197                         } else { 
    198                                  
    199                                 System.out.println(" IGNORED " + o.getClass().getName() ); 
    200                                  
     194                                        walkList(run.getRunContent());                                                                   
     195                                } else if (o instanceof org.w3c.dom.Node) { 
     196                                                System.out.println(" IGNORED " + ((org.w3c.dom.Node)o).getNodeName() );                                  
     197                                } else {                                         
     198                                        System.out.println(" IGNORED " + o.getClass().getName() );                                       
     199                                } 
    201200                        } 
    202201//                      else if ( o instanceof org.docx4j.jaxb.document.Text) { 
     
    225224                         if (o instanceof org.docx4j.wml.Tr) { 
    226225                                  
     226                                 System.out.println( "\n in w:tr .. "); 
    227227                                 org.docx4j.wml.Tr tr = (org.docx4j.wml.Tr)o; 
    228228                                  
    229229                                 for (Object o2 : tr.getEGContentCellContent() ) { 
    230230                                          
    231                                                 System.out.println("  " + o2.getClass().getName() ); 
    232231                                                if ( o2 instanceof javax.xml.bind.JAXBElement) { 
    233232                                                         
    234233                                                        if ( ((JAXBElement)o2).getDeclaredType().getName().equals("org.docx4j.wml.Tc") ) { 
     234                                                                System.out.println( "\n  in w:tc .. "); 
    235235                                                                org.docx4j.wml.Tc tc = (org.docx4j.wml.Tc)((JAXBElement)o2).getValue(); 
    236236                                                                 
     
    240240                                                        } else { 
    241241                                                                // What is it, if it isn't a Tc? 
    242                                                                 System.out.println("      " +  ((JAXBElement)o).getName() ); 
    243                                                                 System.out.println("      " +  ((JAXBElement)o).getDeclaredType().getName()); 
     242                                                                System.out.println( "\n  NOT Tc: " + XmlUtils.JAXBElementDebug((JAXBElement)o) ); 
    244243                                                        } 
    245244                                                } else { 
  • trunk/docx4j/src/main/java/org/docx4j/wml/TblPr.java

    r359 r943  
    2525import javax.xml.bind.annotation.XmlAccessType; 
    2626import javax.xml.bind.annotation.XmlAccessorType; 
     27import javax.xml.bind.annotation.XmlRootElement; 
    2728import javax.xml.bind.annotation.XmlTransient; 
    2829import javax.xml.bind.annotation.XmlType; 
     
    5354    "tblPrChange" 
    5455}) 
     56@XmlRootElement(name = "tblPr") 
    5557public class TblPr 
    5658    extends CTTblPrBase 
Note: See TracChangeset for help on using the changeset viewer.