我有一个XML格式的长文档,我需要从中生成静态HTML页面(通过CD分发)。我知道(在不同程度上)JavaScript,PHP和Python。我考虑过的当前选项列在这里:
我不排除JavaScript,因此一种选择是使用ajax将XML内容动态加载到HTML页面中。 编辑:我会在此选项中使用jQuery。
了解一些基本的XSLT并以这种方式生成HTML到正确的规范。
使用PHP生成网站(例如),然后生成静态网站。
编写一个脚本(例如Python)将XML转换为HTML。这类似于XSLT选项,但无需学习XSLT。
有用的信息:
XML可能会在某些时候发生变化,因此我希望能够轻松地重新生成该网站。
我必须制作一些跳转文档的菜单(因此我需要制作某种内容索引)。
我想知道是否有人有任何我没有想过的更好的想法。如果没有,我希望你告诉我哪些选项似乎最明智。我想我知道我要做什么,但我想要第二个意见。感谢。
答案 0 :(得分:4)
我认为XSLT是迄今为止最容易和最好的方法 - 甚至考虑到必须学习xslt。
有几种样式的xslt编程,但最简单的是“推送处理”,在这里您可以编写几个模板来描述如何将xml输入转换为html输出。然后编写一个根模板,输出基本的html包装器并调用其他模板。根 模板很简单:
<xsl:template match="/" > <!-- "/" matches the document root -->
<html> <!-- whatever is not in xsl: namespace is template output -->
<head><title>...</title></head>
<body>
<xsl:apply-templates /> <!-- this searches for and calls additional template matches -->
</body>
</html>
</xsl:template>
答案 1 :(得分:2)
我会使用XSLT选项,通过参数控制,如果需要,可以从同一XML源生成不同的页面。它实际上是用于XML转换的工具。
答案 2 :(得分:1)
我会选择PHP选项。原因是,当XML更改您的网站内容时,“应该”自动更改,而无需您触摸您的PHP代码。
创建一个Python脚本来生成大量静态页面对我来说似乎是一个坏主意,使用javascript你会遇到跨浏览器的麻烦(除非你使用的是框架)。
使用服务器端语言来完成这些任务,这就是它们的用途。
答案 3 :(得分:0)
选择你最满意的。
如果它很简单,您可以使用(例如)php生成页面,然后使用命令行脚本(在python或php中)为您创建缓存文件。