TJF*_*TJF 8 xml xslt google-chrome internet-explorer-9
我有以下XML:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://www.test.com/AuditTrail.xsl"?>
Run Code Online (Sandbox Code Playgroud)
和XSL:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<html>
<head><title>Test</title></head>
</html>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
这在IE8中工作正常,但在IE9或Chrome中没有.我已经读过,如果XML源文件在本地机器上,IE9似乎禁止从远程服务器加载XSL.有没有办法让IE9和Chrome将远程XSL文件应用到本地XML文件而不会破坏浏览器的安全设置?我们有一个桌面应用程序,可生成XML报告并在浏览器中显示它们,并使用托管在远程服务器上的样式表进行转换.
这在本地工作吗?我不这么认为,因为XML和XSLT都有一些错误.
Chrome会阻止本地XML和XSLT处理!这是一个问题,或者出于安全原因禁用它.查看此Chrome Bug报告以了解一些解决方法.
IE9禁用了本地XML和远程XSLT混合的支持.还出于安全考虑!(我没有链接)
您的XML需要至少有一个根元素:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://www.test.com/AuditTrail.xsl"?>
<hello/>
Run Code Online (Sandbox Code Playgroud)
并且您的XSLT需要一些XSLT模板:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head><title>Test</title></head>
</html>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
通过此更正,此示例适用于IE8和Firefox.
在Chrome中,XML和XSLT需要位于Web服务器上.在IE9中,两者都需要在网络服务器上或本地存储(没有混合).
归档时间: |
|
查看次数: |
16591 次 |
最近记录: |