At 2003-08-26 13:32 +0100, Borislav Stoyanov wrote:
How do you apply templates ONLY to the direct children of an element/node,
supposed you dont know their name? What if there is no matching template,
why are grandchildren also matched?
...
Or is this a simple xsl question :)?
This is a simple XSLT question: there are built-in template rules that are
engaged when you do not provide a template rule for a node that is
processed by your stylesheet:
http://www.w3.org/TR/1999/REC-xslt-19991116#built-in-rule
If you want to throw away everything that isn't caught by your template
rules, then you have to override the built-in template rule for all
elements by providing an empty template for all elements not explicitly
matched in your stylesheet:
<xsl:template match="*"/><!--no template for all other elements-->
But then you'll have to be careful that you do, indeed, have a template
rule for all of your elements and that you are not already unknowingly
somewhere else in your stylesheet relying on the built-in template rule for
elements.
I hope this helps.
.................. Ken
--
Next public European delivery: 3-day XSLT/2-day XSL-FO 2003-09-22
Instructor-led on-site corporate, government & user group training
for XSLT and XSL-FO world-wide: please contact us for the details
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6 Definitive XSLT and XPath
ISBN 0-13-140374-5 Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-11-X Practical Formatting Using XSL-FO
Member of the XML Guild of Practitioners: http://XMLGuild.info
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list