Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用XML构建动态网站_Xml_Xquery - Fatal编程技术网

用XML构建动态网站

用XML构建动态网站,xml,xquery,Xml,Xquery,我想建立一个网站,这个服务非常简单:它获取一个文档作为输入,并尝试用它保存在数据库中的某个单词替换它的每个单词 它也有一个论坛,人们可以在其中投票给等价物,这些投票构成了主要服务的基础 我想用XML方式来做,这意味着在底部有一个XML原生数据库,中间层有一个XQuery引擎,处理请求和选举。 然而,问题是,尽管我读了很多关于这些产品的书,也实现了一些代码,但我不知道从哪里开始 我的意思是,我不知道应该向用户显示什么,不知道如何将表单传递到服务器端的XQuery引擎,也不知道如何将XQuery连接


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

它也有一个论坛,人们可以在其中投票给等价物,这些投票构成了主要服务的基础

我想用XML方式来做,这意味着在底部有一个XML原生数据库,中间层有一个XQuery引擎,处理请求和选举。 然而,问题是,尽管我读了很多关于这些产品的书,也实现了一些代码,但我不知道从哪里开始


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

我认为这很简单。。。。(我可能错了,但我从未听说过任何可用于生产的xml数据库)


三思:您真的需要这些xml垃圾吗?为什么不是传统的关系数据库?可能是键值数据库?

您需要三个组件

  • XML数据库/xquery处理器
  • 网络服务器
  • 一种脚本语言
  • 示例

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

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

  • 一种脚本语言,用于将所有内容(如PHP、ASP或PERL)连接在一起

  • 我目前正在使用这个组合

    XML Processor: Saxon-HE Web server: Nginx Scripting: PHP XML处理器:Saxon-HE 网络服务器:Nginx 脚本:PHP 在过去我用过

    XML DB & processor: BaseX Web server: IIS Scripting: PHP xmldb&处理器:BaseX Web服务器:IIS 脚本:PHP 及

    XML数据库和处理器:eXist数据库 Web服务器:IIS 脚本:ASP
    最棘手的一点是如何让您选择的脚本语言调用您选择的xquery处理器。

    我认为这属于它。在这样一个论坛上很难回答如此广泛的问题。可能会有许多限制因素影响您对技术和应用程序体系结构的选择(例如,项目时间表、预算、目标吞吐量和可用性、您可用的技能和资源),在不了解这些因素的情况下,很难说你应该做出什么选择。这不是一个很好的问题,因为这有点像是一个学生要求别人为他们做作业。嗯,我是一个学生,但这个问题与家庭作业或类似的事情没有任何关系。问题是,正如我之前所说,我在所有这些技术方面都有一些经验,但我不知道全局是什么。我用PHP和MySql设计了两个网站,但用XML方法实现这一点对我来说是个神话。如果你从来没有听说过可用于生产的XML数据库,那么你只是在表示你的无知。MarkLogic是一个高性能、高规模的XML文档数据库。Alejandro和Mike说得很对。你的问题的答案是,对于关系数据库和XML数据库,web开发没有完美的解决方案。如果您的数据可以在XML文件中更好地表达,那么您应该考虑以XML为导向的技术来实现整个过程。当一种可能性肯定是有一个关系数据库,用XML在上面构建一切,并且在它们之间有某种“转换器”时,这显然会使一切变慢,这是不自然的。您可能希望使用一个完整的XML数据库解决方案,就像我对BaseX所做的那样。XQuery everywhere和RESTXQ构建Web应用程序。我想ExistDB也可以做同样的事情。 XML DB & processor: eXist DB Web server: IIS Scripting: ASP