用于将任何XML转换为基于节点的许多HTML页面的通用XSLT

时间:2011-04-26 10:12:18

标签: html css xml xslt

在预先感谢,我有一个XML文件,它有许多子节点,反过来也属于..

任务是生成网页

我可以通过

生成网页
  1. 匹配模板
  2. 属性(@att)
  3. node elemants
  4. 我希望我可以使它更通用..这样它就可以循环遍历所有节点,找到属性。

    打印节点名称(作为标签名称):节点值或属性值(在文本框中)

    希望我很清楚。

1 个答案:

答案 0 :(得分:1)

您只需使用name()功能即可获取节点和属性名称。这是一个相当小的样式表,它只列出了文档中所有节点和属性的名称。原样,它不是那么有用,但应该证明原则:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <ul>
      <xsl:apply-templates />
    </ul>
  </xsl:template>

  <xsl:template match="node()[name()]">
    <li class="node">
      <xsl:value-of select="name()" />
    </li>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:template>

  <xsl:template match="@*">
    <li class="attr">
      <xsl:value-of select="name()" />
    </li>
  </xsl:template>
</xsl:stylesheet>