如果XML是本地的并且XSL在远程服务器上,IE9和Chrome不会使用XSL
发布时间:2020-12-16 07:48:57 所属栏目:百科 来源:网络整理
导读:我有以下 XML: ?xml version="1.0"??xml-stylesheet type="text/xsl" href="http://www.test.com/AuditTrail.xsl"? 和XSL: ?xml version="1.0" encoding="ISO-8859-1"?xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" htm
我有以下
XML:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://www.test.com/AuditTrail.xsl"?> 和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> 这在IE8中工作正常,但在IE9或Chrome中没有.我已经读过,如果XML源文件在本地机器上,IE9似乎禁止从远程服务器加载XSL.
这在本地工作吗?我不这么认为,因为XML和XSLT都有一些错误.
Chrome会阻止本地XML和XSLT处理!这是一个问题,或者出于安全原因禁用它.看看这个Chrome Bug Report的一些解决方法. IE9禁用了本地XML和远程XSLT混合的支持.还出于安全考虑! (我没有链接) 您的XML需要至少有一个根元素: <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://www.test.com/AuditTrail.xsl"?> <hello/> 并且您的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> 通过此更正,此示例适用于IE8和Firefox.在Chrome中,XML和XSLT需要位于Web服务器上.在IE9中,两者都需要在网络服务器上或本地存储(没有混合). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |