我正在尝试避免(为了创建新的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”
但它不起作用。 有什么想法如何获得价值?
提前致谢
答案 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>