2016-09-27 110 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的樣子)。