我访问了 StarCraft2 网站并决定查看他们的源代码并看到了以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="layout/artwork.xsl"?>
<page lang="en_us">
<artwork/>
</page>
...就是这样。所以我想知道,如果只使用 2 个标签,那么使用 XSLT 有何意义?是为了混淆来源吗?
Edit:我只是想澄清一下,我并不是在问 XSLT 是如何工作的。我想问以这种方式设置页面有什么好处。在我看来,这似乎是对 XSLT 的不当使用。
[编辑] 在源 xml 中提供完整信息与在样式表中提供完整信息将是一个主观问题,这取决于系统的设计者。我们可以假设在这种情况下,那个微小的 xml 就是指示与此页面相关的信息的全部,而其余的脚手架则在导入/包含中。或者两个不同的团队正在研究页面布局内容和实际页面层次结构,让布局设计者可以在不更改 xml 的情况下更改内容,但您的猜测和我的一样好。通常,这是根据该 XML 是否会在其他地方使用,或者在可以重用 XML 的地方是否需要布局信息来设计的。如果其他地方不需要布局信息,请将其删除并将其包含在 XSLT 中,留下可在多个位置重用的更清晰的 XML。
这正在按预期工作。发生的情况是,站点正在通过第二行中的处理指令对 XML 文件执行 XSLT 转换。
<?xml-stylesheet type="text/xsl"
href="layout/artwork.xsl"?>
在客户端支持 XSLT 渲染的浏览器将获取处理指令中指定的 XSLT 文件并执行 XSLT 转换并显示输出。由于这是在运行时,因此当您“查看源代码”时,不会显示实际的结果标记,而只会显示原始源代码。
如果您加载layout/artwork.xsl 文件,您会发现在浏览器中呈现页面所需的代码就在那里。http://starcraft2.com/layout/artwork.xsl http://starcraft2.com/layout/artwork.xsl此外,artwork.xsl 再次导入另一个名为includes.xsl 的样式表 -http://starcraft2.com/layout/includes.xsl http://starcraft2.com/layout/includes.xsl- 其中包含生成将显示的内容的进一步代码。知识或意识XSLT http://www.w3schools.com/xsl/default.asp将有助于确定这些样式表的输出是什么及其工作原理。
据我所知,样式表似乎还导入外部 XML 文档,并用作生成输出的输入数据。这是对作为 XSLT 的“源”文档提供的内容的补充。在这种情况下,源非常小,大部分信息都导入到 XSLT 中。
希望我说得有道理。
谢谢,蒂亚格
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)