Advertisement
Guest User

Untitled

a guest
Aug 31st, 2017
492
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  2. <xsl:output omit-xml-declaration="yes" indent="yes"/>
  3. <xsl:strip-space elements="*"/>
  4. <xsl:param name="XMLMerge2" select="document('input2.xml')"/>
  5. <xsl:key name="kBymail" match="clientname" use="Email"/>
  6. <xsl:template match="ClientInfo">
  7. <ClientInfo>
  8. <xsl:for-each select="clientname">
  9. <xsl:variable name="Email_from_merge1" select="Id"/>
  10. <xsl:choose>
  11. <xsl:when test="$XMLMerge2 = ''">
  12. <xsl:copy>
  13. <xsl:copy-of select="node() | @*"/>
  14. </xsl:copy>
  15. </xsl:when>
  16. <xsl:when
  17. test="exists($XMLMerge2/ClientInfo/clientdata[name = $Email_from_merge1])">
  18. <xsl:copy>
  19. <xsl:copy-of select="node() | @*"/>
  20. </xsl:copy>
  21. </xsl:when>
  22. </xsl:choose>
  23. </xsl:for-each>
  24. </objects>
  25. </xsl:template>
  26. <xsl:template match="Contact[Email = following-sibling::Contact/Email]"/>
  27.  
  28. <?xml version="1.0" encoding="UTF-8"?>
  29. <ClientInfo>
  30. <clientname>
  31. <Id>003f40000049yJYAAY</Id>
  32. <Email>gbc@gmail.com</Email>
  33. </clientname>
  34. <clientname>
  35. <Id>003f40000049z3iAAA</Id>
  36. <Email>gbc@gmail.com</Email>
  37. </clientname>
  38. <clientname>
  39. <Id>003f40000049z3nAAA</Id>
  40. <Email>gbc@gmail.com</Email>
  41. </clientname>
  42. <clientname>
  43. <Id>003f40000048uLLAAY</Id>
  44. <Email>gar@gmail.com</Email>
  45. </clientname>
  46. <clientname>
  47. <Id>003f40000049t38AAA</Id>
  48. <Email>gad@gmail.com</Email>
  49. </clientname>
  50. </objects>
  51.  
  52. Input2.xml in below:
  53.  
  54. <?xml version="1.0" encoding="UTF-8"?>
  55. <ClientInfo>
  56. <clientdata>
  57. <name>003f40000048uLLAAY</name>
  58. <clientnameReference>
  59. <Email>gar@gmail.com</Email>
  60. </clientnameReference>
  61. </clientdata>
  62. <clientdata>
  63. <name>003f40000049t38AAA</name>
  64. <clientnameReference>
  65. <Email>gad@gmail.com</Email>
  66. </clientnameReference>
  67. </clientdata>
  68. <clientdata>
  69. <name>003f40000049yJYAAY</name>
  70. <clientnameReference>
  71. <Email>gbc@gmail.com</Email>
  72. </clientnameReference>
  73. </clientdata>
  74. </objects>
  75.  
  76.  
  77. Expectedoutput:
  78.  
  79. <?xml version="1.0" encoding="UTF-8"?>
  80. <ClientInfo>
  81. <clientname>
  82. <Id>003f40000049yJYAAY</Id>
  83. <Name>barcode11</Name>
  84. <Email>gbc@gmail.com</Email>
  85. </clientname>
  86. <clientname>
  87. <Id>003f40000048uLLAAY</Id>
  88. <Name>Bob Robben</Name>
  89. <Email>gar@gmail.com</Email>
  90. </clientname>
  91. <clientname>
  92. <Id>003f40000049t38AAA</Id>
  93. <Name>ADVT4</Name>
  94. <Email>gad@gmail.com</Email>
  95. </clientname>
  96. </objects>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement