我有一个包含xhtml片段的xsl文件。我需要删除它,以便它与浏览器兼容。我试过但它停止工作。这是原始的xsl:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:html="http://www.w3.org/1999/xhtml">
<xsl:output omit-xml-declaration="yes" />
<xsl:template match="messages">
<html:ul>
<xsl:apply-templates select="message" />
</html:ul>
</xsl:template>
<xsl:template match="message[message]">
<html:li>message <xsl:value-of select="@emp_msg" /></html:li>
<html:ul>
<xsl:apply-templates select="message" />
</html:ul>
</xsl:template>
<xsl:template match="message">
<html:li>message <xsl:value-of select="@emp_msg" /></html:li>
<xsl:apply-templates select="message" />
</xsl:template>
</xsl:stylesheet>
我尝试以这种方式删除xhtml片段,但它停止工作&amp;打印,'没有样式信息'。我做错了什么:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" />
<xsl:template match="messages">
<ul>
<xsl:apply-templates select="message" />
</ul>
</xsl:template>
<xsl:template match="message[message]">
<li>message <xsl:value-of select="@emp_msg" /></li>
<ul>
<xsl:apply-templates select="message" />
</ul>
</xsl:template>
<xsl:template match="message">
<li>message <xsl:value-of select="@emp_msg" /></li>
<xsl:apply-templates select="message" />
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:0)
我看到你有:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
尝试修复语法!
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
答案 1 :(得分:0)
如果您发布的示例是正确的,那么您遗漏了>
元素的开始标记的<xsl:stylesheet>
。需要说
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
请注意,Stack Overflow的语法突出显示有助于使其更加明显。
更新:好的...鉴于此,如果你还没有吉姆加里森所说的那样做,但是如果原件工作正常,你必须已经有了。
如果要通过HTTP检索XML源文件的内容类型,也可以尝试确保XML源文件的内容类型是XML。并尝试使用
<xsl:output method="html" />
(可能是omit-xml-declaration="yes"
)。
答案 2 :(得分:0)
要在浏览器中工作,您必须在XML文档的开头包含样式表链接Processing Instruction,如:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="myStyleSheet.xsl"?>
<rootOfXmlDocument>
....
href=
属性必须以浏览器可以解析它的方式指向样式表(即它必须是浏览器可以获取的URL)。