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 July 29th, 2008, 08:59 AM
Authorized User
 
Join Date: Jul 2008
Posts: 22
Thanks: 0
Thanked 0 Times in 0 Posts
Default Dynamically cha nging root node!!!!!!!

I have an xml file for which i have prepared an xslt. I will using .net application to dynamically assign xslt to the xml file.


Now i have a requirement. The root node of xml file can sometimes be <Resp_AppDetail> or <Resp_Submit>. Now depending
on this i have to change the match of <xsl:template match="">. Is it possible to switch "match" template
using if else or so, depending on the output xml root node. If possible where should i do this? in .Net application or XSLT?
Any clue on how should i achieve this?

Rakesh

 
Old July 29th, 2008, 09:13 AM
samjudson's Avatar
Friend of Wrox
 
Join Date: Aug 2007
Posts: 2,128
Thanks: 1
Thanked 189 Times in 188 Posts
Default

Is this what you mean?

<xsl:template match="Resp_AppDetail | Resp_Submit">


/- Sam Judson : Wrox Technical Editor -/
 
Old July 29th, 2008, 09:19 AM
samjudson's Avatar
Friend of Wrox
 
Join Date: Aug 2007
Posts: 2,128
Thanks: 1
Thanked 189 Times in 188 Posts
Default

Alternatively to match the root of the document, just use <xsl:template match="/">.

/- Sam Judson : Wrox Technical Editor -/
 
Old July 29th, 2008, 09:29 AM
mhkay's Avatar
Wrox Author
 
Join Date: Apr 2004
Posts: 4,962
Thanks: 0
Thanked 292 Times in 287 Posts
Default

Various strategies are possible:

(a) you can define a template rule that matches either of these element names (match="A|B")

(b) you can define two different template rules for the two different element names (it doesn't matter if one of the rules is unused)

(c) you can define two separate stylesheets for the two document types, with the common code that they share included into both using xsl:import.

Option (c) is probably the one that gives you most flexibility in the future.

Michael Kay
http://www.saxonica.com/
Author, XSLT 2.0 and XPath 2.0 Programmer's Reference
 
Old July 29th, 2008, 09:31 AM
Authorized User
 
Join Date: Jul 2008
Posts: 22
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Taks for these various thoughts.






Similar Threads
Thread Thread Starter Forum Replies Last Post
how to read node dynamically gantait XSLT 4 February 27th, 2007 11:01 AM
root node should not be expanded at page load Hannibal ASP.NET 2.0 Basics 0 November 28th, 2006 10:52 AM
SiteMapDataSource won't find my root node... thenoseknows ASP.NET 2.0 Professional 0 October 31st, 2006 04:22 PM
Replacing New Root Node fauster XSLT 4 October 6th, 2006 11:17 AM





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