从XML内容生成静态HTML站点

时间:2010-05-17 15:47:05

标签: python html xml ajax xslt

我有一个XML格式的长文档,我需要从中生成静态HTML页面(通过CD分发)。我知道(在不同程度上)JavaScript,PHP和Python。我考虑过的当前选项列在这里:

  • 我不排除JavaScript,因此一种选择是使用ajax将XML内容动态加载到HTML页面中。 编辑:我会在此选项中使用jQuery。

  • 了解一些基本的XSLT并以这种方式生成HTML到正确的规范。

  • 使用PHP生成网站(例如),然后生成静态网站。

  • 编写一个脚本(例如Python)将XML转换为HTML。这类似于XSLT选项,但无需学习XSLT。

有用的信息:

  • XML可能会在某些时候发生变化,因此我希望能够轻松地重新生成该网站。

  • 我必须制作一些跳转文档的菜单(因此我需要制作某种内容索引)。

我想知道是否有人有任何我没有想过的更好的想法。如果没有,我希望你告诉我哪些选项似乎最明智。我想我知道我要做什么,但我想要第二个意见。感谢。

4 个答案:

答案 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中)为您创建缓存文件。