我有以下XML:靶向屬性在XSL轉換
<Head>
<Group1>
<Ref>
<RefType>ABC123</RefType>
<RefIdentifier>123456789</RefIdentifier>
<RefDate>2013-11-30</RefDate>
</Ref>
</Group1>
<Group2>
<UOM>
<UOMType>XYZ789</UOMType>
<UOMIdentifier>BlahBlah</UOMIdentifier>
</UOM>
</Group2>
<Group3>
<Rec>
<RecType>XYZ789</RecType>
<RecIdentifier>HalbHalb</RecIdentifier>
</Rec>
</Group3>
</Head>
,我需要轉換爲:
<Head>
<Ref>
<Identifier type="ABC123">123456789</Identifier>
<RefDate>2013-11-30</RefDate>
</Ref>
<UOM>
<Identifier type="XYZ789">BlahBlah</Identifier>
</UOM>
<Rec>
<Identifier type="XYZ789">HalbHalb</Identifier>
</Rec>
</Head>
使用XSLT。到目前爲止,我有以下幾點:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates select="/Head"/>
</xsl:template>
<xsl:template match="Head">
<Head>
<xsl:for-each select="Group1/Ref">
<Ref>
<Identifier><xsl:value-of select="RefIdentifier"/></Identifier>
<RefDate><xsl:value-of select="RefDate"/></RefDate>
</Ref>
</xsl:for-each>
<xsl:for-each select="Group2/UOM">
<UOM>
<Identifier><xsl:value-of select="UOMIdentifier"/></Identifier>
</UOM>
</xsl:for-each>
<xsl:for-each select="Group3/Rec">
<Rec>
<Identifier><xsl:value-of select="RecIdentifier"/></Identifier>
</Rec>
</xsl:for-each>
</Head>
</xsl:template>
</xsl:stylesheet>
這給了我
<Head>
<Ref>
<Identifier>123456789</Identifier>
<RefDate>2013-11-30</RefDate>
</Ref>
<UOM>
<Identifier>BlahBlah</Identifier>
</UOM>
<Rec>
<Identifier>HalbHalb</Identifier>
</Rec>
</Head>
,但我不知道如何在「標識」標籤的「類型」屬性,其價值爲參考,UOM和Rec標籤。我怎樣才能做到這一點?
看起來您的標題不正確:您正嘗試使用XSLT轉換XML而不是XSL。此外,標題應該更加具體:使用XSLT轉換XML是一個整體類型的問題。 – LarsH
P.S.歡迎來到stackoverflow。 :-) – LarsH