麻烦各位GG,帮看看,该XML如何用xslt模板转换
yxceo 2006-05-31 10:14:15 xml原文件
<黑社会>
<机密档案>
<档案 id="大D">
<三围>25</三围>
<三围>26</三围>
<话事人>no</话事人>
</档案>
<档案 id="邓伯">
<三围>33</三围>
<三围>36</三围>
<话事人>no</话事人>
</档案>
</机密档案>
<骨干成员 id="大D">
<年龄>36</年龄>
</骨干成员>
<骨干成员 id="邓伯">
<年龄>66</年龄>
</骨干成员>
</黑社会>
我的XSL
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<黑社会>
<xsl:apply-templates></xsl:apply-templates>
</黑社会>
</xsl:template>
<xsl:template match="骨干成员">
<xsl:element name="骨干" >
<xsl:attribute name = "id">
<xsl:value-of select="@id"/>
</xsl:attribute>
<xsl:copy-of select="年龄"></xsl:copy-of>
<xsl:copy-of select="//档案[@id='{@id}']/三围"></xsl:copy-of>
<xsl:copy-of select="//档案[@id='{@id}']/话事人"></xsl:copy-of>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
目标xml文件
<黑社会>
<骨干 id="大D">
<年龄>36</年龄>
<三围>25</三围>
<三围>26</三围>
<话事人>no</话事人>
</骨干成员>
<骨干 id="邓伯">
<年龄>36</年龄>
<三围>33</三围>
<三围>36</三围>
<话事人>yes</话事人>
</骨干成员>
</黑社会>
问题
<xsl:copy-of select="//档案[@id='{@id}']/三围"></xsl:copy-of>
<xsl:copy-of select="//档案[@id='{@id}']/话事人"></xsl:copy-of>
两句应该怎么写