RE: [xsl] template matching

Subject: RE: [xsl] template matching
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Thu, 05 Feb 2004 12:38:47 -0500
Roger,

At 10:52 AM 2/5/2004, you wrote:
Sorry - I wasn't being very clear. I was suprised to get output without an <xsl:value-of select="."/>

<xsl:value-of select="."/> is in the built-in default template for text nodes, and since the built-in template for element nodes instructs to <xsl:apply-templates select="child::node()"/>, even a blank or "null" stylesheet (that is, one containing no explicit templates at all) *will* give you your content.


It's actually a very worthwhile exercise for a beginner to run a blank stylesheet against a document, inspect the output, and from there to enhance the stylesheet with templates to match element nodes *starting at the bottom* (not going top down), checking the results of each enhancement as you go. The results, which many XSLT neophytes (especially those used to other programming languages) find to be counter-intuitive, are very instructive. You can't really explain them at all until you learn the processing model. If you do understand the processing model, you can likely predict what'll happen with every new template.

To get you started (should you or anyone choose to spend a little free time with this fun self-study), I provide you with a blank starter stylesheet:

<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; >

</xsl:stylesheet>

Run this on your favorite XML document and see....

Cheers,
Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================


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



Current Thread