0
나는 'folio'라고하는 중첩 된 태그가있는 XML 데이터 문서를 가지고 있습니다. 중첩 된 태그의 최대 레벨은 4입니다. 중첩 된 Folio가없는 수준에 도달 할 때까지 각 Folio를 반복적으로 처리하고 내용을 인쇄해야합니다.XSL에서 재귀를 구현하는 방법은 무엇입니까?
XSL에서 재귀를 수행하는 방법을 잘 모르겠습니다. 다음은 샘플 문서입니다. 누군가가 도와 줄 수 있습니까?
감사합니다.
<xsl:template match="folio">
<do something>
<xsl:apply-templates/>
</do something>
</xsl:template>
이 자연스럽게 재귀 :
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<reporting:root xmlns:reporting="http://www.xyzcorp.net/reporting">
<reporting:default0 reporting:type="Portfolio">
<reporting:header>
<reporting:configuration>
<reporting:columns>
<reporting:column reporting:group="instrument" reporting:name="Ident" reporting:tag="ident" reporting:type="int"/>
<reporting:column reporting:group="prices" reporting:name="Last (Time)" reporting:tag="lastTime" reporting:type="string"/>
<reporting:column reporting:group="noGroup" reporting:name="RIC" reporting:tag="ric" reporting:type="string"/>
<reporting:column reporting:group="instrument" reporting:name="Reference" reporting:tag="reference" reporting:type="string"/>
<reporting:column reporting:group="result" reporting:name="Currency" reporting:tag="currency" reporting:type="string"/>
</reporting:columns>
</reporting:configuration>
</reporting:header>
<reporting:window reporting:Id="36674" reporting:level="0" reporting:name="MY_PORTFOLIO" reporting:parentId="11991">
<reporting:folio>
<reporting:folioid>1234</reporting:folioid>
<reporting:folio>
<reporting:folioid>9876</reporting:folioid>
<reporting:line reporting:Id="67520135" reporting:level="1" reporting:name="INTERNATIONAL BUSINESS MACHINES CORP" reporting:parentId="36674" reporting:positionType="0">
<reporting:ident>643633</reporting:ident>
<reporting:reference>IBM.USD</reporting:reference>
<reporting:currency>USD</reporting:currency>
</reporting:line>
<reporting:line reporting:Id="67520179" reporting:level="1" reporting:name="GENERAL ELECTRIC CO" reporting:parentId="36674" reporting:positionType="0">
<reporting:ident>643635</reporting:ident>
<reporting:ric>GE.N</reporting:ric>
<reporting:reference>GE.USD</reporting:reference>
<reporting:currency>USD</reporting:currency>
</reporting:line>
</reporting:folio>
</reporting:folio>
</reporting:window>
</reporting:default0>
</reporting:root>
http://stackoverflow.com/questions/9890097/how-do-you-find-the-deepest-node-steps-xpath-php-xml와 비슷합니다. 'Folio'노드로 제한하기 위해 조금만 조정하면됩니다. – PinnyM