그런데 사실 나는 그 일 것이라고 생각하지 않았다 그러나 작동하는 것 같다 않습니다
이 예 입력 XML에 대한
:
<root>
<item/>
<item>
<item/>
</item>
<item/>
<item/>
<item/>
</root>
및 변환 테스트하려면이 XSLT를 사용하여 :
을
<xsl:stylesheet version="2.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="/">
<result>
<xsl:apply-templates/>
</result>
</xsl:template>
<xsl:template match="item">
<xsl:variable name="currItem">
<xsl:number count="item" level="multiple"/>
</xsl:variable>
<item numer="{$currItem+1}"/>
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>
당신은 그것을 달성 할 수 있습니다. $ currItem + 1이 초기화가 일어나는 부분입니다.
그래서 결과는 다음과 같습니다
<?xml version="1.0" encoding="UTF-8"?>
<result>
<item numer="2"/>
<item numer="3"/>
<item numer="3.1"/>
<item numer="4"/>
<item numer="5"/>
<item numer="6"/>
</result>
감사
답장을 보내 주셔서 대단히 감사합니다.하지만 슬프게도 현재 XSLT 2.0 만 인식하는 AltovaXML이 붙어 있습니다. XSLT 2.0 엔진을 사용하여이를 달성 할 수있는 방법이 있습니까? – Vlax
XSLT 3.0이 XSLT 2.0에서 새로운 속성을 도입 할 필요성을 느꼈을 때 특정 정수 값으로 시작하는 숫자를 쉽게 만들 수있는 기능은 없다고 생각합니다. 변수에 xsl : number 결과를 저장하고 그 구성 요소를 조작하려고 시도합니다. xsl : 변수> '. –
나는 정직하게 너와 같은 생각을했는데, 그 결과를 토큰 화하는 문자열 결과로 바이올린을 써야했지만, 내 대답은 더 단순 해 보였다. 경우에 따라 작동하지 않을 수있는 것이 있으면 알려주십시오. 어쨌든 감사합니다. 감사합니다. – Vlax