避免使用xslt命名空间

时间:2015-11-17 13:46:17

标签: java xml xslt

我正在尝试避免(为了创建新的HTML文件)我的输入文件中的命名空间。 我的xslt文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 exclude-result-prefixes="import_lc_iss">
<xsl:template match="/">
  <html>
  <body>
    <h2>Recieved Message </h2>
    <table border="1">
       <tr >
        <th>Entity</th>
        <th>Reference Number</th>
        <th>Transaction Date</th>
      </tr>
        <tr>
           <td><xsl:value-of select="/header/entity"/></td>
           <td><xsl:value-of select="/header/reference_no"/></td>
           <td><xsl:value-of select="/header/transaction_date"/></td>
        </tr>
    </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

我的xml输入如下所示:

  <?xml version="1.0" encoding="UTF-8"?>
    <import_lc_iss xmlns="interface.nicom.allnett">
    <header direction="Outgoing" send_date="2015-09-10T19:25:24+03:00">
    <entity>001</entity>
    <customer id="11111111-1"/>
    <deal_no/>
    <identity deal_type="01" step="ISS" step_no="0"/>
    <reference_no>LCI00000000042</reference_no>
    <transaction_date>2015-09-10T19:25:14+03:00</transaction_date>
    </header>
    </import_lc_iss> 

为了检索实体标签内的内容。我试图跳过nsame空间。我尝试添加到样式表

排除-结果前缀= “import_lc_iss”

但它不起作用。 有什么想法如何获得价值?

提前致谢

1 个答案:

答案 0 :(得分:1)

要使用命名空间,而不是避免使用。并exclude-result-prefixes不起作用。尝试:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ns1="interface.nicom.allnett"
exclude-result-prefixes="ns1">

<xsl:template match="/ns1:import_lc_iss">
  <html>
  <body>
    <h2>Recieved Message </h2>
    <table border="1">
       <tr >
        <th>Entity</th>
        <th>Reference Number</th>
        <th>Transaction Date</th>
      </tr>
        <tr>
           <td><xsl:value-of select="ns1:header/ns1:entity"/></td>
           <td><xsl:value-of select="ns1:header/ns1:reference_no"/></td>
           <td><xsl:value-of select="ns1:header/ns1:transaction_date"/></td>
        </tr>
    </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>