我正在学习Lynda的XML课程。 当他们尝试演示XSLT时,它在IE或Firefox中不起作用。 当我尝试在FF中查看源代码时,我注意到开始和结束标记的颜色是不同的。 XSLT属性为紫色,其结束标记为红色。我无法上传从FF捕获的图像,但我不允许上传图像。我注意到一些开关标签有不同的颜色。
<?xml version="1.0"?> <-red
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/1999/XSL/Transform"> <-red
<link<-purple rel= <-black "stylesheet"<-blue href=<-black "simpletransform.css"<-blue /><-black
<xsl:template<-purple match=<-black"/JavacoTea/"<-blue>
<html><-**red**
<head><-red
<title<-purple>New Herbal Tea Available!</title>
</head><-red
<body><-red
<img<-purple src=<-black"photos/javaco_tea_logo.gif"<-blue/><-black
<h1>**<-purple**
<xsl:value-of<-purple select=<-black"text()"<-blue /**<-red**><-black
</h1>**<-red**
</body><-red
</html>**<-purple**
</xsl:template>**<-red**
</xsl:stylesheet>**<-purple**
答案 0 :(得分:0)
这没什么奇怪的。它只是code coloring,旨在使代码更具可读性。这个网站也是这样做的:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/1999/XSL/Transform">
<link rel="stylesheet" href="simpletransform.css"/>
<xsl:template match="/JavacoTea/">
<html>
<head>
<title>New Herbal Tea Available!</title>
</head>
<body>
<img src="photos/javaco_tea_logo.gif"/>
<h1>
<xsl:value-of select="text()"/>
</h1>
<unclosed tag
</body>
</html>
</xsl:template>
</xsl:stylesheet>
当他们尝试演示XSLT时,它在IE或IE中不起作用 Firefox浏览器。
这是完全不同的事情。
FWIW,这就是您的文件在我的 Firefox中的样子:
答案 1 :(得分:0)
我认为<xsl:template match="/JavacoTea/">
是match
属性值中的语法错误,它应该是<xsl:template match="/JavacoTea">
。
你需要xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
,而不是你样本中的那个。
此外,不允许使用顶级<link rel="stylesheet" href="simpletransform.css"/>
,将其放入模板中:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/JavacoTea">
<html>
<head>
<title>New Herbal Tea Available!</title>
<link rel="stylesheet" href="simpletransform.css"/>
</head>
<body>
<img src="photos/javaco_tea_logo.gif"/>
<h1>
<xsl:value-of select="text()"/>
</h1>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
通过所有这些更正,XSLT处理器应该能够执行您的XSLT。