2011-12-01 35 views
3

我嘗試使用XSLT將XML轉換爲XHTML。 提供的XML代碼包含表,帶屬性的,我有重現:使用XSLT重現XML轉換中的所有屬性

XML代碼:

... 
<table> 
    <tr> 
    <td width="70" valign="middle" align="center"> 
     Hi 
    </td> 
    <td width="95" valign="middle" align="center"> 
     Ho 
    </td> 
    <td width="130" valign="middle" align="center"> 
     Hu 
    </td> 
    </tr> 
    <tr> 
    <td width="70" valign="middle" align="center" class="text1"> 
     hihihi 
    </td> 
    <td width="95" valign="middle" align="right" class="text1"> 
     hohoho 
    </td> 
    <td width="130" valign="middle" align="center" class="text1"> 
     huhuhu 
    </td> 
    </tr> 
</table> 
... 

現在,我使用XSL代碼:

... 
<xsl:template match="table"> 
<table><xsl:apply-templates /></table> 
</xsl:template> 

<xsl:template match="tr"> 
<tr><xsl:apply-templates /></tr> 
</xsl:template> 

<xsl:template match="td"> 
<td><xsl:apply-templates /></td> 
</xsl:template> 
... 

任何想法有關複製所有單元格屬性?

回答

3

用途:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="xml" indent="yes"/> 

    <xsl:template match="table | tr | td"> 
    <xsl:copy> 
     <xsl:apply-templates select="@* | node()"/> 
    </xsl:copy> 
    </xsl:template> 

    <xsl:template match="@*"> 
    <xsl:copy> 
     <xsl:apply-templates select="@*"/> 
    </xsl:copy> 
    </xsl:template> 

</xsl:stylesheet> 
+0

完美!謝謝。 – user1076149

+0

@ user1076149,不客氣! –