跳转至内容

XRX/XRX 应用程序服务器

来自维基教科书,开放的书籍,开放的世界
< XRX

XRX 作为应用程序服务器

[编辑 | 编辑源代码]

XQuery 除了是一种查询语言,也是一种转换语言。它的原始名称是“Quilt”,反映了它将不同部分的(XML)内容编织在一起的能力。

这意味着它擅长从数据存储中查询 XML 数据,并将数据转换为 XHTML 网页。任何支持 XQuery 的 XML 数据存储,只要接受 HTTP 请求,就可以与您的 Web 浏览器通信,并向它发送一个任意复杂、有效的 (X)HTML 文档。

以下是一个简短的示例,说明 XQuery 如何将 XML 数据库记录转换为有效的 HTML

 <customer>
   <name>bob</name>
   <orders>
     <order qty="1">Jumbo Can SPAM</order>
   </orders>
 </customer>

可以“转换为” HTML

 <div id='cust'> <b>bob</b> 
   Orders:
   <ul>
     <li>Jumbo Can SPAM (1)</li>
   </ul>
 </div>

使用 XQuery,例如(未经测试)

 let $customer := //customer[name='bob']
 return
 <div id='cust'> <b>{$customer/name/text()}</b>
   Orders:
   <ul>
   {
     for $o in $customer/orders/order
     return <li>{$o/text()} ({$o/@qty})</li>
   }
   </ul>
 </div>

许多免费和商业的 XQuery 支持数据库可用。其中包括:BaseX、DB2、eXist、MarkLogic、Oracle 和 xHive。BaseX 和 eXist 是免费的,MarkLogic(也许还有其他一些)有免费的社区版本。许多(如果不是所有)都支持 HTTP 请求,因此可以用作 Web/应用程序服务器。

BaseX

BaseX 既是一个轻量级、高性能且可扩展的 XML 数据库,也是一个 XQuery 3.1 处理器,完全支持 W3C 更新和全文扩展。它专注于存储、查询和可视化大型 XML 和 JSON 文档和集合。一个可视化前端允许用户实时交互式地探索数据和评估 XQuery 表达式。BaseX 是平台独立的,并在免费的 BSD 许可下分发。(来自他们的网站)

它还具有独立模式和 Web 服务器模式。

eXist

尽管 eXist 数据库最初创建只是为了像传统数据库一样简单地存储 XML 数据,但添加到 eXist 中的丰富 REST 接口已将其转变为 Web 服务器。eXist 数据库现在能够提供一套丰富的功能,这些功能仅在其他应用程序服务器中可用。剩下的问题是应用程序开发标准,这些标准将允许大量开发 XRX 应用程序的人员共同协作。

MarkLogic

MarkLogic 也许是目前最强大的 XML 数据管理产品。它将 XML/XQuery 与文本索引和检索、地理空间、警报以及企业级可扩展性和性能相结合。

xHive(或 xDB)

xHive 是一款最先进的原生 XML 数据库,支持 XQuery,具有事务控制、广泛的索引功能和顶级可扩展性。

DB2、Oracle、PostgreSQL

DB2、Oracle 和 PostgreSQL 通过将 XML 作为大型 CLOB 字段来支持 XML,并支持对这些数据进行 XQuery 查询。PostgreSQL 目前只支持 XPath(作为 XQuery 的子集)。它检查输入值的有效性,并有支持函数来对其执行类型安全的运算。

XRX 应用程序服务器愿景

[编辑 | 编辑源代码]

现在可以设置 XRX 应用程序服务器以允许安装各种相互协作的应用程序。


返回:XRX 的优势下一步:构建您的第一个 XRX 应用程序

华夏公益教科书