WEB开发网
开发学院WEB开发Xml 查询 XML 数据库外的 XML 文档 阅读

查询 XML 数据库外的 XML 文档

 2010-10-22 17:19:23 来源:WEB开发网   
核心提示: 当您使用 Saxon XQuery 处理程序代替一个 XML 数据库时,XQJ 命名有点令人迷惑,查询 XML 数据库外的 XML 文档(4),使用 Saxon,您并非实际建立一个连接,如果您的程序非常依赖 XQuery 或 XSLT 等 XML 技术,而且 Java 代码只是黏合剂,相反,您是

当您使用 Saxon XQuery 处理程序代替一个 XML 数据库时,XQJ 命名有点令人迷惑。使用 Saxon,您并非实际建立一个连接。相反,您是在调用一个处理程序。清单 2 展示了使用 Saxon API 调用 XQuery 代码的另一种方法。

清单 2. 使用 Saxon 来运行 XQuery 代码

protected void doGet(HttpServletRequest request, 
    HttpServletResponse response) throws ServletException, 
    IOException { 
  try { 
    Processor processor = new Processor(false); 
    XQueryCompiler compiler = processor.newXQueryCompiler(); 
    Serializer serializer = new Serializer(); 
    serializer.setOutputStream(response.getOutputStream()); 
    InputStream inputStream = 
      this.getClass().getResourceAsStream("simple.xqy"); 
    XQueryExecutable executable = compiler.compile(inputStream); 
    XQueryEvaluator evaluator = executable.load(); 
    evaluator.setDestination(serializer); 
    evaluator.run(); 
  } catch (SaxonApiException e) { 
    throw new ServletException(e); 
  } 
} 

Saxon API 使将多个处理程序连接到一个 XML 管道相对简单。这些处理程序可能是其他 XQuery 实现,但也可能是 XSLT 或 Java 代码。

对于本文演示的示例,这两个 APIs 同样有效。通常,如果您的程序非常依赖 Java 代码,相对于其他的 XQuery 实现,您可能更喜欢 XQJ 的语法和可移植性。相反,如果您的程序非常依赖 XQuery 或 XSLT 等 XML 技术,而且 Java 代码只是黏合剂,那么您可能更喜欢特定于 Saxon 的 API。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:查询 XML 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接