2011-12-01 30 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,不客气! –