Monday, 13 July 2015

Inline xslt example for distinct


Inline Xslt

<xsl:variable name="unique-companies" select="//Employee[not(Company=preceding-sibling::Employee/Company)]/Company" />
<ns0:ListPartners xmlns:ns0="http://MVK.BTS.TECH.OutputFile">
<xsl:for-each select="$unique-companies">
    <PartnerName><xsl:value-of select="."/></PartnerName>
</xsl:for-each>
</ns0:ListPartners>


Source Schema:

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns="http://SelectDistinctValues.Input" targetNamespace="http://SelectDistinctValues.Input" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="ExternalEmployees">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="Employee">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Name" type="xs:string" />
              <xs:element name="Company" type="xs:string" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>


Destination Schema:

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://MVK.BTS.TECH.OutputFile" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://MVK.BTS.TECH.OutputFile" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="ListPartners">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="PartnerName" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>


No comments:

Post a Comment