这种转变:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/*">
<xsl:apply-templates select="FAMS[1]"/>
<xsl:apply-templates select="FAMC[1]"/>
</xsl:template>
<xsl:template match="FAMS|FAMC">
<xsl:value-of select="name()"/>: <xsl:text/>
<xsl:apply-templates select="../*[name()=name(current())]/@REF"/>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="@REF">
<xsl:if test="not(position() =1)">, </xsl:if>
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>
当应用于提供的(并更正为格式良好的)XML 文档时:
<Person ID="1234">
<NAME>Louis //</NAME>
<SEX>M</SEX>
<BIRT>
<DATE>15 SEP 1980</DATE>
<PLAC>UK</PLAC>
</BIRT>
<FAMS REF="F523"/>
<FAMS REF="F524"/>
<FAMC REF="F521"/>
</Person>
产生想要的正确结果:
FAMS: F523, F524
FAMC: F521