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

Re: XML Transformation Language (was Re: removing HTML flow

Subject: Re: XML Transformation Language (was Re: removing HTML flow obje cts?)
From: Paul Prescod <papresco@xxxxxxxxxxxxxxxx>
Date: Wed, 27 May 1998 23:24:40 -0400
xml transformation language
Rob McDougall wrote:
> 
> Paul,
> 
> You seem to have changed your mind since last March.  In a message dated
> Tue 3/3/98 7:55 PM you stated (and I quote):
> "The style language is demonstrably a transformation. It takes input and
> transforms it into output. It is also demonstrably a *complete*
> transformation: any transformation that can be expressed in any other
> transformation language can be expressed in the style language. It is
> also a *good* transformation language."

You are right. Your recent questions (combined with things I have learned
in the meantime) have encouraged me to constrain my view of what
constitutes a transformation. There is a good reason that the style
language is not called the transformation language and that there is
something else called the transformation language. Nevertheless, Jade does
transform SGML documents into other SGML documents. MSXML could also, if
it used XML output syntax instead of HTML. So they can do transformations,
even if that is not what they were designed to do.

I could be wrong that transformations must be between like objects. I
don't anymore see a conversion between SGML and RTF as a "transformation."
But as you pointed out, this is a side issue.
 
> I'm afraid I also disagree with you WRT one dimensional vs. two
> dimensional objects.  Any two dimensional object can be represented as a
> one dimensional object, just as a two dimensional array in C can be
> accessed as V[2][2] or V[2*2] .  Another example is a two dimensional
> image can be stored as a stream of bytes.  XML can be used to represent
> 2 dimensional objects such as a relational database.  

I agree 100%. In fact, XML is usually used to represent 2 dimensional
objects. But it is only a representation. A language for converting
arbitrary XML documents into standard representations of tables is simple:
any old XML transformation language will do (including a slightly tweaked
XSL). But the important thing to note is that this is an XML->XML
transformation, and thus does not need any flow objects beyond those that
would usually be needed for XML->XML transformations (element, entity,
etc.)

But what alarmed me in your first message was:

'I notice that XSL allows
someone to specify a series of patterns/rules to route the content into
"flow objects".  This sounds like just the ticket.  I can define a few
DB related "flow objects" e.g. table, row, column.'

Two situations could apply: 

 * these flow objects could be one-dimensional *representations* of
tables, rows and columns, in which case you might as well have used the
XML->XML transformation described above (no need to extend *anything*)

 * these flow objects could be conceptually two-dimensional objects.

In this latter case, much of XSL will be totally inappropriate. To really
build two-dimensional objects directly, you want to be able to name rows
and columns, "poke" data into various locations, express constraints on
column values and so forth. You may also want to change the rule
triggering order. Once you get into this two dimensional model, you are
quite far away from "flow objects" and XSL actions are almost useless.

> Anyway, this is
> off-topic.  The intent of my example was to show why one might wish to
> use a transformation syntax in an non-styling application that accepts
> generic XML.

I don't dispute this. I just don't see why you would want "table", "row"
and "column" flow objects. As I pointed out, you can either use the
standard XML transformation flow objects, and ignore the two-dimensional
semantics (and other database semantics) of the things you are creating,
or you must think quite deeply about what a conversion to 2D data model
should look like (i.e. not XSL).
 
> I never said I wanted to distribute the mapping over the web.  I never
> said anything about the web.  I just want to re-use my XML document in a
> variety of contexts without having to learn a new syntax every time I
> try and bring it into one of those new contexts.  Is that too much to
> ask?

Not at all. That's what a transformation language allows. You aren't
asking for anything more than everybody else who is asking for an XML->XML
transformation language.

But while a style language DOES have to allow new flow objects to be able
to handle new types of displays, a transformation language DOES NOT have
to be extensible in this way. While people could spend months on the
DSSSList asking for new "page layout flow objects" or "mathematical flow
objects", it would make no sense to ask for new transformation langauge
flow objects: either the set provided is sufficient to transform any SGML
document into any other SGML document (good) or it is not (bad). There is
no need for new flow objects once the language is complete.

 Paul Prescod  - http://itrc.uwaterloo.ca/~papresco

Three things to be wary of: A new kid in his prime
A man who knows the answers, and code that runs first time
http://www.geezjan.org/humor/computers/threes.html


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


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.