让我用简单的例子来解释我的问题......
的example.xml
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="example.xsl"?>
<ex>True</ex>
和我的example.xsl
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="html" indent="yes" doctype-system="about:legacy:compat"/>
<xsl:template match="/">
<html>
<head>
<title>Title</title>
<link rel="stylesheet" type="text/css" href="a.css"/>
<link rel="stylesheet" type="text/css" href="b.css"/>
</head>
<body>
<h1>will get red color from a.css</h1>
<h2>will get blue color from b.css</h2>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
当我在浏览器上打开xml文件时,两个标题h1和h2正好红色和蓝色,
但每次刷新后<h2></h2>
文字有时都是蓝色,有时是黑色......
谁能让我知道这个问题?
答案 0 :(得分:0)
您的XSLT代码没有任何问题。输入XML或CSS文件没有任何问题。我能想到你描述的行为的唯一原因是b.css
不再可用。
这是我用Firefox获得的输出,即使我刷新,蓝色字体也会保留。
编辑:内部CSS样式可能有所帮助,而不是从外部文件引用它们。
下面的样式表与您的样式表基本相同,只是CSS是内部的。这可能会降低CSS文件无法使用的可能性。
<强>样式表强>
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="html" indent="yes" doctype-system="about:legacy:compat"/>
<xsl:template match="/">
<html>
<head>
<title>Title</title>
<style type="text/css">
h1 {color:red;}
h2 {color:blue;}
</style>
</head>
<body>
<h1>will get red color from a.css</h1>
<h2>will get blue color from b.css</h2>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<强>输出强>