1
에서 현재 노드의 문자열 가져 오기 :나는이 XML 입력이 XSLT
<?xml version="1.0" encoding="utf-8"?>
<Document>
<TopLevel>
<Payments>
<PaymentID>PID1</PaymentID>
<Transaction>
<TransID>TR1-PID1XX</TransID>
<TransNumber>1</TransNumber>
</Transaction>
<Transaction>
<TransID>TR1-PID1XY</TransID>
<TransNumber>2</TransNumber>
</Transaction>
<Transaction>
<TransID>TR1-PID1XX</TransID>
<TransNumber>3</TransNumber>
</Transaction>
</Payments>
<Payments>
<PaymentID>PID2</PaymentID>
<Transaction>
<TransID>TR2-PID2XY</TransID>
<TransNumber>4</TransNumber>
</Transaction>
<Transaction>
<TransID>TR2-PID2XX</TransID>
<TransNumber>5</TransNumber>
</Transaction>
<Transaction>
<TransID>TR2-PID2XY</TransID>
<TransNumber>6</TransNumber>
</Transaction>
</Payments>
</TopLevel>
</Document>
을 그리고 이것은 내 XSLT입니다 :
내 XSLT는 현재 노드의 문자열을 따기되지<xsl:template match="Transaction">
<Transaction>
<xsl:apply-templates select="TransID"/>
</Transaction>
</xsl:template>
<xsl:template match="TransID">
<TransID>
<xsl:value-of select="."/>
</TransID>
<TransNumber>
<xsl:number level="any"/>
</TransNumber>
<xsl:if test="substring(//TransID,9,2)='XX'">
<TransCode>
<xsl:value-of select ="substring(//TransID,1,3)"/>
</TransCode>
</xsl:if>
</xsl:template>
하지만, 대신에 항상 첫 번째 노드 문자열을 얻고 있습니다. 내가 여기에서 놓친 것이 무엇입니까? 이 멋진 커뮤니티에 대한 모든
<Payments>
<PaymentID>PID1</PaymentID>
<Transaction>
<TransID>TR1-PID1XX</TransID>
<TransNumber>1</TransNumber>
<TransCode>TR11</TransCode>
</Transaction>
<Transaction>
<TransID>TR1-PID1XY</TransID>
<TransNumber>2</TransNumber>
</Transaction>
<Transaction>
<TransID>TR1-PID1XX</TransID>
<TransNumber>3</TransNumber>
<TransCode>TR13</TransCode>
</Transaction>
</Payments>
<Payments>
<PaymentID>PID2</PaymentID>
<Transaction>
<TransID>TR2-PID2XY</TransID>
<TransNumber>4</TransNumber>
</Transaction>
<Transaction>
<TransID>TR2-PID2XX</TransID>
<TransNumber>5</TransNumber>
<TransCode>TR25</TransCode>
</Transaction>
<Transaction>
<TransID>TR2-PID2XY</TransID>
<TransNumber>6</TransNumber>
</Transaction>
</Payments>
감사합니다 :)
좋은 해결책, thanks man :) – zyberjock