2011-02-06 77 views
1


我想构建一个网站,服务非常简单:它获取一个文档作为输入,并试图用它保留在数据库中的每个单词替换它的每个单词字。用XML构建一个动态网站

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

我想这样做在XML的方式,也就是说,在底部有一个XML本地数据库,并且有一个XQuery引擎的中间层,处理请求和选举。

然而,问题是,虽然我读过许多有关这些产品,同时还实施了一些代码,我没有从那里我应该开始任何头绪。

我的意思是,我不知道应该怎样向用户显示的,以及我如何传递的形式在服务器端的XQuery引擎,以及我怎样的XQuery连接到数据库。

+1

我认为这属于http://webmasters.stackexchange.com/ – 2011-02-06 18:09:35

+0

在这样的论坛中回答如此广泛的问题是非常困难的。可能会有很多制约因素影响您对技术和应用程序体系结构的选择(例如,项目时间表,预算,目标吞吐量和可用性,可用的技能和资源),并且很难说出您应该做出什么样的选择了解这些因素。 – 2011-02-06 19:27:16

+0

这不是一个很好的问题,因为它有点像一个学生要求某人为他们做功课。 – 2011-02-07 04:49:42

回答

2

您需要三个组件;

  1. 的XML数据库/ XQuery处理。
  2. 一个Web服务器。
  3. 一种脚本语言。

例子

  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。

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

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

以前我用过;

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

and;

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

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

-4

我认为这woild是SOOO sloooowww ....(我可能是错的,但我从来没有听说过任何生产就绪的XML数据库)。

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