关于客户端 XSL 转换

来源:互联网 发布:锐捷网络路由器设置 编辑:程序博客网 时间:2024/06/06 01:02

您还可以在客户端执行 XSL 转换,而无需使用应用程序服务器。您可以使用 Dreamweaver 创建整个 XSLT 页面来执行此转换;但客户端转换要求对包含所要显示的数据的 XML 文件进行操作。此外,客户端转换只适用于新型浏览器(Internet Explorer 6、Netscape 8、Mozilla 1.8 和 Firefox 1.0.2)。有关支持和不支持 XSL 转换的浏览器的更多信息,请参见 www.w3schools.com/xsl/xsl_browsers.asp。

先创建整个 XSLT 页面并附加 XML 数据源。(创建新页面时,Dreamweaver 会提示您附加数据源。)可以使用 Dreamweaver 从头创建 XSLT 页面,或者将现有 HTML 页面转换为 XSLT 页面。当您将现有 HTML 页面转换为 XSLT 页面时,必须使用"绑定"面板("窗口">"绑定")附加 XML 数据源。

创建 XSLT 页面后,必须通过在 XML 文件本身中插入对 XSLT 页面的引用(与在 HTML 页面的 <head> 部分中插入对外部 CSS 样式表的引用非常类似),将该页面链接到包含 XML 数据的 XML 文件。站点访问者必须在浏览器中查看 XML 文件(而不是 XSLT 页面)。当站点访问者查看页面时,浏览器执行 XSL 转换,并显示由链接的 XSLT 页面进行格式设置的 XML 数据。

链接的 XSLT 和 XML 页面之间的关系在概念上相似,但不同于外部 CSS/HTML 页面模型。当您拥有一个包含内容(如文本)的 HTML 页面时,可以使用外部样式表对该内容进行格式设置。HTML 页面将决定内容,而用户看不到的外部 CSS 代码则决定表现形式。而对于 XSLT 和 XML,情况相反。XML 文件(用户从未看到它的原始形式)决定内容,而 XSLT 页面决定表现形式。XSLT 页面包含标准 HTML 通常包含的表格、布局和图形等。当用户在浏览器中查看 XML 文件时,XSLT 页面将对内容进行格式设置。



在使用 Dreamweaver 将 XSLT 页面链接到 XML 页面时,Dreamweaver 会在 XML 页面顶部为您插入相应的代码。如果您拥有要链接的 XML 页面(也就是说,如果 XML 文件存在于您的 Web 服务器上),则只需使用 Dreamweaver 插入用于链接这两个页面的相应代码。当您拥有 XML 文件时,客户端所执行的 XSL 转换完全是动态的。也就是说,每当您更新 XML 文件中的数据时,使用链接的 XSLT 页面的任何 HTML 输出都将用新信息自动进行更新。

注意

 

用于客户端转换的 XML 和 XSL 文件必须位于相同的目录中。否则,浏览器将读取 XML 文件并查找用于转换的 XSLT 页面,但无法找到 XSLT 页面中的相对链接所定义的资源(样式表、图像等)。

如果您不具有要链接的 XML 页面(例如,如果要使用来自 Web 上的其他地方的 RSS 源的 XML 数据),则工作流程将稍微复杂一点。要使用来自外部源的 XML 数据执行客户端转换,必须首先将 XML 源文件下载到 XSLT 页面所在的同一目录。在 XML 页面位于本地站点之后,可以使用 Dreamweaver 添加相应代码,以将 XML 页面链接到 XSLT 页面,然后将这两个页面(下载的 XML 文件和链接的 XSLT 页面)都发送给 Web 服务器。当用户在浏览器中查看 XML 页面时,XSLT 页面将对内容进行格式设置,如上例所述。

对来自外部源的 XML 数据执行客户端 XSL 转换的缺点是:XML 数据只有部分是"动态的"。您下载和更改的 XML 文件仅是位于 Web 中其他位置上的文件的一个"快照"。如果不在 Web 上的原始 XML 文件发生更改,则必须再次下载文件,将其链接到 XSLT 页面,并重新将 XML 文件发送给 Web 服务器。浏览器只呈现它从 Web 服务器上的 XML 文件接收的数据,而不呈现原始 XML 源文件包含的数据。

有关创建客户端 XSL 转换的过程,请参见在客户端执行 XSL 转换。

相关主题

  • 关于在 Web 页面中使用 XML 和 XSL
  • 关于服务器端 XSL 转换
  • 关于预览 XML 数据
  • 将样式应用于 XSLT 片断

原创粉丝点击