(转贴) 关于XML经XSL转换后输出HTML代码,而IE在查看源文件时,只是显示原始XML文件的问题!
Posted on 2008-01-30 17:07 蓝箭GZ 阅读(1045) 评论(0) 编辑 收藏 举报 近日,学习XML的XSL模板转换HTML代码时,发现从IE查看源文件时,只是显示原始XML文件代码,后终于在网上找的这个问题的描述,终明白大概意思,在DW测试时,一般都是在XML文件上,按F12通过IE来预览,由于XSL文件有分服务器解释和客户端解释,而客户端解释的问题就是如题目所写,解决的办法就是不要预览XML文件,直接预览XSL文件就可以正确后成结果,而且在IE可以查看完全的HTML代码了。
原文如下:(非常感谢作者)
关于预览 XML 数据
当您使用“在浏览器中预览”(“文件”>“在浏览器中预览”)来预览插入到 XSLT 片断或整个 XSLT 页面的 XML 数据时,执行 XSL 转换的引擎根据情况各不相同。对于包含 XSLT 片断的动态页,应用程序服务器始终执行此转换。在其它情况下,Dreamweaver 或浏览器可能会执行此转换。
下表概述了使用“在浏览器中预览”时的各种情况,以及那些执行各自的转换的引擎:
在浏览器中预览的页面的类型 |
数据转换执行者 |
---|---|
包含 XSLT 片断的动态页 |
应用程序服务器 |
XSLT 片断或整个 XSLT 页面 |
Dreamweaver |
包含指向整个 XSLT 页面的链接的 XML 文件 |
浏览器 |
以下主题提供了一些准则,可帮助您根据需要确定适当的预览方法:
预览服务器端转换的页面
如果进行服务器端转换,站点访问者最终看到的内容由应用程序服务器进行转换。创建 XSLT 和动态页以用于服务器端转换时,预览包含 XSLT 片断的动态页(而非 XSLT 片断本身)通常更可取。在前一种情形中,使用应用程序服务器可以确保您预览的内容与站点访问者在访问页面时所看到的内容一致。在后一种情形中,Dreamweaver 执行转换,并可能提供有些不一致的结果。您可以在创建 XSLT 片断时使用 Dreamweaver 预览该片断,但如果在插入 XSLT 片断之后使用应用程序服务器预览动态页,则可以看到数据呈现的最准确结果。
预览客户端转换的页面
如果进行客户端转换,站点访问者最终看到的内容由浏览器转换。通过添加一个从 XML 文件指向 XSLT 页面的链接,您可以达到此目的。如果在 Dreamweaver 中打开 XML 文件,并在浏览器中预览此文件,将强制浏览器载入 XML 文件并执行转换。这将为您提供与站点访问者相同的体验。
此方法的一个缺点是:它使您更难于调试页面,因为浏览器转换了 XML 并在内部生成了 HTML。如果选择浏览器的“查看源文件”选项调试生成的 HTML,您将只看到浏览器接收到的原始 XML,而无法看到负责呈现页面的完整 HTML(标签和样式等)。若要在查看源代码时看到完整的 HTML,则必须改为在浏览器中预览 XSLT 页面。
预览整个 XSLT 页面和 XSLT 片断
创建整个 XSLT 页面和 XSLT 片断时,您希望预览工作结果以确保正确显示数据。如果使用“在浏览器中预览”显示整个 XSLT 页面或 XSLT 片断,Dreamweaver 将使用内置转换引擎执行转换。该方法可使您快速看到结果,并使您能够更轻松地以渐进方式构建和调试页面。它还提供了一种方式,使您可通过在浏览器中选择“查看源文件”选项来查看整个 HTML(标签和样式等)。
注意 |
|
在开始创建 XSLT 页面时,不论使用客户端还是服务器来转换数据,都很可能会使用该方法。 |
原文链接:
http://www.chinaue.com/tool/dreamwear8/38_xml6.htm#wp166751