XML
<?xml version="1.0" encoding="UTF-8"?>
<!-- Edited by XMLSpy -->
<h:catalog xmlns:h="http://www.w3.org/TR/html4/">
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</h:catalog>
XSLT:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:h="http://www.w3.org/TR/html4/">
<xsl:template match="/h:catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="country"/></td>
</tr>
</xsl:template>
</xsl:stylesheet>
我期待以上转换的输出,但我没有 *需要你的帮助以下面的格式显示,由于名称空间子元素*
而苦苦挣扎预期输出:
<tr xmlns:h="http://www.w3.org/TR/html4/">
<td>Empire Burlesque</td>
<td>USA</td>
</tr>
这只是我给出的查询的一个例子:我如何转换子元素,其父元素具有命名空间?例如:
<app:ApplicationRequest xmlns:app="http://*/applicationRequest">
<BusinessChannel>
<!-- SOME STUFF -->
</BusinessChannel>
</app:ApplicationRequest>.
我需要使用
显示BusinessChannel的内容 <xsl:template match="/app:ApplicationRequest/BusinessChannel">
但它没有用。
答案 0 :(得分:0)
如果你想匹配一个忽略其命名空间的元素,如here所述,你必须使用local-name()
,所以在你的情况下:
<xsl:template match="/app:ApplicationRequest/*[local-name()='BusinessChannel']">