중복 레코드를 생략해야하는 요구 사항이 있습니다. 다음중복 레코드를 제거하는 XSL
아래 샘플을 고려하는 것은
<ExchangeRates>
<Rate> <!--The exchange rates -->
<SourceCurrency>INR</SourceCurrency>
<TargetCurrency>USD</TargetCurrency>
<ConversionFactor>60.2</ConversionFactor>
</Rate>
<Rate>
<SourceCurrency>INR</SourceCurrency>
<TargetCurrency>USD</TargetCurrency>
<ConversionFactor>58.2</ConversionFactor>
</Rate>
<Rate>
<SourceCurrency>YEN</SourceCurrency>
<TargetCurrency>INR</TargetCurrency>
<ConversionFactor>.52</ConversionFactor>
</Rate>
<Rate>
<SourceCurrency>SAR</SourceCurrency>
<TargetCurrency>INR</TargetCurrency>
<ConversionFactor>16.50</ConversionFactor>
</Rate>
<Rate>
<SourceCurrency>SAR</SourceCurrency>
<TargetCurrency>INR</TargetCurrency>
<ConversionFactor>16.50</ConversionFactor>
</Rate>
</ExchangeRates>
지금 내가 싶은 일을 할 모든 중복을 제거 할 수있는 입력을합니다. 마찬가지로 Source와 TargetCurrency의 동일한 쌍이있는 경우 먼저 레코드를 보내고 다른 레코드를 삭제합니다. 나는 XSLT를 수행하면 중복을 제거하는 것을 발견
<ExchangeRates>
<Rate>
<SourceCurrency>INR</SourceCurrency>
<TargetCurrency>USD</TargetCurrency>
<ConversionFactor>60.2</ConversionFactor>
</Rate>
<Rate>
<SourceCurrency>YEN</SourceCurrency>
<TargetCurrency>INR</TargetCurrency>
<ConversionFactor>.52</ConversionFactor>
</Rate>
<Rate>
<SourceCurrency>SAR</SourceCurrency>
<TargetCurrency>INR</TargetCurrency>
<ConversionFactor>16.50</ConversionFactor>
</Rate>
</ExchangeRates>
처럼
출력 할 수 shud. 즉. 내부 요소가 완전히 동일한 경우. 아래 코드는 중복을 피하는 데 도움이됩니다. 외부 태그 안의 내용을 기반으로 중복을 식별합니다.
하지만 환율이 같은 통화 쌍이지만 여러 ConversionFactors에 해당하는 경우 xslt를 사용하여 레코드를 제거하고 싶습니다.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="@*|node()">
<xsl:if test="not(node()) or not(preceding-sibling::node()[.=string(current())])">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
요금이 여러 번 발생하는 경우 USD-> INR로 요금을 내야합니다. 그리고 첫 번째 환율 만 전달하십시오.
이 문제를 해결하는 데 도움이 될 수 있습니까?
건배
Reji
와우. 그것은 매력처럼 작동합니다! – user2729074
Muenchian 그룹을 잘 사용했지만'] <> xsl : "("currencyPair ", concat (SourceCurrency, '', TargetCurrency)) [1] 복사 - 선택 select =". "/>'단축 될 수있는 '. –
오 예 .. 고맙습니다. :) –