Re: How to process Altova XSLT-Word 2007+ with Saxon-EE 10.3 for Java

Eliot Kimber <ekimber-xb9TSTQ6enFWk0Htik3J/[email protected]> Mon, 03 May 2021 09:00:39 -0500
Newsgroups gmane.text.xml.saxon.help
Message-ID <[email protected]>
Please look at the Wordinator project on github: https://github.com/drmacro/wordinator

I use a trick that allows Saxon to write directly to DOCX zip files: https://github.com/drmacro/wordinator/blob/master/src/main/java/org/wordinator/xml2docx/generator/DocxGeneratingOutputUriResolver.java

Wordinator uses Saxon to transform XML into DOCX via the Apache POI library.

Cheers,

E.

--
Eliot Kimber
http://contrext.com
 

On 5/1/21, 12:35 AM, "[email protected]" <[email protected]> wrote:

    Following Java code:

    TransformerFactory factory = new net.sf.saxon.TransformerFactoryImpl(); 
    StreamSource xslStream = new StreamSource(new
    ByteArrayInputStream(inputXSL.getBytes(encoding)));
    Transformer transformer = factory.newTransformer(xslStream);
    StreamSource in = new StreamSource(new
    ByteArrayInputStream(dataXML.getBytes(encoding)));
    StreamResult out = new
    StreamResult("file:///c:/outputdir/IRtest1-DOCX.docx");
    transformer.transform(in, out);

    works exactly as following command line:

    java -jar saxon-ee-10.3.jar -xsl:IRtest1-DOCX.xslt input.xml -o:
    c:\outputdir\IRtest1-DOCX.docx

    Instead of returning single DOCX output it returns unzipped DOCX folders
    _rels, docProps, word with files and file [Content_Types].xml. If I manually
    zipped them into IRtest1-DOCX.docx, Word can open docx successfully.  
    Obviously additional step is needed to zip files from c:\outputdir\ into
    single output.

    Regards
    Miro

    -----Original Message-----
    From: Michael Kay <[email protected]> 
    Sent: Friday, April 30, 2021 1:56 AM
    To: Mailing list for the SAXON XSLT and XQuery processor
    <[email protected]>
    Subject: Re: [saxon] How to process Altova XSLT-Word 2007+ with Saxon-EE
    10.3 for Java

    Thanks, Jirka. Perhaps it just works. Perhaps we even have some tests that
    show that it works. But I wouldn't be 100% confident without trying it.

    Michael Kay
    Saxonica

    > On 29 Apr 2021, at 22:31, Jirka Kosek <[email protected]> wrote:
    > 
    > On 27.4.2021 10:04, Michael Kay wrote:
    >> As for your attempt to produce a .docx file directly from the command
    line, this isn't something Saxon supports. It's something you can do from a
    Java application (though I would need to do some thinking to work out
    exactly how), but not from the command line.
    > 
    > I recall I was doing this more than 10 years ago. But it was necessary to
    have empty or skeleton .docx file.
    > 
    > Then xsl:result-document could be used to create and populate individual
    files inside the archive (.docx) file:
    > 
    > <xsl:result-document href="zip:.../document.docx!/word/document.xml">
    > 
    > --
    > ------------------------------------------------------------------
    >  Jirka Kosek      e-mail: [email protected]      http://xmlguru.cz
    > ------------------------------------------------------------------
    >     Professional XML and Web consulting and training services 
    > DocBook/DITA customization, custom XSLT/XSL-FO document processing
    > ------------------------------------------------------------------
    >    Bringing you XML Prague conference    http://xmlprague.cz
    > ------------------------------------------------------------------
    > 
    > _______________________________________________
    > saxon-help mailing list archived at http://saxon.markmail.org/ 
    > [email protected] 
    > https://lists.sourceforge.net/lists/listinfo/saxon-help



    _______________________________________________
    saxon-help mailing list archived at http://saxon.markmail.org/
    [email protected]
    https://lists.sourceforge.net/lists/listinfo/saxon-help 



    _______________________________________________
    saxon-help mailing list archived at http://saxon.markmail.org/
    [email protected]
    https://lists.sourceforge.net/lists/listinfo/saxon-help 





_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
[email protected]
https://lists.sourceforge.net/lists/listinfo/saxon-help