XSL分类节点在属性中使用属性



我想按位置/或首先在ID值的XML文档中排列"数字"的值并显示。有没有办法做到这一点。

这是我的XML文档

<?xml version="1.0" encoding="UTF-8"?>
<JobList>
<Job ID="2" />                this is position 1
<Job ID="3" />                this is position 2
<Job ID="5" />                this is position 3
<Job ID="4" />                this is position 4
<Tool number="10" />
<Tool number="24" />
<Tool number="28" />
<Tool number="75" />
</JobList>

所需结果:

<?xml version="1.0" encoding="UTF-8"?>
<JobList>
<Job ID="2" />               
<Job ID="3" />               
<Job ID="5" />                
<Job ID="4" />               
<Tool number="28" />
<Tool number="10" />
<Tool number="24" />
<Tool number="75" />
</JobList>

这是我的XSL文档:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsl:stylesheet version="1.0"    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" encoding="UTF-8" method="xml" />
<xsl:param name="REPORT">joblist</xsl:param>
<xsl:param name="LOCALE">en-US</xsl:param>
<xsl:param name="FORMAT">html</xsl:param>
<xsl:param name="CAPTURE">example,job</xsl:param>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <title>Joblist Report</title>
    <style type="text/css">
    body {font-family: Arial;}
    </style>
    </head>
  <body>
    <xsl:apply-templates />
  </body>
</html>
 </xsl:template>
 <xsl:template match="JobList">
 <div>
  <table width="100" border="1">
    <thead>
      <tr>
        <td>
          <xsl:value-of select="Sorted Numbers" />
        </td>
      </tr>
    </thead>
    <tbody>
        <xsl:variable name="vsortOrder" select="//Job[@ID]" />
        <xsl:for-each select="Tool">                      
        <xsl:sort select="@number" order="{$vsortOrder}" data-type="number" />
      <tr>
        <td>
            <xsl:value-of select="@number" />
        </td>
      </tr>
      </xsl:for-each>
    </tbody>
  </table>
</div>
  </xsl:template>
  </xsl:stylesheet>

尝试创建包含以下身份模板的XSLT文件。然后使用您的输入文件运行。这将创建输出XML。然后给我们一个摘要,其中包含您正在使用的一些节点;像乔布里斯特,工具和工作一样。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" method="xml" version="1.0" omit-xml-declaration="no"/>
    <xsl:template match="node()|@*">
        <xsl:copy>
            <xsl:apply-templates select="node()|@*"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>   

相关内容

  • 没有找到相关文章

最新更新