无法使用简单的xsl样式呈现XML

时间:2013-12-14 20:33:14

标签: xml xslt rendering

对于我的生活,我无法得到这个来生成html表格行。我得到的只是:

    <form class="paramForm" action="/api/QueryExec" method="post" name="ExecQuery">
      <table></table>
      <a id="paramSubmit" class="btn" href="#">Go</a>
    </form>

这是我的xsl:

    <?xml version="1.0" encoding="iso-8859-1" ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
    <html>
      <body>
        <form name="ExecQuery" class="paramForm" method="post" action="/api/QueryExec">
          <table>
            <xsl:apply-templates select="QUERY/PARAMLIST/PARAMETER"/>
          </table>
          <a id ="paramSubmit" class="btn" href="#">Go</a>
        </form>
      </body>
    </html>
    </xsl:template>

    <xsl:template match="QUERY/PARAMLIST/PARAMETER">
    <tr>
        <td><xsl:value-of select="LABEL"/></td>
        <td><xsl:value-of select="DATATYPE"/></td>
    </tr> 
    </xsl:template>
    </xsl:stylesheet>

和我的XML:

    <?xml version="1.0" encoding="utf-8"?>
    <QUERY>
      <QUERY_ID>46</QUERY_ID>
      <QUERY_NAME>test for xml</QUERY_NAME>
      <PARAMLIST>
         <PARAMETER>
           <NAME>:cusip</NAME>
           <LABEL>Cusip:</LABEL>
           <DATATYPE>TEXT</DATATYPE>
           <CONTROLTYPE>TEXT</CONTROLTYPE>
           <REQUIRED>N</REQUIRED>
         </PARAMETER>
         <PARAMETER>
           <NAME>:isin</NAME>
           <LABEL>Isin:</LABEL>
           <DATATYPE>TEXT</DATATYPE>
           <CONTROLTYPE>TEXT</CONTROLTYPE>
           <REQUIRED>N</REQUIRED>
           <RANGEENABLED>N</RANGEENABLED>
         </PARAMETER>
      </PARAMLIST>
    </QUERY>

我经历了大约50次迭代才能使其工作但无济于事。我尝试使用xsl:for-each,但是看到了使用apply-templates方法建议的帖子。感谢。

0 个答案:

没有答案