Re: [xsl] Word -> XSL

Subject: Re: [xsl] Word -> XSL
From: Philip Fearon <pgfearo@xxxxxxxxxxxxxx>
Date: Tue, 5 Jan 2010 14:45:19 +0000
Hi Len

A vote for Option 1, WordML/SpreadsheetML (concentrating on Word
here,but the prinicples are the same for Excel):

Your best bet, in my view would be Option 1, to just use Word to
visually design the menu templates with input from your customers, but
if you have a choice, I would recommend Word 2007/Excel 2007 and
OOXML, rather than Word/Excel 2003. As previously stated (by
Emmanuael), XSLT on its own does not do search and replace, there are
however tools (see below) that make it very effective at performing
just this function, even if such files are compressed.

Once you have a set of Word templates for all your customers, you just
need to perform the equivalent of an XSLT 'mailmerge' on each Word
template to update it with realtime data from your database. Your XSLT
therefore only needs to modify the data within the tables (repeating
rows etc) and not get involved in the visual aspects of WordML. There
are methods also that can help with converting Word documents
automatically to PDF

In case you're interested in lightweight tools that may help with
Option 1, especially if Word 2007 may be used in future (sorry about
this, but there is some relevancy here):
--------------------
In Feb I'm publishing the first beta of a new desktop XSLT 1.0/2.0
publishing/testing GUI (CoherentWeb) that works seemlessly with WordML
and also compressed packages such as Word 2007/OOXML. For OOXML, it
uncompresses only the required zip entries - such as document, header
etc, on the fly, and then reinserts the transformed XML into copies of
the original Word documents (its multi-threaded, and a 1000 Word
templates at a time, flat or within a folder structure wouldn't be an
issue). A .NET implementation of the EXPath Zip Module (expath.org) is
also integrated with the product, this provides added flexibilty when
manipulating zip compressed files.

This tool will also comes with a built-in XPath dev tool (derived from
my SketchPath tool) that may help with auto-generating the rather
long-winded XPath expressions you may need for WordML. [Finally, this
tool has a built-in Word/Excel XSLT result preview, this exploits
Internet Explorers ActiveX hosting so uses a tiny registry hack
(published by Microsoft) and woud need a licensed copy of Word/Excel
on the same platform. The Word 2003 XML viewer has not been tested yet
for this, but may just work because its also browser hosted]
--------------------
So far as how much effort might be involved with the XSLT. Provided
that (as described above) you design the Word templates manually and
only use XSLT for data insertion, the XSLT dev effort should be
minimal, because its effectively a search and replace job, and you can
auto-generate the more length WordML/Word2007 XPath expressions.

Regards

Phil Fearon
http://www.qutoric.com


On Mon, Jan 4, 2010 at 6:29 PM, Schultz, Len <len@xxxxxxxxxxxxx> wrote:
> Hello,
>
> I am building a web application that will allow restaurants to easily create
custom beverage (e.g. wine) menus utilizing a central database of beverage
products.  Key to this is making it really easy to have each restaurant
specify and implement their look and feel into their menus.  The effort needs
to be extremely light weight: we'll have to do potentially 1000 different menu
templates for 1000 different restaurants.  FYI, today 90% of menus are done in
MS Word, another 9% done in MS Excel, and the remaining 1% is probably Adobe
InDesign, Quark, and MS Publisher.
>
> I want to implement this using XML and XSLT.  The question I have for this
group is the plusses and minuses of 2 different targets for the
transformation.
>
> Option 1 is to transform to WordML and SpreadsheetML.  This has the benefits
of 1) having the restaurant send us their design in Word/Excel, then all we
have to do is create an XSLT to replace the data.  And 2) if there are changes
or adjustments to make in the layout, the restaurant can then make those
changes in Word/Excel, and we just create a new XLST.
>
> Option 2 is to transform to XSL (aka XSL-FO).  This has the benefits that 1)
we can transform to PDF, which would cover the 1% that don't have Word/Excel. 
And 2) we can keep people in our system to make.  But I don't know how we can
easily create the XSL from sample menus sent to us in Word.  I also don't know
what kind of layout change process would work (our web application might need
to be robust enough to allow users to fine-tune layout changes online)
>
> I'd like to tackle the first issue first.  Does anyone have insights into
how XSL could be created from a sample Word document, and the effort involved
in creating that XSL?
>
> --len

Current Thread