使用XML构建动态Web站点

时间:2011-02-06 17:55:16

标签: xml xquery


我想构建一个网站,服务非常简单:它将文档作为输入,并尝试用它保存在数据库中的单词替换它的每个单词。

它还有一个论坛,人们可以在这个论坛上投票支持等价物,这些投票构成了主要服务的基础。

我想以XML方式实现,这意味着底层有一个XML本机数据库,中间层有一个XQuery引擎,处理请求和选举。

然而,问题在于虽然我已经阅读了很多关于这些产品的内容,并且还实现了一些代码,但我没有任何关于我应该从哪里开始的线索。

我的意思是我不知道应该向用户显示什么,以及如何将表单传递给服务器端的XQuery引擎,以及如何将XQuery连接到数据库。

2 个答案:

答案 0 :(得分:2)

您需要三个组件;

  1. XML数据库/ xquery处理器。
  2. 网络服务器。
  3. 脚本语言。
  4. <强>实施例

    1. XML数据库/处理器:您可以简单地将XML数据作为纯文本文件存储在磁盘上,在这种情况下,您只需要一个XML处理器,例如。撒克逊-HE。对于小于1mb的数据,这绝对是好的。超过1mb你可能需要一个组合的xquery处理器和XML数据库,例如。 Saxon-PE,eXist DB,BaseX或Qizx。这个wiki页面列出了主要的页面。

    2. Web服务器:您正在创建一个网站,因此您需要一个Web服务器,例如。 Apache,IIS或Nginx。在此上下文中,Web服务器接受来自Web浏览器的HTTP请求,然后调用脚本语言引擎,该引擎又调用xquery处理器。然后,Web服务器将HTTP响应返回给浏览器。

    3. 将所有内容绑定在一起的脚本语言,例如。 PHP,ASP或PERL。

    4. 我目前正在使用这种组合;

        XML Processor:  Saxon-HE
        Web server:     Nginx
        Scripting:      PHP
      

      过去我曾经使用过;

        XML DB & processor: BaseX
        Web server:         IIS
        Scripting:          PHP
      

        XML DB & processor: eXist DB
        Web server:         IIS
        Scripting:          ASP
      

      最棘手的一点是如何让您选择的脚本语言调用您选择的xquery处理器。

答案 1 :(得分:-4)

我认为它太棒了......(我可能错了,但我从来没有听说过任何可用于生产的xml数据库)。

三思:你真的需要所有这些xml废话吗?为什么不传统的关系数据库?可能是键值数据库?