1
제목이 혼동을 줄 수 있습니다. 누구나 이에 대한 정확한 용어가 있다면 편집하십시오. 나는이 유사한 출력을 얻으려면XSLT의 상위 노드 그룹당
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="show.xsl"?>
<patients>
<patient>
<name>Joe</name>
<age>45</age>
<kids>
<kid>
<name>Ramsay</name>
<gender>M</gender>
</kid>
<kid>
<name>Eva</name>
<gender>F</gender>
</kid>
<kid>
<name>Arthas</name>
<gender>M</gender>
</kid>
</kids>
</patient>
<patient>
<name>Adam</name>
<age>34</age>
<kids>
<kid>
<name>Jon</name>
<gender>M</gender>
</kid>
<kid>
<name>Jane</name>
<gender>F</gender>
</kid>
<kid>
<name>Sunita</name>
<gender>F</gender>
</kid>
</kids>
</patient>
</patients>
: 나는이 같은 XML 입력 파일이
다음Name: Joe
Age: 45
Kids:
Boys:
Ramsay
Arthas
Girls:
Eva
Name: Adam
Age: 34
Kids:
Boys:
Jon
Girls:
Jane
Sunita
내가 XSL 사용하여 쓴 XSLT입니다 : 키 만은 잘못된 출력을 제공 그것은 환자를 현명하게 분류 할 수 없다.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="header" match="//kid" use="gender"/>
<xsl:template match="//patients/patient">
<xsl:value-of select="name"/>
<xsl:text xml:space="preserve">
</xsl:text>
<xsl:value-of select="age"/>
<xsl:text xml:space="preserve">
</xsl:text>
<xsl:text xml:space="preserve">Boys:
</xsl:text>
<xsl:for-each select="key('header', 'M')">
<xsl:value-of select="name"/>
<xsl:text xml:space="preserve">
</xsl:text>
</xsl:for-each>
<xsl:text xml:space="preserve">
</xsl:text>
<xsl:text xml:space="preserve">Girls:
</xsl:text>
<xsl:for-each select="key('header', 'F')">
<xsl:value-of select="name"/>
<xsl:text xml:space="preserve">
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
나는 XSLT 1.0에서 해결책을 찾고있다.
데이터에 환자의 고유 ID가 포함되어 있지 않습니까? –
이름을 고유 한 ID로 볼 수 있습니다. –