[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XSLT use cases; data-centric to document-centric

Subject: Re: XSLT use cases; data-centric to document-centric transformations
From: Peter Gerstbach <peter@xxxxxxxxxxxx>
Date: Mon, 07 Feb 2005 19:39:50 +0100
data centric document centric
David Carlisle wrote:
- Does anybody agree/disagree to my classification?


Oh, I expect so:-)

It isn't always clear whether a particular XML file is data or document
centric for a start. In particular many basically "document" oriented
formats that support mixed data have "data centric" subsections (eg
lists of bibligraphies or metadata sections) I think XSLt was
intentionally designed to handle both these cases.


but the programming style is more imperative (for-each) than template based (apply-template).


I know what you mean here but the distinction between imperative and
declarative programming styles doesn't really coincide with using or not
using apply-templates. xsl:for-each is (always) equivalent to  using
apply-templates with a unique mode, and a single template in that mode,
so for-each is just a syntactic shorthand for one restricted usage of
apply-templates, not a completely different paradigm that one can make
hard and fast rules about.

Ok, I agree with you upon this.
I wanted to say, when I look at the code which is produced by WYSIWYG editors, they are mostly imperative.


- How can I handle use case 3)? To my mind it would be best to convert a data-centric XML into a well structured documen-centric XML and then apply a XSLT stylesheet.


I don't understand this question. Or at least, I don't understand the
proposed answer. How would you do the conversion that you mention?
If you use XSLT then you would presumably need a stylesheet of your type
3, so this solution appears to be circular?


Well, the thing I have in mind is maybe a little more complex.
I have a data-centric XML, for example an XML representing some ordered products:


<orderedProducts>
  <product>
    <name>product A</name>
    <price>120</price>
    <quantity>2</quantity>
  </product>
  <product>
    <name>product B</name>
    <price>90</price>
    <quantity>1</quantity>
  </product>
</orderedProducts>

Now I want to transform this XML into an FO-document which represents an invoice. The WYSIWYG-tools I know, create one big template containing all the static text someone inputs (the logo and the name of the company, the address, the text before and after the product-list) and of course the instruction which converts the product-xml into a table.

So these tools are more about generating XSL-FO than about creating XSLT. My proposed answer to this is, that it might be better to store all this static text in a separate document:

<document>
  <header>the logo, the company name</header>
  <body>
    <p>Some text what this is about</p>
    <table>...</table> <!-- here comes the table with the products -->
    <p>And maybe some text again.</p>
  </body>
</document>

.. and then apply a XSLT which transforms the document- and the orderedProducts-XML into an FO-document.

Sorry, that this example turns out to be a very domain specific problem. I tried - unsuccessful - to generalize it. ;)

Peter

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.