在我的服务器上,我在php中进行了远程XSLT转换:
$command = $java . $saxon . $target2 . ' ' . $xsl2.' '.$param;
passthru($command, $result);
$ target2是输入的SVG文件,$ xsl2是样式表,saxon是saxon8.jar文件,我用几个broswers测试过它。
在谷歌浏览器中,一切都很完美,SVG图表显示正确。
但是,我尝试在Firefox中做同样的事情(应该支持SVG图),没有显示SVG图,但只显示了SVG图的实际代码。我使用“viewsource”查看firefox中生成的SVG的第一行和最后几行,它读作:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0"
.......
</svg>
我尝试使用FireBug进行调试,并显示html
个标记,并显示head
和body
标记,是说我用HTML填充了我的SVG?
我有点被困在这里,先谢谢你们的帮助!
答案 0 :(得分:1)
答案 1 :(得分:0)
Kevin的答案在PHP中运行良好,但在PHP解释器启动之前,它可以在服务器端没有PHP的帮助下实现。
这里以Apache的httpd.conf
/ .htaccess
为例,取自HTML5BoilerPlate的Apache HTTP server boilerplate。
# ------------------------------------------------------------------------------
# | Proper MIME types for all files |
# ------------------------------------------------------------------------------
# Extension may be specified w or w/o leading dot
# http://httpd.apache.org/docs/current/mod/directive-dict.html#Syntax
<IfModule mod_mime.c>
# SVG
# Required for svg webfonts on iPad
# twitter.com/FontSquirrel/status/14855840545
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
</IfModule>