Wrox Programmer Forums
Go Back   Wrox Programmer Forums > XML > XSLT
|
XSLT General questions and answers about XSLT. For issues strictly specific to the book XSLT 1.1 Programmers Reference, please post to that forum instead.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the XSLT section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old February 17th, 2005, 01:35 AM
Registered User
 
Join Date: Feb 2005
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Default Manual Copy-Of

I want to recursively copy input to output, with some control/filtering. So I tried to write

<xsl:template match=".">
<xsl:variable name="nm" select="name()"/>
[<xsl:element name="{$nm}">
<xsl:apply-templates/>
</xsl:element>]
</xsl:template>

It has problems with $nm, and it fires in the wrong places. Does anyone know how this should be done? I think it would be a good general example as to how the mysterious template/match/element mechanism really works.

(Of course we would then need to add attribute processing.)



 
Old February 17th, 2005, 05:40 AM
mhkay's Avatar
Wrox Author
 
Join Date: Apr 2004
Posts: 4,962
Thanks: 0
Thanked 292 Times in 287 Posts
Default

match="." is not a valid XSLT match pattern.

The usual identity template is

<xsl:template match="*">
  <xsl:copy>
     <xsl:copy-of select="@*"/>
     <xsl:apply-templates/>
  </xsl:copy>
</xsl:template>

If you also want to apply templates to attribute nodes you can use the one in the XSLT spec:

<xsl:template match="node()|@*">
  <xsl:copy>
     <xsl:apply-templates select="node|@*"/>
  </xsl:copy>
</xsl:template>

Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference





Similar Threads
Thread Thread Starter Forum Replies Last Post
Gridview manual databinding through code thas123 ASP.NET 2.0 Basics 3 December 12th, 2006 01:18 PM
Manual Submit Digon Classic ASP Basics 2 December 28th, 2005 08:24 PM
Crystal manual crosstab Eric Butterfield Crystal Reports 1 February 18th, 2005 06:42 PM
Manual Increment MySQL Field cmiller Beginning PHP 4 August 27th, 2003 05:26 PM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.