[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Combining 2 XML into 1 XML via XSLT


define a variable with xslt

xsl-list is better than xml-dev for this sort of question.

The scope of a variable declaration is its containing element so in

<xsl:when test="@header_name != $header_name1">
<xsl:variable name="bFound">false</xsl:variable>
</xsl:when>

> I know that when the </xsl:choose> is reached that the variable looses its 
> scope.
the scope of $bfound is _just_ that xsl:when element ie it's out of
scope before the close of the choose element.

You don't want to conditionally define a variable, you want to define a
variable with a value that depends on a condition, so you have
xsl:variable and xsl:choose nested the wrong way:

<xsl:variable name="bFound">
<xsl:choose>
<xsl:when test="@header_name = $header_name1">true</xsl:when>
<xsl:when test="@header_name != $header_name1">false</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:if test="$bFound='false'">...

that's the general case but here you don't need an xsl:choose at all as
you just want to set the variable to the boolean value directly

<xsl:variable name="bFound" select="@header_name = $header_name1"/>
<xsl:if test="$bFound">....


The rest of the code could be greatly simplified as well:
<xsl:variable name="header_name1"><xsl:value-of 
select="@header_name"/></xsl:variable>

is a a verbose (and costly) version of
<xsl:variable name="header_name1" select="@header_name"/>

<header>
<xsl:attribute name="header_name"><xsl:value-of 
select="@header_name"/></xsl:attribute>
</header>

is a verbose version of

<header header_name="{@header_name}"/>

David

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.