On Monday, February 26th Steven T. Hatton wrote:
If you already know what I'm about to say, please foregive me my assumption that you are at the stage I was in my second week of researching this subject.
No need to be so polite <smile>. My understanding is inline with yours. I started from the XML end of things which solved a specific problem I had with describing pricing information. Then when I looked further into my business and what I was trying to achieve I realised what I wanted was a way to: a) Store the document data separate from the presentation (so that it could be parsed using python for other processes) but not in a relational database. b) Take the document data and display it in a number of formats (HTML, PDF). Mark up languages and the display mechanisms (DSSSL, FOSI, CSS and XSL) should solve this problem. However these technologies come with their own set of problems: 1) Complexity. 2) Standards and tools are not yet very mature. What of course we are all looking for is a tool that is going to hide all the complexity from us and produce perfectly formatted documents in the right format at the right time. There are as you pointed out 2 parts to this process, the creation of the document and the viewing of it. As you also pointed out the options on Linux are very limited. I haven't used XMetal on Windows but I would guess that it is able to do the round trip: take a XML specification, write a document, apply a formatting document to it and then view the output. In document creation people are used to the WYSIWYG approach of modern wordprocessors. It's very hard and not necessarily desireable to implement markup documents in a WYSIWYG format. However if you can't see what your document looks like when you're creating it how do you know if you are achieving the affect you want? That comes down to how well designed the formatting template is and how well integrated it is to the markup template. This is fine for big projects and books but the time required to create and debug a markup template and its' formatting template for small projects make the process inconvenient. On the Conglomerate site they have a couple of articles that are worth reading: http://www.conglomerate.org/docs/death_of_wysiwyg.html http://www.conglomerate.org/intro.html The first is their view on WYSIWYG documents versus marked up documents. The second is an intro to what they are trying to do about the problem At the moment I think that the best strategy on Linux at the moment is: 1. Find an editor which accepts an XML template (Docbook template) and has a convenient 'pick-list' for tags and validates your document as you write it. As you pointed out this is not ideal, but it is a step up from coding by hand. Also you have to be familiar with the Docbook spec. 2. To view the document in your chosen format use sgml-tools Lite which is a set of utilities, coded in python, for taking a docbook document and outputting to HTML (2 styles), JadeTeX, DVI, RTF, PS, PDF, plain text, and PalmOS iSilo formats. (The homepage is: http://sgmltools-lite.sourceforge.net) I can't think of any superior way of writing documents at the moment. A Docbook / XML plug-in for KWord would be a cool project. I guess it is something that will probably get done in the future. My requirements are slightly easier - I'm (trying) to build an application using ZOPE and the users (my clients) fill in some forms (inquiries and orders) and then my program automatically creates documents using a markup language and then depending on where the client needs to see the information (either on the web in HTML or by e-mail in which case a pdf file) the correct output is presented to them. Thanks for your mail. Jethro