我正在使用带有“PURE JAVASCRIPT”的 Fusion Chart,但具有我们想要在客户端的导出功能。所以 FusionChart 在客户端提供图表的 SVG 或 VML。我们希望将此 VML 或 SVG 合并到 XML 文件与 XSLT 样式表。所以到目前为止,我们希望将导出到 XML 功能引入我们的应用程序。
现在的问题是 SVG 只能被 Mozilla、chrome 理解,而对于 IE,它提供了 VML。所以客户端将获得包含 SVG 和 VML 的通用文件,但问题是 XSLT 中没有检测浏览器类型和版本的意思。我使用了 IE 条件注释,但它在 chrome、mozilla 中不起作用,并且不起作用在 IE 中。即使使用 javascript 也不起作用,我会想要 XSLT 变量中的 javascript 变量值,这将是不可行的,因为 XML 先于 javascript 呈现,所以我无法为所有浏览器提供通用 XML+XSLT 代码。因为我们想要将独立的 XML 提供给包含数据 + 图像的客户端。
对此的任何帮助将不胜感激。
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="#stylesheet"?>
<!DOCTYPE doc [
<!ATTLIST xsl:stylesheet id ID #REQUIRED>]>
<doc>
<xsl:stylesheet id="stylesheet" version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="xsl:stylesheet" />
<xsl:template match="/doc">
<html>
<head>
<style>
body{
font-family: Arial, Verdana,Helvetica, sans-serif;
}
table{
font-size: 11px;
}
th{
background-color:#D1D2D4;
}
</style>
</head>
<body>
<br />
<!-- detect browser here for getting SVG or VML if Mozilla,chrome then SVG->
<svg xmlns="http://www.w3.org/2000/svg"........> </svg>
<!-- If IE <=8 then VML -->
<br/>
<table border="2" cellspacing="1" width="86%">
<tr>
<th>Category</th>
<th>Hits</th>
<th>Bytes</th>
</tr>
<tr>
<td>IPAddress</td>
<td>1818</td>
<td>747.32 MB</td>
</tr>
<tr>
<td>None</td>
<td>1523</td>
<td>27.82 MB</td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
</doc>
谢谢,阿莎科什蒂