- Timestamp:
- 03/12/08 08:10:43 (4 years ago)
- Location:
- trunk/docx4j/src/main/java/org/docx4j/openpackaging/packages
- Files:
-
- 2 edited
-
WordprocessingMLPackage.java (modified) (4 diffs)
-
wordml2html-2007.xslt (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/docx4j/src/main/java/org/docx4j/openpackaging/packages/WordprocessingMLPackage.java
r176 r177 190 190 * our main document and style definition parts. 191 191 * 192 * For now, I've just edited it a little to accept our parts wrapped 193 * in a <w:wordDocument> element. Since that's a completely 194 * arbitrary format, it may be better in due course to process 195 * pck:package/pck:part 192 * I've adapted the stylesheet to process the 193 * pck:package/pck:part stuff emitted by Word 2007. 196 194 * 197 195 */ 198 196 199 197 // so, put the 2 parts together into a single document 200 // The JAXB object org.docx4j.wml. WordDocumentis198 // The JAXB object org.docx4j.wml.Package is 201 199 // custom built for this purpose. 202 200 203 // Create a org.docx4j.wml. WordDocumentobject201 // Create a org.docx4j.wml.Package object 204 202 org.docx4j.wml.ObjectFactory factory = new org.docx4j.wml.ObjectFactory(); 205 org.docx4j.wml.WordDocument wd = factory.createWordDocument(); 203 org.docx4j.wml.Package pkg = factory.createPackage(); 204 206 205 // Set its parts 206 207 207 // .. the main document part 208 org.docx4j.wml.Package.Part pkgPartDocument = factory.createPackagePart(); 209 208 210 MainDocumentPart documentPart = getMainDocumentPart(); 209 org.docx4j.wml.Document wmlDocumentEl = (org.docx4j.wml.Document)documentPart.getJaxbElement(); 210 wd.setDocument(wmlDocumentEl); 211 212 pkgPartDocument.setName(documentPart.getPartName().getName()); 213 pkgPartDocument.setContentType(documentPart.getContentType() ); 214 215 org.docx4j.wml.Package.Part.XmlData XmlDataDoc = factory.createPackagePartXmlData(); 216 217 org.docx4j.wml.Document wmlDocumentEl = (org.docx4j.wml.Document)documentPart.getJaxbElement(); 218 219 XmlDataDoc.setDocument(wmlDocumentEl); 220 pkgPartDocument.setXmlData(XmlDataDoc); 221 pkg.getPart().add(pkgPartDocument); 222 211 223 // .. the style part 224 org.docx4j.wml.Package.Part pkgPartStyles = factory.createPackagePart(); 225 212 226 org.docx4j.openpackaging.parts.WordprocessingML.StyleDefinitionsPart stylesPart = documentPart.getStyleDefinitionsPart(); 227 228 pkgPartDocument.setName(stylesPart.getPartName().getName()); 229 pkgPartDocument.setContentType(stylesPart.getContentType() ); 230 231 org.docx4j.wml.Package.Part.XmlData XmlDataStyles = factory.createPackagePartXmlData(); 232 213 233 org.docx4j.wml.Styles styles = (org.docx4j.wml.Styles)stylesPart.getJaxbElement(); 214 wd.setStyles(styles); 234 235 XmlDataStyles.setStyles(styles); 236 pkgPartStyles.setXmlData(XmlDataStyles); 237 pkg.getPart().add(pkgPartStyles); 238 215 239 // Now marshall it 216 240 JAXBContext jc = Context.jc; … … 218 242 org.w3c.dom.Document doc = org.docx4j.XmlUtils.neww3cDomDocument(); 219 243 220 marshaller.marshal( wd, doc);244 marshaller.marshal(pkg, doc); 221 245 222 246 log.info("wordDocument created for PDF rendering!"); … … 249 273 javax.xml.transform.Templates template = tfactory.newTemplates( 250 274 new javax.xml.transform.stream.StreamSource(is)); 251 252 275 // Use the template to create a transformer 253 276 javax.xml.transform.Transformer xformer = template.newTransformer(); … … 269 292 xformer.setParameter("substituterInstance", fontSubstituter); 270 293 xformer.setParameter("fontFamilyStack", fontFamilyStack); 271 272 294 273 295 //DEBUGGING -
trunk/docx4j/src/main/java/org/docx4j/openpackaging/packages/wordml2html-2007.xslt
r164 r177 7 7 - xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" 8 8 9 Works with the output of Word 2007's ActiveDocument.WordOpenXML, 10 which looks like: 11 12 /pkg:package/pkg:part/pkg:xmlData 13 9 14 Version 1.3-.NET-script 10 15 … … 23 28 xmlns:aml="http://schemas.microsoft.com/aml/2001/core" 24 29 xmlns:w10="urn:schemas-microsoft-com:office:word" 30 xmlns:pkg="http://schemas.microsoft.com/office/2006/xmlPackage" 25 31 xmlns:msxsl="urn:schemas-microsoft-com:xslt" 26 32 xmlns:ext="http://www.xmllab.net/wordml2html/ext" … … 145 151 146 152 147 <xsl:variable name="nsStyles" select="/w:wordDocument[1]/w:styles[1]/w:style"/> 148 <xsl:variable name="ndLists" select="/w:wordDocument[1]/w:lists[1]|//w:cfChunk/w:lists"/> 149 <xsl:variable name="ndDocPr" select="/w:wordDocument[1]/w:docPr[1]"/> 150 <xsl:variable name="ndDocInfo" select="/w:wordDocument[1]/w:docInfo[1]"/> 151 <xsl:variable name="ndOfficeDocPr" select="/w:wordDocument[1]/o:DocumentProperties[1]"/> 153 <xsl:variable name="nsStyles" select="/pkg:package/pkg:part/pkg:xmlData/w:styles[1]/w:style"/> 154 155 <!-- 2008 03 12: TODO following parts currently not included in our pkg:package --> 156 <xsl:variable name="ndLists" select="/pkg:package/pkg:part/pkg:xmlData/w:lists[1]|/w:cfChunk/w:lists"/> 157 <xsl:variable name="ndDocPr" select="/pkg:package/pkg:part/pkg:xmlData/w:docPr[1]"/> 158 <xsl:variable name="ndDocInfo" select="/pkg:package/pkg:part/pkg:xmlData/w:docInfo[1]"/> 159 <xsl:variable name="ndOfficeDocPr" select="/pkg:package/pkg:part/pkg:xmlData/o:DocumentProperties[1]"/> 152 160 153 161 … … 4967 4975 </xsl:template> 4968 4976 4969 4977 <!-- 4970 4978 <xsl:template match="/w:wordDocument"> 4979 --> 4980 <xsl:template match="/pkg:package"> 4971 4981 <xsl:choose> 4972 4982 … … 5049 5059 <xsl:comment> 5050 5060 /*font definitions*/ 5061 <!-- 2008 03 12: TODO font part currently not included in our pkg:package --> 5051 5062 <xsl:apply-templates select="w:fonts[1]/w:font"/> 5052 5063 /*element styles*/ 5053 5064 <xsl:choose> 5065 <!-- 2008 03 12: TODO docPr currently not included in our pkg:package --> 5054 5066 <xsl:when test="w:docPr/w:revisionView/@w:markup = 'off'"> 5055 5067 del {display:none;} … … 5109 5121 5110 5122 <!-- was <xsl:apply-templates select="w:body|w:cfChunk"/> --> 5111 <xsl:apply-templates select=" w:document/w:body|w:cfChunk"/>5123 <xsl:apply-templates select="pkg:part/pkg:xmlData/w:document/w:body|w:cfChunk"/> 5112 5124 5113 5125
Note: See TracChangeset
for help on using the changeset viewer.
