XSLT 中 document() 函数的作用是用来访问扩展XML文档中的节点。
它的语法是 node-set document(object,node-set?)
参数 object (必须): 定义一个链接到XML文档的URI;
参数 node-set (可选):用于解释相对URI。
但在使用中却发现它在 IE 与 Firefox 上有不兼容的问题,object 参数在 IE 中是以 XML 文件为当前路径,但 Firefox 却是以该 XSLT 文件做为当前路径。
我的测试环境是:IE 6.0 (MSXML 3.0) 、Firefox 2.0、XSLT v2.0。
这里是测试的文件:下载
把 books.xml 跟 index.xml 放在同一目录下,index.xml 可以正常显示,FF 下不行。把 books.xml 与 index.xslt 放同一目录在 FF 下可正常显示,IE 不行。
目前能想到的解决方案是把 books.xml 存两份或者把 index.xml 、books.xml 和 index.xslt 放同一目录下,另外就是将文件放到网站目录下以链接的形式读取,不过感觉这些都不够优雅。