Re: [xsl] Rescuing XSLT from Niche Status

Subject: Re: [xsl] Rescuing XSLT from Niche Status
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 16 Feb 2001 18:21:15 -0500
At 01/02/16 15:18 -0500, Roger L. Costello wrote:
A colleague of mine has written an excellent paper describing a new way
of looking at creating XSLT documents.

I agree with the others this isn't new, but I have additional points to make that haven't been brought up.

In our book "Practical Transformation Using XSLT and XPath" (ISBN 1-894049-06-3; first published March 12, 1999 and now in the Ninth Edition) we distinguish this as a "pull" approach, compared to using xsl:apply-templates in a "push" approach. This has proven to be very accessible to students of our training material and readers of our book.

As a testimony to the effectiveness of using this approach, after
reading the article I became such a believer in it that I reworked my
entire XSLT Tutorial[1] using this new approach.

You may find that the utility of the pull approach quickly fades, especially in publishing solutions (though probably not as quickly in data solutions). Of course the "pull" approach is untenable when dealing with mixed content.

This past week I
taught a three day course on XSLT using the new approach.

Our experience is that students of our three-day course on XSLT (next delivery is February 28-March 1; see the link on our home page for details) who are presented with both will focus on learning the "push" approach in order to be in a position to solve more problems than can be solved with just a "pull" approach.

I found that
with the new approach the students learned the material about 50% faster
than previous classes, where I used the classical approach to viewing
XSLT document creation.

I think it is important to not distinguish the two approaches as "classical" and "new", as they both have important roles to play based on the kind of problem being solved. Many solutions will require the use of both, though there are other reasons where using "push" brings more benefits than using "pull".

Using "pull" approaches inhibit the sharing of stylesheet fragments. When an organization views the deployment of stylesheets from many contributors, it is critical to be able to share stylesheet fragments. Stylesheets using the "pull" approach you are advocating are monolithic, they inhibit sharing, and they cannot be specialized using importation. Stylesheets using the "push" approach are granular and promote reuse of the investment in stylesheet fragments. Organizations should be cognizant of issues of stylesheet maintenance in the long term.

Basing the teaching only on a fill-in-the-blanks monolithic "pull" approach may provide quick gratification but will not equip your students for certain real-world situations. This approach becomes either unusable or isolationist (relating to being able to reuse stylesheets because they are monolithic; I couldn't think of a better word here) and doesn't build the expertise to take full advantage of the language.

I hope this helps.

.......................... Ken

p.s. the free download preview of our book available on our web site includes a comparison of push/pull in chapter 2.

-- G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (Fax:-0995) Web site: XSL/XML/DSSSL/SGML/OmniMark services, training, products. Book: Practical Transformation Using XSLT and XPath ISBN 1-894049-06-3 Article: What is XSLT? Next public instructor-led training: 2001-02-21,2001-02-27/03-01, - 2001-03-05/07,2001-03-21,2001-04-06/07,2001-05-01,2001-09-19

XSL-List info and archive:

Current Thread