我是xsl的新手,我正在尝试编写一个模板来将xml转换为html。
我有一个以
开头的xml文档<?xml version="1.0" encoding="UTF-8"?>
<data xmlns:autn="http://schemas.com/aci/"
xmlns="http://iptc.org/std/nar/2006-10-01/">
<name>Bob</name>
我的xsl模板开始
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:autn="http://schemas.autonomy.com/aci/">
<xsl:output method="html" omit-xml-declaration="yes"/>
<xsl:template match="/">
...
<body>
<p>user name:</p>
<p><xsl:value-of select="data/name"/></p>
问题是,如果我这样做 对于select-value,我没有得到任何回报。
如果我这样做 我得到'鲍勃',但我丢失了所有的HTML。
我错过了什么?
答案 0 :(得分:1)
您缺少XML文档的默认命名空间:
xmlns="http://iptc.org/std/nar/2006-10-01/"
也将它添加到XSLT:
<xsl:stylesheet version="1.0"
xmlns:mynamespace="http://iptc.org/std/nar/2006-10-01/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:autn="http://schemas.autonomy.com/aci/">
在xsl:value-of
:
<xsl:value-of select="mynamespace:data/mynamespace:name" />