Re: [xsl] Rescuing XSLT from Niche Status
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 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
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.
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. http://www.CraneSoftwrights.com/s/
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? http://www.xml.com/pub/2000/08/holman/index.html
Next public instructor-led training: 2001-02-21,2001-02-27/03-01,
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list