Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:output omit-xml-declaration="yes" indent="yes"/>
- <xsl:strip-space elements="*"/>
- <xsl:param name="XMLMerge2" select="document('input2.xml')"/>
- <xsl:key name="kBymail" match="clientname" use="Email"/>
- <xsl:template match="ClientInfo">
- <ClientInfo>
- <xsl:for-each select="clientname">
- <xsl:variable name="Email_from_merge1" select="Id"/>
- <xsl:choose>
- <xsl:when test="$XMLMerge2 = ''">
- <xsl:copy>
- <xsl:copy-of select="node() | @*"/>
- </xsl:copy>
- </xsl:when>
- <xsl:when
- test="exists($XMLMerge2/ClientInfo/clientdata[name = $Email_from_merge1])">
- <xsl:copy>
- <xsl:copy-of select="node() | @*"/>
- </xsl:copy>
- </xsl:when>
- </xsl:choose>
- </xsl:for-each>
- </objects>
- </xsl:template>
- <xsl:template match="Contact[Email = following-sibling::Contact/Email]"/>
- <?xml version="1.0" encoding="UTF-8"?>
- <ClientInfo>
- <clientname>
- <Id>003f40000049yJYAAY</Id>
- <Email>gbc@gmail.com</Email>
- </clientname>
- <clientname>
- <Id>003f40000049z3iAAA</Id>
- <Email>gbc@gmail.com</Email>
- </clientname>
- <clientname>
- <Id>003f40000049z3nAAA</Id>
- <Email>gbc@gmail.com</Email>
- </clientname>
- <clientname>
- <Id>003f40000048uLLAAY</Id>
- <Email>gar@gmail.com</Email>
- </clientname>
- <clientname>
- <Id>003f40000049t38AAA</Id>
- <Email>gad@gmail.com</Email>
- </clientname>
- </objects>
- Input2.xml in below:
- <?xml version="1.0" encoding="UTF-8"?>
- <ClientInfo>
- <clientdata>
- <name>003f40000048uLLAAY</name>
- <clientnameReference>
- <Email>gar@gmail.com</Email>
- </clientnameReference>
- </clientdata>
- <clientdata>
- <name>003f40000049t38AAA</name>
- <clientnameReference>
- <Email>gad@gmail.com</Email>
- </clientnameReference>
- </clientdata>
- <clientdata>
- <name>003f40000049yJYAAY</name>
- <clientnameReference>
- <Email>gbc@gmail.com</Email>
- </clientnameReference>
- </clientdata>
- </objects>
- Expectedoutput:
- <?xml version="1.0" encoding="UTF-8"?>
- <ClientInfo>
- <clientname>
- <Id>003f40000049yJYAAY</Id>
- <Name>barcode11</Name>
- <Email>gbc@gmail.com</Email>
- </clientname>
- <clientname>
- <Id>003f40000048uLLAAY</Id>
- <Name>Bob Robben</Name>
- <Email>gar@gmail.com</Email>
- </clientname>
- <clientname>
- <Id>003f40000049t38AAA</Id>
- <Name>ADVT4</Name>
- <Email>gad@gmail.com</Email>
- </clientname>
- </objects>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement