comparison software/eXist/webapp/mpdl/attribute-query-result.xql @ 15:e99964f390e4

diverse Fehlerbehebungen
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Mon, 29 Aug 2011 17:40:19 +0200
parents d6f528ad5d96
children 7e883ce72fec
comparison
equal deleted inserted replaced
14:5df60f24e997 15:e99964f390e4
170 170
171 let $pageResult := 171 let $pageResult :=
172 for $elem at $pos in $orderedAttrQueryResult 172 for $elem at $pos in $orderedAttrQueryResult
173 let $doc := $elem/fn:root() 173 let $doc := $elem/fn:root()
174 let $documentUriOrig := document-uri($doc) 174 let $documentUriOrig := document-uri($doc)
175 let $documentName := util:document-name($doc)
176 let $documentCollection := replace(string($documentUriOrig), "(.+)/.+xml", "$1")
175 let $documentUri := substring-after($documentUriOrig, $docPath) 177 let $documentUri := substring-after($documentUriOrig, $docPath)
176 let $documentUriWithoutExtension := substring-before($documentUri, ".") 178 let $documentUriWithoutExtension := substring-before($documentUri, ".")
179 (: let $lastModified := replace(substring-before(string(xmldb:last-modified($documentCollection, $documentName)), "."), "T", " ") :)
180 let $lastModified := substring-before(string(xmldb:last-modified($documentCollection, $documentName)), ".")
177 let $docBase := substring-before(substring-after($documentUri, "/"), "/") 181 let $docBase := substring-before(substring-after($documentUri, "/"), "/")
178 let $metadata := mpdl-lucene:getMetadata($docBase, $doc) 182 let $metadata := mpdl-lucene:getMetadata($docBase, $doc)
179 (: Performance: following is slow: why (would be better structured code) ? 183 (: Performance: following is slow: why (would be better structured code) ?
180 let $attrAuthorStr := mpdl-lucene:getElemNameByAttr($docBase, "author") 184 let $attrAuthorStr := mpdl-lucene:getElemNameByAttr($docBase, "author")
181 let $author := mpdl-lucene:getElemDynamic($metadataElem, $attrAuthorStr) 185 let $author := mpdl-lucene:getElemDynamic($metadataElem, $attrAuthorStr)
182 :) 186 :)
183 let $authorElems := mpdl-lucene:getElementsByAttr($metadata, $docBase, "author") 187 let $authorElems := mpdl-lucene:getElementsByAttr($metadata, $docBase, "author")
184 let $titleElems := mpdl-lucene:getElementsByAttr($metadata, $docBase, "title") 188 let $titleElems := mpdl-lucene:getElementsByAttr($metadata, $docBase, "title")
185 let $placeElems := mpdl-lucene:getElementsByAttr($metadata, $docBase, "place") 189 let $placeElems := mpdl-lucene:getElementsByAttr($metadata, $docBase, "place")
186 let $dateElems := mpdl-lucene:getElementsByAttr($metadata, $docBase, "date") 190 let $dateElems := mpdl-lucene:getElementsByAttr($metadata, $docBase, "date")
191 let $langElems := mpdl-lucene:getElementsByAttr($metadata, $docBase, "language")
187 let $authors := string-join($authorElems, ', ') 192 let $authors := string-join($authorElems, ', ')
188 let $titles := string-join($titleElems, ', ') 193 let $titles := string-join($titleElems, ', ')
189 let $places := string-join($placeElems, ', ') 194 let $places := string-join($placeElems, ', ')
190 let $dates := string-join($dateElems, ', ') 195 let $dates := string-join($dateElems, ', ')
196 let $langs := string-join($langElems, ', ')
191 let $resultElem := 197 let $resultElem :=
192 <tr> 198 <tr>
193 <td valign="top" style="padding-left:5px;">{$pos}.</td> 199 <td valign="top" style="padding-left:5px;">{$pos}.</td>
194 <td align="middle" valign="top" style="padding-left:7px;"><a href="interface/echo/echoDocuView.xql?document={$documentUri}"><img src="images/book.png" width="15" height="15" border="0"/></a> </td> 200 <td align="middle" valign="top" style="padding-left:7px;"><a href="interface/echo/echoDocuView.xql?document={$documentUri}"><img src="images/book.png" width="15" height="15" border="0"/></a> </td>
195 <td align="middle" valign="top" style="padding-left:7px;"><a href="page-query-result.xql?document={$documentUri}&amp;mode={$mode}{$queryUrlPart}"><img src="images/book.png" width="15" height="15" border="0"/></a> </td> 201 <td align="middle" valign="top" style="padding-left:7px;"><a href="page-query-result.xql?document={$documentUri}&amp;mode={$mode}{$queryUrlPart}"><img src="images/book.png" width="15" height="15" border="0"/></a> </td>
198 <td align="middle" valign="top"><a href="getDoc?doc={$documentUriWithoutExtension}.html" target="_blank"><img src="images/download.png" width="15" height="15" border="0" alt="Download"/></a></td> 204 <td align="middle" valign="top"><a href="getDoc?doc={$documentUriWithoutExtension}.html" target="_blank"><img src="images/download.png" width="15" height="15" border="0" alt="Download"/></a></td>
199 <td valign="top" style="padding-left:5px;"><i>{$authors}</i></td> 205 <td valign="top" style="padding-left:5px;"><i>{$authors}</i></td>
200 <td valign="top" style="padding-left:5px;">{$titles}</td> 206 <td valign="top" style="padding-left:5px;">{$titles}</td>
201 <td valign="top" style="padding-left:5px;">{$places}</td> 207 <td valign="top" style="padding-left:5px;">{$places}</td>
202 <td valign="top" style="padding-left:5px;">{$dates}</td> 208 <td valign="top" style="padding-left:5px;">{$dates}</td>
209 <td valign="top" style="padding-left:5px;">{$langs}</td>
210 <td valign="top" style="padding-left:5px;">{$docBase}</td>
211 <td valign="top" style="padding-left:5px;">{$lastModified}</td>
203 </tr> 212 </tr>
204 where $pos >= $positionFrom and $pos <= $positionTo 213 where $pos >= $positionFrom and $pos <= $positionTo
205 return $resultElem 214 return $resultElem
206 215
207 let $docBases := string-join($docbase, ';') 216 let $docBases := string-join($docbase, ';')
300 <col width="3%"/> 309 <col width="3%"/>
301 <col width="3%"/> 310 <col width="3%"/>
302 <col width="3%"/> 311 <col width="3%"/>
303 <col width="3%"/> 312 <col width="3%"/>
304 <col width="15%"/> 313 <col width="15%"/>
305 <col width="42%"/> 314 <col width="35%"/>
306 <col width="15%"/> 315 <col width="5%"/>
307 <col width="6%"/> 316 <col width="6%"/>
317 <col width="3%"/>
318 <col width="3%"/>
319 <col width="3%"/>
308 </colgroup> 320 </colgroup>
309 <thead> 321 <thead>
310 <tr> 322 <tr>
311 <th align="left" valign="top"> 323 <th align="left" valign="top">
312 <button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">No.</button> 324 <button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">No.</button>
313 </th> 325 </th>
314 <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Full view</button></th> 326 <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Full view</button></th>
315 <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Lite view</button></th> 327 <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Lite view</button></th>
316 <th align="left" valign="top"><button id="dummy" name="order-by" value="author" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Xml</button></th> 328 <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Xml</button></th>
317 <th align="left" valign="top"><button id="dummy" name="order-by" value="author" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Pdf</button></th> 329 <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Pdf</button></th>
318 <th align="left" valign="top"><button id="dummy" name="order-by" value="author" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Html</button></th> 330 <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Html</button></th>
319 <th align="left" valign="top"> 331 <th align="left" valign="top">
320 <button name="order-by" value="author" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Author</button> 332 <button name="order-by" value="author" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Author</button>
321 </th> 333 </th>
322 <th align="left" valign="top"> 334 <th align="left" valign="top">
323 <button name="order-by" value="title" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Title</button> 335 <button name="order-by" value="title" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Title</button>
326 <button name="order-by" value="place" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Place</button> 338 <button name="order-by" value="place" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Place</button>
327 </th> 339 </th>
328 <th align="left" valign="top"> 340 <th align="left" valign="top">
329 <button name="order-by" value="date" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Year</button> 341 <button name="order-by" value="date" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Year</button>
330 </th> 342 </th>
343 <th align="left" valign="top">
344 <button name="order-by" value="language" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Language</button>
345 </th>
346 <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Schema</button></th>
347 <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Last modified</button></th>
331 </tr> 348 </tr>
332 </thead> 349 </thead>
333 <tbody> 350 <tbody>
334 <tr/> 351 <tr/>
335 {$pageResult} 352 {$pageResult}