0
I는 다음과 같습니다 일부 XML이 :선택 노드
입니다<root>
<node id="2_1" name="FOO" />
<node id="2_2" class="child" />
<node id="2_3" class="child" />
<node id="2_4" class="child" />
<node id="3_1" name="BAR" />
<node id="3_2" class="child" />
<node id="3_3" class="child" />
<node id="3_4" class="child" />
</root>
하는 child
의 부모 노드 id
항상 같은 접두사를 공유하지만 _1
로 끝나고을 모든 자식 노드 접미사는 2에서 시작하여 증가합니다.
I과 유사한 출력을 생성하기 위해 노력하고있어 : 내가 그룹을 얻기 위해이 XSLT를
<groups>
<group id="2_1">
<child id="2_2" />
<child id="2_3" />
<child id="2_4" />
</group>
<group id="3_1">
<child id="3_2" />
<child id="3_3" />
<child id="3_4" />
</group>
</groups>
을하지만 아이들을 선택하는 방법을 확실 해요 :
<xsl:template match="/">
<groups>
<xsl:for-each select="/root/node[@name]">
<group>
<xsl:attribute name="id">
<xsl:value-of select="@id" />
</xsl:attribute>
</group>
</xsl:for-each>
</groups>
</xsl:template>
암의 I를 이게 올바른 방향으로가는거야? 매개 변수를 허용하는 템플릿이 필요하다고 생각하지만 현재 매개 변수의 값을 id
값으로 지정하는 방법을 잘 모르겠습니다.
이것은 그룹 문제입니다. XSLT 1.0 또는 XSLT 2.0을 사용하는지 여부는 일반적으로 그룹별로 다르게 처리되므로 말할 수 있습니까? 감사! –
@TimC Windows 7에서 MXSML 6.0을 사용하고 있습니다. IIRC는 XSLT 1.0입니까? – ThunderFrame
여기에서 시작하십시오 : http://www.jenitennison.com/xslt/grouping/muenchian.html 힌트 :'substring-before (@id, '_')'를 키 표현식으로 사용하십시오. –