Re: [xml-dev] Combining 2 XML into 1 XML via XSLT

From
Steve Rosenberry <>
To
Date
2002-09-13T12:06:05Z
ID
<>
Thread
Re: [xml-dev] Combining 2 XML into 1 XML via XSLT
Dave Yancey is looking for a functional equivalent of:

> <xsl:for-each select="$xml2//headers/header">
> <xsl:variable name="header_name1"><xsl:value-of 
> select="@header_name"/></xsl:variable>
> <xsl:for-each select="//headers/header">
> <xsl:choose>
> <xsl:when test="@header_name = $header_name1">
> <xsl:variable name="bFound">true</xsl:variable>
> </xsl:when>
> <xsl:when test="@header_name != $header_name1">
> <xsl:variable name="bFound">false</xsl:variable>
> </xsl:when>
> </xsl:choose>
> </xsl:for-each>
> <xsl:if test="$bFound='false'">
> <header>
> <xsl:attribute name="header_name"><xsl:value-of 
> select="@header_name"/></xsl:attribute>
> </header>
> </xsl:if>
> </xsl:for-each>

Stealing various suggestions from previous responses and taking into
account the inner for-each loop, may I suggest the following:

<xsl:for-each select="$xml2//headers/header">
  <xsl:variable name="header_name1" select="@header_name"/>
  <xsl:if test="count(//headers2/header[@header_name = $header_name1]) =
0">
    <header head_name="{@header_name}"/>
  </xsl:if>
</xsl:for-each>

(FWIW: I didn't see the beginning of this thread so I could be way off
base here...)

-- 
Steve Rosenberry
Sr. Partner

Electronic Solutions Company -- For the Home of Integration
http://www.ElectronicSolutionsCo.com

(610) 670-1710