新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国XML论坛<<     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 讨论HTML、XHTML、Web2.0、Ajax、XUL, ExtJS, jQuery, JSON、Social Networking System(SNS)、Rich Internet Applications (RIA)、Tagging System、Taxonomy(tagsonomy,folkonomy)、XForms、XFrames、XInclude, XBL (XML Binding Language)等话题
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』 → [翻译]Xindice的FAQ 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 14061 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [翻译]Xindice的FAQ 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     tkdd 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:9
      积分:113
      门派:XML.ORG.CN
      注册:2005/10/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给tkdd发送一个短消息 把tkdd加入好友 查看tkdd的个人资料 搜索tkdd在『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』的所有贴子 引用回复这个贴子 回复这个贴子 查看tkdd的博客楼主
    发贴心情 [翻译]Xindice的FAQ

    在试用Xindice的过程中,把一个20m的文件存入Xindice,服务器就报错了,查了Xindice的FAQ,才知道原来是Xindice对大的XML文件的支持不是很好

    以下是草译的Xindice FAQ,原文地址是:
    http://xml.apache.org/xindice/faq.html

    1,  Xindice是什么?
         Xindice是一个开源的原生(Native)XML数据库。它存储并索引压缩的XML文档,使可以用较小的服务器端代价来为客户端程序提供数据。Xindice同时也提供面向XML数据的独有功能,这些功能往往由关系型数据库较难实现。
    2,  Xindice不是什么?
         Xindice不是一个持久化的DOM实现。Xindice不是用来存储和管理单个的超大文档的,在这里,一个文档被看作是一组迷你文档的集合。Xindice是专门为管理大量的中小型文档而设计的。
    3,  为什么不使用关系型数据库?
        XML文档是以树型结构组织的。关系型数据库以一种扁平的,表格方式组织数据,它使用关系连接来揭示数据之间的层次约束。虽然从关系数据库将数据映射到XML中非常容易,但是很不幸,将XML中的数据映射到关系数据库中是意想不到的复杂,而且随意性很高,往往会带来语义的损耗。
    4,  为什么不使用一个对象数据库?
         对象数据库和它所服务的应用是紧密耦合的,一般不被考虑用来做c/s架构应用的数据库。特别是,它所管理的对象往往只能被创建这个对象的程序语言所反串行化。当对象数据库可以将一些类似于DOM Tree的对象图持久化时,一个庞大的XML文件所产生的众多的对象就会成为一个严重的性能和资源的瓶颈(While object graphs like DOM trees can be persisted in object databases, the number of objects that are produced for a large collection of XML documents can become a serious performance and resource bottleneck.)
    5,  为什么不使用一个全文检索引擎?
         全文检索引擎对于一组文档的大范围查询是非常快速而有效的。在XML应用中使用全文检索的缺点是创建一个逆序的索引会使你丧失文档的上下文,它需要大量的后续处理来将正在操作的文档节点独立出来。Xindice提供了有效的元素和属性值索引,此外还可以管理和返回聚合后的文档片断。
    6,  支持什么查询语言?
         Xindice支持XPath和XUpdate。XPath是W3C的标准XML路径语言,是一种非常强大的从文档集合中查询节点集的语言。XUpdate是XML:DB Initiative的更新语言,是一种符合XPath标准定义的,具有比较灵活的更新文档集合的能力的语言。
    7,  你的XPath实现是否是完全兼容的?
         我们所采用的XPath实现是Apache软件基金的Xalan库。Xindice提供了索引机制和查询优化功能以增加集合级别的XPath查询的表现,但是Xalan对查询具有最终解释权。(but Xalan ultimately has the final say in any query.)
    8,  我应该使用哪一个版本的JDK?
         我们推荐使用Sun的SDK for Java 1.4或者1.3。Xindice不支持SDK 1.2或更早的版本。当使用1.3的时候,注意1.3.1在一些Linux版本上存在一些已知的问题,但是1.3.0和1.4.2应该没有问题。
    9,  XML:DB API少了一些接口,我应该怎么做?
         XML:DB API是XML:DB Initiative设计的,所以它的接口和类由他们预先定义。如果你有任何问题或者希望可以帮助增加定义一些XML数据库的标准接口,请访问http://xmldb-org.sourceforge.net
    10, 我的5兆大的文件把命令行窗口崩溃了,怎么办?
         回顾一下问题2,Xindice不使为管理大型文档设计的,相反,它是为管理中小型文档的集合而设计的。最好的办法是重新审视一下你的5兆大的文档,然后决定将它分割为一系列的小文档的集合是否是一个可以考虑的方案。如果是这样的话,你可以将分割的文档抽取出来,一个一个地存入Xindice集合。下面是一个非常大型的文档:
           <cars>
             <car>
              <make>Boyoda</make>
              <model>Cordova</model>
              <year>1989</year>
             </car>
             <car>
              <make>Frod</make>
              <model>Tortorus</model>
              <year>1990</year>
             </car>
             ...
           </cars>
    在这里把它分成一个一个的<car/>文档而不是一个巨大的<cars/>文档看来更为合理
    11,XML解析器冲突
            org/w3c/dom/DOMException
              at org.Xindice.xml.dom.NodeImpl.<clinit>(NodeImpl.java:86)
              at java.lang.Class.forName0(Native Method)
              at java.lang.Class.forName(Class.java:120)
              at org.apache.xerces.parsers.DOMParser.setDocumentClassNa
        这是一个经常容易碰到的错误,常常是由于你的CLASSPATH里面有多个版本的Xerces XML解析器造成的。在运行Xindice和其它客户端程序之前,确保Xindice所提供的Xerces.jar被放在了CLASSPATH的最前面
    12,我的数据库在哪里?
        从Xindice1.1开始,数据库开始运行在一个应用服务器下。数据库的配置是在[your webapps directory]/xindice/WEB-INF/system.xml(假设你的war包已经被容器解压缩)
    Xindice的配置默认使用“./db”作为数据库的位置,这是相对于web应用的 /WEB-INF位置,这意味着通常数据库位于[your webapps directory]/xindice/WEB-INF/db。
    这可以通过两种方式被改写:编辑/WEB-INF/system.xml并设置一个绝对路径作为”root-collection”标签的”dbroot”属性,或者设置”Xindice.db.home”的java属性中”./db”的父目录。举例来说,通过命令行设置属性值(-Dxindice.db.home=/var/xindice)意味着数据库将会保存在/var/xindice/db。


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/12/5 22:49:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/6 14:05:58

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    62.500ms