我想构建一个网站,服务非常简单:它将文档作为输入,并尝试用它保存在数据库中的单词替换它的每个单词。
它还有一个论坛,人们可以在这个论坛上投票支持等价物,这些投票构成了主要服务的基础。
我想以XML方式实现,这意味着底层有一个XML本机数据库,中间层有一个XQuery引擎,处理请求和选举。
然而,问题在于虽然我已经阅读了很多关于这些产品的内容,并且还实现了一些代码,但我没有任何关于我应该从哪里开始的线索。
我的意思是我不知道应该向用户显示什么,以及如何将表单传递给服务器端的XQuery引擎,以及如何将XQuery连接到数据库。
答案 0 :(得分:2)
您需要三个组件;
<强>实施例强>
XML数据库/处理器:您可以简单地将XML数据作为纯文本文件存储在磁盘上,在这种情况下,您只需要一个XML处理器,例如。撒克逊-HE。对于小于1mb的数据,这绝对是好的。超过1mb你可能需要一个组合的xquery处理器和XML数据库,例如。 Saxon-PE,eXist DB,BaseX或Qizx。这个wiki页面列出了主要的页面。
Web服务器:您正在创建一个网站,因此您需要一个Web服务器,例如。 Apache,IIS或Nginx。在此上下文中,Web服务器接受来自Web浏览器的HTTP请求,然后调用脚本语言引擎,该引擎又调用xquery处理器。然后,Web服务器将HTTP响应返回给浏览器。
将所有内容绑定在一起的脚本语言,例如。 PHP,ASP或PERL。
我目前正在使用这种组合;
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废话吗?为什么不传统的关系数据库?可能是键值数据库?