2016-09-27 109 views
0

我应该指出,虽然我知道我的XQuery方法,XML XSLT等等。我是一个eXist-db的完全新手。Exist-DB将遗留应用程序从1.4升级到2.2

我正在查看旧的eXist-db应用程序,应用程序的查询存储在文件结构中。我已经成功地将数据库从1.4转换到了2.2,并且复制了包含XQuery和样式的文件夹,最后我还修复了一些XQuery怪异(特别是使用request:get-parameter现在返回xs:string *而不是xs:串)。所以不再会出现编译/运行时错误。

但是,我在挣扎的是,它似乎在1.4中的网络服务器做了一些它在2.2中没有做的变换。所以浏览1.4应用程序时,我得到如下回应:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html xmlns:sidebar="http://exist-db.org/NS/sidebar" xmlns:exist="http://exist.sourceforge.net/NS/exist"> 
<head> 
<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title></title> 
<link href="style.css" type="text/css" rel="stylesheet"> 
</head> 
<body bgcolor="#FFFFFF"> 
<table style="border-collapse:collapse;table-layout:fixed;width:1288pt" cellspacing="0" cellpadding="0" border="0"> 
<tr> 
<td width="207" valign="top"> 
<div class="logo"> 
<span style="color:red">SABRE</span><span style="color:black">-</span><span style="color:blue">DB</span> 
</div> 
<div class="version"> 
Version: 2.5.0</div> 
<div class="dataset"></div> 
<div xmlns:fn="http://exist-db.org/local-functions" class="sidebar"></div> 
<div class="banner"> 
      <img xmlns="http://exist-db.org/NS/sidebar" xmlns:xi="http://www.w3.org/2001/XInclude" alt="powered by eXist" border="0" src="../resources/powered.gif"/> 

</div> 
<div class="authors"> 

当使用2.2版本,我得到如下:

<document xmlns:xi="http://www.w3.org/2001/XInclude"><!--<xi:include href="context::/sabredb/sabre-header.xml"/>--><version>2.5.0</version>, 
    <dataset/>, 
    <sidebar xmlns="http://exist-db.org/NS/sidebar" title="Navigation"> 
    <banner> 
      <img alt="powered by eXist" border="0" src="../resources/powered.gif"/> 
    </banner> 

</sidebar>, 
    <user>not logged in</user><body><section title="blah"><div class="panel"> 

所以在某种程度上,它不适用任何模板来生成的XML ...我认为侧边栏可能是一个1.2特定的功能..但它根本不是造型的其他节点..我错过了什么?

+0

为了扩大此事。它发现我们使用的是一个网站地图茧。茧不再是存在数据库分布的一部分,理想情况下,我想重用我们目前拥有的茧网站地图,有什么建议吗? – Jim

回答

1

eXist-db多年来一直不支持Apache Cocoon。相反,我建议您调查eXist中的URL Rewriting Framework,这将允许您执行以前使用Cocoon执行的任何操作,包括将XSLT转换应用于XQuery的结果。我也建议先从eXist-db 3.0.RC1开始,或者采取最近的每晚构建(这将非常接近eXist-db 3.0.RC2的样子)。