OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

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

[ Lists Home | Date Index | Thread Index ]



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




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS