xsl-list
[Top] [All Lists]

[xsl] match and not match using If

2016-09-17 10:44:28
I have created positive and negative XSLTs with below codes with match and
not match if, but not working:

*1. This was when $tranFile/objects/Contact[ID__c = $aN] then need all data
with corresponding <contactID> in each record:*

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/
1999/XSL/Transform">
    <xsl:output method="xml" indent="yes" omit-xml-declaration="no"/>
    <xsl:strip-space elements="*"/>
    <xsl:param name="tranFile" select="document('new5.xml')"/>
    <xsl:template match="Informations">
        <Informations>
            <xsl:for-each select="Information">
                <xsl:variable name="aN" select="no"/>
                <xsl:if test="$tranFile/objects/Contact[ID__c = $aN]">
                    <xsl:copy>
                        <contactID><xsl:value-of select="$tranFile/objects/
Contact/Id"/></contactID>
                        <xsl:apply-templates/>
                    </xsl:copy>
                </xsl:if>
            </xsl:for-each>
        </Informations>
    </xsl:template>
    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>


*2. And, same i have tested with negating code when *
$tranFile/objects/Contact[ID_c!= $aN] *:*


<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1
999/XSL/Transform">
    <xsl:output method="xml" indent="yes" omit-xml-declaration="no"/>
    <xsl:strip-space elements="*"/>
    <xsl:param name="tranFile" select="document('new5.xml')"/>
    <xsl:template match="Informations">
        <xsl:choose>
            <xsl:when test="$tranFile/objects = ''">
                <Informations>
                    <xsl:copy-of select="Information"/>
                </Informations>
            </xsl:when>
            <xsl:when test="$tranFile/objects! = ''">
                <Informations>
                    <xsl:for-each select="Information">
                        <xsl:variable name="aN" select="no"/>
                        <xsl:if test="not($tranFile/objects/Contact[ID_c=
$aN])">
                            <xsl:copy>
                                <xsl:apply-templates select="."/>
                            </xsl:copy>
                        </xsl:if>
                    </xsl:for-each>
                </Informations>
            </xsl:when>
        </xsl:choose>
    </xsl:template>
    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
    </xsl:template>
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>