html - 使用 XSLT 重现 XML 转换中的所有属性

标签 html xml xslt xpath

我尝试使用 XSLT 将 XML 转换为 XHTML。 提供的 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>
...

关于重现所有单元格属性有什么想法吗?

最佳答案

使用:

<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>

关于html - 使用 XSLT 重现 XML 转换中的所有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8347138/

相关文章:

java - JAX-RS:从具有声明的抽象返回类型的方法返回具体类实例

java - XML 节点替换失败

xslt - 如何在一个 xsl 文件中删除和添加命名空间

javascript - 选择两个具有相同名称、id、值的单选按钮

html - 表格宽度大于 100% 时的 float 栏

javascript - 如何在 ReactJS 中验证输入类型 ="number"?

html - 溢出, float ,高度困惑

xml - 如何确定 Powershell 中的 XML 类型?

android - 菜单项被添加到组外

c++ - 哪个 C++ XSLT 处理器?