Mercurial > hg > mpdl-group
annotate software/eXist/webapp/mpdl/_stuff/oxygen-projects/monte-project/archimedes-text-fragment.xsl @ 7:5589d865af7a
Erstellung XQL/XSL Applikation
author | Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 08 Feb 2011 15:16:46 +0100 |
parents | |
children |
rev | line source |
---|---|
7
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1 <xsl:stylesheet version="1.0" |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3 xmlns:xlink="http://www.w3.org/1999/xlink"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4 |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5 <xsl:output method="html"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6 |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7 <xsl:variable name="ftQueryName" select="/result/ft-query/name"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8 <xsl:variable name="ftQueryStr" select="concat('&', 'ft-query=', $ftQueryName)"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9 <xsl:variable name="ftQueryMode"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10 <xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11 <xsl:when test="matches($ftQueryName, concat('"', '.*', '"'))"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12 <xsl:value-of select="'phrase'"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14 <xsl:when test="string-length($ftQueryName) = 0"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15 <xsl:value-of select="'false'"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17 <!-- Because there are problems in recognizing words (in mode word) this fake mode is used (same as phrase mode) --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18 <xsl:otherwise><xsl:value-of select="'fakeWord'"/></xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19 </xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20 </xsl:variable> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21 <xsl:variable name="ftQueryValue"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22 <xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23 <xsl:when test="/result/ft-query[node()]"><xsl:value-of select="$ftQueryStr"/></xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24 <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25 </xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26 </xsl:variable> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
27 |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
28 <xsl:template match="result"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
29 <html><body> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
30 <xsl:for-each select="document-description"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
31 <h2> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
32 <xsl:for-each select="info"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
33 <xsl:value-of select="author"/>. |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
34 <xsl:value-of select="title"/>. |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
35 <xsl:value-of select="place"/>, |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
36 <xsl:value-of select="date"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
37 </xsl:for-each> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
38 </h2> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
39 </xsl:for-each> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
40 <xsl:for-each select="page"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
41 <xsl:variable name="documentName" select="/result/document-description/document-name"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
42 <xsl:variable name="countPages" select="/result/document-description/count-pages"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
43 <xsl:variable name="number" select="number(number)"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
44 <xsl:variable name="documentValue" select="concat('document=', $documentName)"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
45 <xsl:variable name="pnValue" select="concat('pn=', $number)"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
46 <xsl:variable name="modeImageValue" select="concat('mode=', 'image')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
47 <xsl:variable name="modeXmlValue" select="concat('mode=', 'xml')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
48 <xsl:variable name="modeTextValue" select="concat('mode=', 'text')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
49 <xsl:variable name="imageLink" select="concat($documentValue, '&', $pnValue, '&', $modeImageValue, $ftQueryValue)"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
50 <xsl:variable name="textLink" select="concat($documentValue, '&', $pnValue, '&', $modeTextValue, $ftQueryValue)"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
51 <xsl:variable name="xmlLink" select="concat($documentValue, '&', $pnValue, '&', $modeXmlValue, $ftQueryValue)"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
52 <form action="" method="get"></form> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
53 <table width="100%"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
54 <colgroup> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
55 <col width="30%"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
56 <col width="70%"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
57 </colgroup> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
58 <tr> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
59 <td align="left" nowrap="true"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
60 [Text] |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
61 [<a href="?{$imageLink}">Image</a>] |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
62 [<a href="?{$xmlLink}">XML</a>] |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
63 </td> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
64 <td valign="right" nowrap="true"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
65 <td> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
66 <xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
67 <xsl:when test="$number > 1"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
68 <a href="?{$documentValue}&pn={$number - 1}&{$modeTextValue}{$ftQueryValue}"><img src="images/left.gif" alt="page-down" border="0"/></a> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
69 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
70 <xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
71 <a href="?{$textLink}"><img src="images/left.gif" alt="page-down" border="0"/></a> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
72 </xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
73 </xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
74 </td> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
75 <td nowrap="true"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
76 <xsl:value-of select="$number"/> / <xsl:value-of select="$countPages"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
77 </td> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
78 <td> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
79 <xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
80 <xsl:when test="$number < $countPages"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
81 <a href="?{$documentValue}&pn={$number + 1}&{$modeTextValue}{$ftQueryValue}"><img src="images/right.gif" alt="page-up" border="0"/></a> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
82 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
83 <xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
84 <a href="?{$textLink}"><img src="images/right.gif" alt="page-down" border="0"/></a> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
85 </xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
86 </xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
87 </td> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
88 <td nowrap="true"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
89 <input type="hidden" name="document" value="{$documentName}"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
90 Page: <input type="text" size="3" name="pn" value="{$number}"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
91 <input type="hidden" name="mode" value="text"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
92 <xsl:if test="/result/ft-query[node()]"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
93 <input type="hidden" name="ft-query" value="{$ftQueryName}"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
94 </xsl:if> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
95 </td> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
96 </td> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
97 </tr> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
98 </table> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
99 <hr/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
100 <table align="middle" width="100%"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
101 <colgroup> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
102 <col width="70%"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
103 <col width="30%"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
104 </colgroup> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
105 <tr> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
106 <td align="left" valign="top"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
107 <xsl:for-each select="content"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
108 <xsl:apply-templates/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
109 </xsl:for-each> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
110 </td> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
111 <xsl:if test="$ftQueryValue!=''"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
112 <td align="left" valign="top"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
113 <b><xsl:value-of select="/result/ft-query/result/size"/> Hits: "<xsl:value-of select="$ftQueryName"/>"</b> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
114 <ol> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
115 <xsl:for-each select="/result/ft-query/result/hits/hit"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
116 <li> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
117 <xsl:variable name="hitPN" select="pn"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
118 <xsl:variable name="hitPosOfS" select="pos-of-s"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
119 <a href="?{$documentValue}&pn={$hitPN}&{$modeTextValue}{$ftQueryValue}">Page <xsl:value-of select="$hitPN"/>, Sentence <xsl:value-of select="$hitPosOfS"/></a> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
120 </li> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
121 </xsl:for-each> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
122 </ol> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
123 </td> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
124 </xsl:if> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
125 </tr> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
126 </table> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
127 <hr/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
128 Elapsed time: <xsl:value-of select="/result/document-description/performance"/> ms, Back to <a href="query.xql">query page</a>, see the <a href="page-query-result.xql?_source=yes">XQuery source</a> and <a href="/exist/rest/db/xsl/archimedes-text-fragment.xsl?_source=yes">XSL source</a> of this page |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
129 <br/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
130 [<a href="page-query-result.xql?{$textLink}">fast mechanism (file system search)</a>] [<a href="page-query-result-old.xql?{$textLink}">slower mechanism (XQL search)</a>] |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
131 </xsl:for-each> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
132 </body></html> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
133 </xsl:template> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
134 |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
135 <xsl:template match="chap|p"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
136 <p><xsl:apply-templates/></p> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
137 </xsl:template> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
138 |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
139 <xsl:template match="lb"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
140 <br/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
141 </xsl:template> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
142 |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
143 <xsl:template match="expan"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
144 <xsl:apply-templates/><xsl:text> </xsl:text> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
145 </xsl:template> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
146 |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
147 <xsl:variable name="firstFigurePosition" select="/result/page/firstFigurePosition"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
148 |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
149 <xsl:template match="figure"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
150 <xsl:variable name="figurePos" select="count(preceding::figure)"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
151 <xsl:variable name="figureId" select="$firstFigurePosition + $figurePos"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
152 <xsl:variable name="documentName" select="/result/document-description/document-name"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
153 <!-- delivers all fileds from 021/01/001/1.jpg --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
154 <xsl:variable name="figureLink" select="@xlink:href"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
155 <xsl:variable name="docId" select="substring-before($figureLink, '/')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
156 <xsl:variable name="figureLinkAfter1" select="substring-after($figureLink, '/')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
157 <xsl:variable name="docId2" select="substring-before($figureLinkAfter1, '/')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
158 <xsl:variable name="figureLinkAfter2" select="substring-after($figureLinkAfter1, '/')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
159 <xsl:variable name="page" select="substring-before($figureLinkAfter2, '/')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
160 <xsl:variable name="figureFileName" select="substring-after($figureLinkAfter2, '/')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
161 <p></p> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
162 <a href="http://echo.mpiwg-berlin.mpg.de/zogilib?fn=/permanent/archimedes/{$documentName}/{$docId}-{$docId2}-figures&pn={$figureId}"><img alt="figure: {$figureId}" src="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler?fn=/permanent/archimedes/{$documentName}/{$docId}-{$docId2}-figures&pn={$figureId}&dh=150" align="middle" border="1"/></a> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
163 <p></p> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
164 Figure: <xsl:value-of select="$figureId"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
165 <p></p> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
166 </xsl:template> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
167 |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
168 <!-- Highlight all term occurrences for the fulltext query. It recognizes all text nodes and then does the highlighting --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
169 <xsl:template match="text()"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
170 <xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
171 <xsl:when test="$ftQueryMode != 'false'"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
172 <xsl:variable name="queryExpr" select="$ftQueryName"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
173 <xsl:call-template name="highlightQueryTerms"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
174 <xsl:with-param name="elemTextContent" select="."/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
175 <xsl:with-param name="queryExprStr" select="$queryExpr"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
176 <xsl:with-param name="mode" select="$ftQueryMode"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
177 </xsl:call-template> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
178 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
179 <xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
180 <xsl:value-of select="."/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
181 </xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
182 </xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
183 </xsl:template> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
184 |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
185 <!-- Highlight term occurrences in one text node. It recognizes the first occorrence in a text node and then does |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
186 this template recursive with the first substring before the first term cut off --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
187 <xsl:template name="highlightQueryTerms"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
188 <xsl:param name="elemTextContent"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
189 <xsl:param name="queryExprStr"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
190 <xsl:param name="mode"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
191 <!-- Translation from Lucene fulltext query to text query --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
192 <xsl:variable name="textQuery"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
193 <xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
194 <xsl:when test="$mode = 'phrase'"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
195 <xsl:value-of select="substring-before(substring-after($queryExprStr, '"'), '"')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
196 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
197 <xsl:when test="$mode = 'fakeWord'"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
198 <xsl:value-of select="$queryExprStr"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
199 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
200 <xsl:when test="$mode = 'word'"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
201 <xsl:value-of select="$queryExprStr"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
202 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
203 <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
204 </xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
205 </xsl:variable> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
206 <!-- Word delimiter --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
207 <xsl:variable name="wordDelimRegExpr" select="'[\s,:\.^ ]+'"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
208 <!-- Recognizes the beginning of the line with ^ and the substring up to the query term --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
209 <xsl:variable name="queryRegExprSubstringBefore"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
210 <xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
211 <xsl:when test="$mode = 'phrase'"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
212 <xsl:value-of select="concat('^.*?', $textQuery)"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
213 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
214 <xsl:when test="$mode = 'fakeWord'"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
215 <xsl:value-of select="concat('^.*?', $textQuery)"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
216 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
217 <xsl:when test="$mode = 'word'"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
218 <xsl:value-of select="concat('^.*?', $wordDelimRegExpr, $textQuery, '(', $wordDelimRegExpr, ')')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
219 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
220 <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
221 </xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
222 </xsl:variable> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
223 <!-- Recognizes the substring after the query term --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
224 <xsl:variable name="queryRegExprSubstringAfter"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
225 <xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
226 <xsl:when test="$mode = 'phrase'"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
227 <xsl:value-of select="concat($textQuery, '.*')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
228 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
229 <xsl:when test="$mode = 'fakeWord'"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
230 <xsl:value-of select="concat($textQuery, '.*')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
231 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
232 <xsl:when test="$mode = 'word'"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
233 <xsl:value-of select="concat('(', $wordDelimRegExpr, ')', $textQuery, $wordDelimRegExpr, '.*')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
234 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
235 <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
236 </xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
237 </xsl:variable> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
238 <!-- Deletes the substring up to the query term --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
239 <xsl:variable name="substringBefore" select="replace($elemTextContent, $queryRegExprSubstringAfter, '$1', 'i')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
240 <!-- Deletes the substring after the query term --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
241 <xsl:variable name="substringAfter" select="replace($elemTextContent, $queryRegExprSubstringBefore, '$1', 'i')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
242 <xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
243 <xsl:when test="matches($elemTextContent, $queryRegExprSubstringBefore, 'i')"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
244 <!-- Prints the original part of the substring up to the first occurrence of the query term --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
245 <xsl:value-of select="$substringBefore"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
246 <!-- Highlight the query term --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
247 <xsl:variable name="matchQueryTermRegExpr"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
248 <xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
249 <xsl:when test="$mode = 'phrase'"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
250 <xsl:value-of select="concat('^.*?', '(', $textQuery, ')', '.*')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
251 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
252 <xsl:when test="$mode = 'fakeWord'"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
253 <xsl:value-of select="concat('^.*?', '(', $textQuery, ')', '.*')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
254 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
255 <xsl:when test="$mode = 'word'"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
256 <xsl:value-of select="concat('^.*?', $wordDelimRegExpr, '(', $textQuery, ')', $wordDelimRegExpr, '.*')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
257 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
258 <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
259 </xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
260 </xsl:variable> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
261 <xsl:variable name="matchQueryTerm" select="replace($elemTextContent, $matchQueryTermRegExpr, '$1', 'i')"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
262 <span style="background-color: yellow;"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
263 <xsl:value-of select="$matchQueryTerm"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
264 </span> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
265 <!-- Recursive call of this template with the substring after the first occurrence of the term: further occurrences of the query |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
266 term --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
267 <xsl:call-template name="highlightQueryTerms"> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
268 <xsl:with-param name="elemTextContent" select="$substringAfter"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
269 <xsl:with-param name="queryExprStr" select="$queryExprStr"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
270 <xsl:with-param name="mode" select="$mode"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
271 </xsl:call-template> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
272 </xsl:when> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
273 <!-- if no occurrence of the query term could be found the whole string is printed --> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
274 <xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
275 <xsl:value-of select="$elemTextContent"/> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
276 </xsl:otherwise> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
277 </xsl:choose> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
278 </xsl:template> |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
279 |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
280 |
5589d865af7a
Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
281 </xsl:stylesheet> |