1 <?xml version="1.0" encoding="utf-8"?>
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3 xmlns:srw="http://www.loc.gov/zing/srw/"
4 xmlns:sru="http://docs.oasis-open.org/ns/search-ws/sruResponse"
5 xmlns:dc="http://www.loc.gov/zing/srw/dcschema/v1.0/"
6 xmlns:zr="http://explain.z3950.org/dtd/2.0/"
7 xmlns:diag="http://www.loc.gov/zing/srw/diagnostic/"
8 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
9 xmlns:bf="http://bibframe.org/vocab/"
12 <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
14 <xsl:template match="text()"/>
16 <xsl:template name="show-value">
17 <xsl:variable name="resource" select="@rdf:resource"/>
18 <xsl:variable name="nodeid" select="@rdf:nodeID"/>
20 <xsl:when test="$resource">
21 <xsl:variable name="rvalue"
22 select="//*[@rdf:about=$resource]/*[1]/text()"/>
24 <xsl:when test="$rvalue">
25 <xsl:value-of select="$rvalue"/>
29 <xsl:when test="$nodeid">
30 <xsl:variable name="rvalue"
31 select="../../..//*[@rdf:nodeID=$nodeid]/*[1]"/>
33 <xsl:when test="$rvalue">
34 <xsl:value-of select="$rvalue"/>
37 <xsl:value-of select="$nodeid"/>
44 <xsl:template match="rdf:RDF">
46 <xsl:for-each select="bf:Work[1]/bf:creator">
48 name="resource" select="@rdf:nodeID"/>
50 <td><b>Creator:</b></td>
52 <xsl:call-template name="show-value"/>
56 <xsl:for-each select="bf:Work[1]/bf:workTitle">
58 <td><b>Work Title:</b></td>
60 <xsl:call-template name="show-value"/>
64 <xsl:for-each select="bf:Instance[1]/bf:providerStatement">
66 <td><b>Date/Place:</b></td>
68 <xsl:value-of select="."/>
75 <xsl:template match="/">
76 <xsl:call-template name="html"/>
79 <xsl:template name="html">
85 <link href="css.css" rel="stylesheet"
86 type="text/css" media="screen, all"/>
90 <xsl:apply-templates/>
96 <xsl:template match="zr:explain">
97 <xsl:call-template name="diagnostic"/>
98 <xsl:call-template name="searchform-simple"/>
101 <xsl:template match="srw:searchRetrieveResponse">
102 <h2>Search Results</h2>
103 <xsl:call-template name="diagnostic"/>
104 <xsl:call-template name="displaysearch"/>
107 <xsl:template name="dbinfo">
109 <h1><xsl:value-of select="//zr:explain/zr:databaseInfo/zr:title"/>
111 <h2><xsl:value-of select="//zr:explain/zr:databaseInfo/zr:description"/>
114 <xsl:value-of select="//zr:explain/zr:databaseInfo/zr:author"/>
116 <xsl:value-of select="//zr:explain/zr:databaseInfo/zr:history"/>
121 <xsl:template name="searchform-simple">
122 <div class="searchform">
123 <form name="searchform" method="get"> <!-- action=".." -->
124 <input type="hidden" name="version" value="1.2"/>
125 <input type="hidden" name="operation" value="searchRetrieve"/>
126 <input type="hidden" name="stylesheet">
127 <xsl:attribute name="value">
128 <xsl:value-of select="//srw:echoedExplainRequest/srw:stylesheet"/>
129 <xsl:value-of select="//sru:echoedExplainRequest/sru:stylesheet"/>
132 <input type="text" name="query"/>
133 <input name="version" value="1.2" type="hidden"/>
134 <input name="operation" value="searchRetrieve" type="hidden"/>
135 <input name="startRecord" value="1" type="hidden"/>
136 <input name="maximumRecords" value="10" type="hidden"/>
137 <input name="recordSchema" value="bibframe" type="hidden"/>
138 <input type="submit" value="submit"/>
143 <xsl:template name="searchform-full">
144 <div class="searchform">
145 <form name="searchform" method="get"> <!-- action=".." -->
146 <input type="hidden" name="version" value="1.2"/>
147 <input type="hidden" name="operation" value="searchRetrieve"/>
148 <input type="hidden" name="stylesheet">
149 <xsl:attribute name="value">
150 <xsl:value-of select="//srw:echoedExplainRequest/srw:stylesheet"/>
151 <xsl:value-of select="//sru:echoedExplainRequest/sru:stylesheet"/>
155 <input type="text" name="query"/>
157 <div class="parameters">
158 <xsl:text>startRecord: </xsl:text>
159 <input size="10" type="text" name="startRecord" value="1"/>
160 <xsl:text> maximumRecords: </xsl:text>
161 <input size="10" type="text" name="maximumRecords" value="5"/>
162 <xsl:text> recordSchema: </xsl:text>
163 <select name="recordSchema">
164 <xsl:for-each select="//zr:schemaInfo/zr:schema">
165 <option value="{@name}">
166 <xsl:value-of select="zr:title"/>
170 <xsl:text> recordPacking: </xsl:text>
171 <select name="recordPacking">
172 <option value="xml">XML</option>
173 <option value="string">string</option>
179 <input type="submit" value="Send Search Request"/>
185 <xsl:template name="indexinfo">
188 select="//zr:indexInfo/zr:index[zr:map/zr:name/@set]">
189 <xsl:variable name="index">
190 <xsl:value-of select="zr:map/zr:name/@set"/>
191 <xsl:text>.</xsl:text>
192 <xsl:value-of select="zr:map/zr:name/text()"/>
194 <b><xsl:value-of select="$index"/><br/></b>
200 <xsl:template name="relationinfo">
202 <xsl:variable name="defrel"
203 select="//zr:configInfo/zr:default[@type='relation']"/>
204 <b><xsl:value-of select="$defrel"/><br/></b>
206 <xsl:for-each select="//zr:configInfo/zr:supports[@type='relation']">
207 <xsl:variable name="rel" select="text()"/>
208 <b><xsl:value-of select="$rel"/><br/></b>
214 <xsl:template name="diagnostic">
215 <xsl:for-each select="//diag:diagnostic">
216 <div class="diagnostic">
217 <!-- <xsl:value-of select="diag:uri"/> -->
218 <xsl:text> </xsl:text>
219 <xsl:value-of select="diag:message"/>
220 <xsl:text>: </xsl:text>
221 <xsl:value-of select="diag:details"/>
226 <xsl:template name="searchform-refine">
227 <div class="searchform">
228 <form name="searchform" method="get"> <!-- action=".." -->
229 <input type="hidden" name="version">
230 <xsl:attribute name="value">
232 select="//srw:echoedSearchRetrieveRequest/srw:version"/>
235 <input type="hidden" name="stylesheet">
236 <xsl:attribute name="value">
238 select="//srw:echoedSearchRetrieveRequest/srw:stylesheet"/>
241 <input type="text" name="query">
242 <xsl:attribute name="value">
244 select="//srw:echoedSearchRetrieveRequest/srw:query"/>
247 <input name="operation" value="searchRetrieve" type="hidden"/>
248 <input name="startRecord" value="1" type="hidden"/>
249 <input name="maximumRecords" value="10" type="hidden"/>
250 <input name="recordSchema" value="bibframe" type="hidden"/>
251 <input type="submit" value="submit"/>
256 <xsl:template name="new-search-link">
257 <form name="newsearch" method="get">
258 <input type="hidden" name="version">
259 <xsl:attribute name="value">
261 select="//srw:echoedSearchRetrieveRequest/srw:version"/>
264 <input type="hidden" name="stylesheet">
265 <xsl:attribute name="value">
267 select="//srw:echoedSearchRetrieveRequest/srw:stylesheet"/>
271 <input type="submit">
272 <xsl:attribute name="value">
273 <xsl:text>New Query</xsl:text>
279 <xsl:template name="next-records">
280 <xsl:for-each select="srw:nextRecordPosition">
281 <form name="nextlink" method="get">
282 <input type="hidden" name="version">
283 <xsl:attribute name="value">
285 select="//srw:echoedSearchRetrieveRequest/srw:version"/>
288 <input type="hidden" name="operation" value="searchRetrieve"/>
289 <input type="hidden" name="query">
290 <xsl:attribute name="value">
292 select="//srw:echoedSearchRetrieveRequest/srw:query"/>
295 <input type="hidden" name="recordPacking">
296 <xsl:attribute name="value">
297 <xsl:value-of select="srw:recordPacking"/>
300 <input type="hidden" name="recordSchema">
301 <xsl:attribute name="value">
303 select="//srw:echoedSearchRetrieveRequest/srw:recordSchema"/>
306 <input type="hidden" name="stylesheet">
307 <xsl:attribute name="value">
309 select="//srw:echoedSearchRetrieveRequest/srw:stylesheet"/>
312 <input type="hidden" name="startRecord">
313 <xsl:attribute name="value">
314 <xsl:value-of select="."/>
317 <input type="hidden" name="maximumRecords">
318 <xsl:attribute name="value">
320 select="//srw:echoedSearchRetrieveRequest/srw:maximumRecords"/>
323 <input type="submit">
324 <xsl:attribute name="value">
325 <xsl:text>Next</xsl:text>
332 <xsl:template name="displaysearch">
333 <div class="searchresults">
334 <xsl:for-each select="srw:numberOfRecords">
336 <xsl:text>Number of Records: </xsl:text>
337 <xsl:value-of select="."/>
341 <xsl:call-template name="searchform-refine"/>
343 <xsl:call-template name="next-records"/>
345 <xsl:for-each select="srw:records">
346 <xsl:for-each select="srw:record">
350 <xsl:text>Record </xsl:text>
351 <xsl:value-of select="srw:recordPosition"/>
354 <xsl:if test="srw:recordPacking='string'">
356 <xsl:value-of select="srw:recordData"/>
359 <xsl:if test="srw:recordPacking='xml'">
361 <xsl:when test="srw:recordSchema='marcxml'">
362 <xsl:text>MARCXML</xsl:text>
364 <xsl:when test="srw:recordSchema='bibframe'">
365 <xsl:apply-templates select="srw:recordData"/>
374 <form name="fulllink" method="get">
375 <input type="hidden" name="version">
376 <xsl:attribute name="value">
378 select="//srw:echoedSearchRetrieveRequest/srw:version"/>
381 <input type="hidden" name="operation" value="searchRetrieve"/>
382 <input type="hidden" name="query">
383 <xsl:attribute name="value">
385 select="//srw:echoedSearchRetrieveRequest/srw:query"/>
388 <input type="hidden" name="recordPacking">
389 <xsl:attribute name="value">
390 <xsl:value-of select="srw:recordPacking"/>
393 <input type="hidden" name="recordSchema">
394 <xsl:attribute name="value">
395 <xsl:value-of select="srw:recordSchema"/>
398 <input type="hidden" name="stylesheet" value="/fullDisplay.xsl"/>
399 <input type="hidden" name="startRecord">
400 <xsl:attribute name="value">
401 <xsl:value-of select="srw:recordPosition"/>
404 <input type="hidden" name="maximumRecords" value="1"/>
405 <input type="submit">
406 <xsl:attribute name="value">
407 <xsl:text>Full Record </xsl:text>
408 <xsl:value-of select="srw:recordPosition"/>
414 <form name="rawlink" method="get">
415 <input type="hidden" name="version">
416 <xsl:attribute name="value">
418 select="//srw:echoedSearchRetrieveRequest/srw:version"/>
421 <input type="hidden" name="operation" value="searchRetrieve"/>
422 <input type="hidden" name="query">
423 <xsl:attribute name="value">
425 select="//srw:echoedSearchRetrieveRequest/srw:query"/>
428 <input type="hidden" name="recordPacking">
429 <xsl:attribute name="value">
430 <xsl:value-of select="srw:recordPacking"/>
433 <input type="hidden" name="recordSchema">
434 <xsl:attribute name="value">
435 <xsl:value-of select="srw:recordSchema"/>
438 <input type="hidden" name="startRecord">
439 <xsl:attribute name="value">
440 <xsl:value-of select="srw:recordPosition"/>
443 <input type="hidden" name="maximumRecords" value="1"/>
444 <input type="submit">
445 <xsl:attribute name="value">
446 <xsl:text>Raw Record </xsl:text>
447 <xsl:value-of select="srw:recordPosition"/>
457 <xsl:call-template name="next-records"/>