2017-03-14 1 views
0

이전 노드 값에 액세스하여 일치하는 경우 현재 노드 값과 비교하려고합니다. 내가 어디로 잘못 가고 있는지 알려주세요.xslt 이전 노드 값을 얻으십시오

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<nums> 
    <num>02</num> 
    <num>02</num> 
    <num>03</num> 
    <num>04</num> 
    <num>05</num> 
    <num>06</num> 
    <num>06</num> 
    <num>08</num> 
    <num>09</num> 
    <num>10</num> 
</nums> 

XSLT : 나는 이전 노드 값에 비해 다른 값이 현재 NUM 값을 가져 오기 위해 노력하고

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output omit-xml-declaration="yes" indent="yes"/> 
<xsl:strip-space elements="*"/> 
<xsl:template match="node()|@*"> 
    <xsl:copy> 
     <xsl:apply-templates select="node()|@*"/> 
    </xsl:copy> 
</xsl:template> 
<xsl:template match="/*"> 
    <nums> 
    <xsl:apply-templates select= 
     "num[not(preceding-sibling::node()[1]=node()]"/> 
    </nums> 
</xsl:template> 
</xsl:stylesheet> 

. 템플릿에서 내 조건은 무엇입니까?

답변

0

귀하의 조건은 다음과 같이 표현한다 :

<xsl:apply-templates select="num[not(preceding-sibling::node()[1] = .)]"/> 

또는 - 바람직 - 같이

<xsl:apply-templates select="num[not(preceding-sibling::num[1] = .)]"/> 

그러나, 이러한 중복을 제거하는 좋은 방법이 아닙니다 - 왜 여기 참조 : http://www.jenitennison.com/xslt/grouping/muenchian.html