Hi All,

I have got a problem with the union operator in XSLT.

Here are the templates I use :

<xsl:template name="checkOverlap">
<xslaram name="user"/>
<xslaram name="group"/>
<xslaram name="profile"/>

<xsl:variable name="userMembershipQuery">
<xsl:call-template name="object_query">
<xsl:with-param name="dn" select="$user"/>
<xsl:with-param name="attr-name" select="'Group Membership'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="userMembership"
select="query:query($destQueryProcessor,$userMembe rshipQuery)"/>
<xsl:variable name="groupMembershipQuery">
<xsl:call-template name="object_query">
<xsl:with-param name="dn" select="$group"/>
<xsl:with-param name="attr-name" select="'Group Membership'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="groupMembership"
select="query:query($destQueryProcessor,$groupMemb ershipQuery)"/>
<xsl:call-template name="profile-intersection">
<xsl:with-param name="userProfile"
select="$userMembership//instance/attr[1]/value"/>
<xsl:with-param name="groupProfile"
select="$groupMembership//instance/attr[1]/value"/>
</xsl:call-template>
</xsl:template>

<xsl:template name="object_query">
<xslaram name="dn"/>
<xslaram name="attr-name"/>
<query dest-dn="{$dn}" scope="entry">
<read-attr attr-name="{$attr-name}"/>
</query>
</xsl:template>

<xsl:template name="profile-intersection">
<xslaram name="userProfile"/>
<xslaram name="groupProfile"/>
<xsl:copy-of select="($userProfile|$groupProfile)"/>
<xsl:value-of select="count($userProfile|$groupProfile)"/>
</xsl:template>

When I test those templates with a User and a Group with the same 2
values in the Group Membership attribute, the last count return 4.
This rule is in the Publisher channel of the loopback driver.

Any ideas ??

Thanks in advance for your help!!!

Didier