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 match="rdf:RDF">
18 <xsl:for-each select="bf:Work[1]/bf:creator">
20 name="resource" select="./@rdf:nodeID"/>
22 <td><b>Creator:</b></td>
24 <xsl:value-of select="//*[@rdf:nodeID=$resource]/bf:label"/>
28 <xsl:for-each select="bf:Work[1]/bf:workTitle">
30 name="resource" select="./@rdf:nodeID"/>
32 <td><b>Work Title:</b></td>
34 <xsl:value-of select="//*[@rdf:nodeID=$resource]/bf:titleValue"/>
38 <xsl:for-each select="bf:Instance[1]/bf:providerStatement">
40 <td><b>Date/Place:</b></td>
42 <xsl:value-of select="."/>
49 <xsl:template match="/">
50 <xsl:call-template name="html"/>
53 <xsl:template name="html">
59 <link href="css.css" rel="stylesheet"
60 type="text/css" media="screen, all"/>
64 <xsl:apply-templates/>
70 <xsl:template match="zr:explain">
71 <xsl:call-template name="diagnostic"/>
72 <xsl:call-template name="searchform-simple"/>
75 <xsl:template match="srw:searchRetrieveResponse">
76 <h2>Search Results</h2>
77 <xsl:call-template name="diagnostic"/>
78 <xsl:call-template name="displaysearch"/>
81 <xsl:template name="dbinfo">
83 <h1><xsl:value-of select="//zr:explain/zr:databaseInfo/zr:title"/>
85 <h2><xsl:value-of select="//zr:explain/zr:databaseInfo/zr:description"/>
88 <xsl:value-of select="//zr:explain/zr:databaseInfo/zr:author"/>
90 <xsl:value-of select="//zr:explain/zr:databaseInfo/zr:history"/>
95 <xsl:template name="searchform-simple">
96 <div class="searchform">
97 <form name="searchform" method="get"> <!-- action=".." -->
98 <input type="hidden" name="version" value="1.2"/>
99 <input type="hidden" name="operation" value="searchRetrieve"/>
100 <input type="hidden" name="stylesheet">
101 <xsl:attribute name="value">
102 <xsl:value-of select="//srw:echoedExplainRequest/srw:stylesheet"/>
103 <xsl:value-of select="//sru:echoedExplainRequest/sru:stylesheet"/>
106 <input type="text" name="query"/>
107 <input name="version" value="1.2" type="hidden"/>
108 <input name="operation" value="searchRetrieve" type="hidden"/>
109 <input name="startRecord" value="1" type="hidden"/>
110 <input name="maximumRecords" value="10" type="hidden"/>
111 <input name="recordSchema" value="bibframe" type="hidden"/>
112 <input type="submit" value="submit"/>
117 <xsl:template name="searchform-full">
118 <div class="searchform">
119 <form name="searchform" method="get"> <!-- action=".." -->
120 <input type="hidden" name="version" value="1.2"/>
121 <input type="hidden" name="operation" value="searchRetrieve"/>
122 <input type="hidden" name="stylesheet">
123 <xsl:attribute name="value">
124 <xsl:value-of select="//srw:echoedExplainRequest/srw:stylesheet"/>
125 <xsl:value-of select="//sru:echoedExplainRequest/sru:stylesheet"/>
129 <input type="text" name="query"/>
131 <div class="parameters">
132 <xsl:text>startRecord: </xsl:text>
133 <input size="10" type="text" name="startRecord" value="1"/>
134 <xsl:text> maximumRecords: </xsl:text>
135 <input size="10" type="text" name="maximumRecords" value="5"/>
136 <xsl:text> recordSchema: </xsl:text>
137 <select name="recordSchema">
138 <xsl:for-each select="//zr:schemaInfo/zr:schema">
139 <option value="{@name}">
140 <xsl:value-of select="zr:title"/>
144 <xsl:text> recordPacking: </xsl:text>
145 <select name="recordPacking">
146 <option value="xml">XML</option>
147 <option value="string">string</option>
153 <input type="submit" value="Send Search Request"/>
159 <xsl:template name="indexinfo">
162 select="//zr:indexInfo/zr:index[zr:map/zr:name/@set]">
163 <xsl:variable name="index">
164 <xsl:value-of select="zr:map/zr:name/@set"/>
165 <xsl:text>.</xsl:text>
166 <xsl:value-of select="zr:map/zr:name/text()"/>
168 <b><xsl:value-of select="$index"/><br/></b>
174 <xsl:template name="relationinfo">
176 <xsl:variable name="defrel"
177 select="//zr:configInfo/zr:default[@type='relation']"/>
178 <b><xsl:value-of select="$defrel"/><br/></b>
180 <xsl:for-each select="//zr:configInfo/zr:supports[@type='relation']">
181 <xsl:variable name="rel" select="text()"/>
182 <b><xsl:value-of select="$rel"/><br/></b>
188 <xsl:template name="diagnostic">
189 <xsl:for-each select="//diag:diagnostic">
190 <div class="diagnostic">
191 <!-- <xsl:value-of select="diag:uri"/> -->
192 <xsl:text> </xsl:text>
193 <xsl:value-of select="diag:message"/>
194 <xsl:text>: </xsl:text>
195 <xsl:value-of select="diag:details"/>
200 <xsl:template name="searchform-refine">
201 <div class="searchform">
202 <form name="searchform" method="get"> <!-- action=".." -->
203 <input type="hidden" name="version">
204 <xsl:attribute name="value">
206 select="//srw:echoedSearchRetrieveRequest/srw:version"/>
209 <input type="hidden" name="stylesheet">
210 <xsl:attribute name="value">
212 select="//srw:echoedSearchRetrieveRequest/srw:stylesheet"/>
215 <input type="text" name="query">
216 <xsl:attribute name="value">
218 select="//srw:echoedSearchRetrieveRequest/srw:query"/>
221 <input name="operation" value="searchRetrieve" type="hidden"/>
222 <input name="startRecord" value="1" type="hidden"/>
223 <input name="maximumRecords" value="10" type="hidden"/>
224 <input name="recordSchema" value="bibframe" type="hidden"/>
225 <input type="submit" value="submit"/>
230 <xsl:template name="new-search-link">
231 <form name="newsearch" method="get">
232 <input type="hidden" name="version">
233 <xsl:attribute name="value">
235 select="//srw:echoedSearchRetrieveRequest/srw:version"/>
238 <input type="hidden" name="stylesheet">
239 <xsl:attribute name="value">
241 select="//srw:echoedSearchRetrieveRequest/srw:stylesheet"/>
245 <input type="submit">
246 <xsl:attribute name="value">
247 <xsl:text>New Query</xsl:text>
253 <xsl:template name="next-records">
254 <xsl:for-each select="srw:nextRecordPosition">
255 <form name="nextlink" method="get">
256 <input type="hidden" name="version">
257 <xsl:attribute name="value">
259 select="//srw:echoedSearchRetrieveRequest/srw:version"/>
262 <input type="hidden" name="operation" value="searchRetrieve"/>
263 <input type="hidden" name="query">
264 <xsl:attribute name="value">
266 select="//srw:echoedSearchRetrieveRequest/srw:query"/>
269 <input type="hidden" name="recordPacking">
270 <xsl:attribute name="value">
271 <xsl:value-of select="srw:recordPacking"/>
274 <input type="hidden" name="recordSchema">
275 <xsl:attribute name="value">
277 select="//srw:echoedSearchRetrieveRequest/srw:recordSchema"/>
280 <input type="hidden" name="stylesheet">
281 <xsl:attribute name="value">
283 select="//srw:echoedSearchRetrieveRequest/srw:stylesheet"/>
286 <input type="hidden" name="startRecord">
287 <xsl:attribute name="value">
288 <xsl:value-of select="."/>
291 <input type="hidden" name="maximumRecords">
292 <xsl:attribute name="value">
294 select="//srw:echoedSearchRetrieveRequest/srw:maximumRecords"/>
297 <input type="submit">
298 <xsl:attribute name="value">
299 <xsl:text>Next</xsl:text>
306 <xsl:template name="displaysearch">
307 <div class="searchresults">
308 <xsl:for-each select="srw:numberOfRecords">
310 <xsl:text>Number of Records: </xsl:text>
311 <xsl:value-of select="."/>
315 <xsl:call-template name="searchform-refine"/>
317 <xsl:call-template name="next-records"/>
319 <xsl:for-each select="srw:records">
320 <xsl:for-each select="srw:record">
324 <xsl:text>Record </xsl:text>
325 <xsl:value-of select="srw:recordPosition"/>
328 <xsl:if test="srw:recordPacking='string'">
330 <xsl:value-of select="srw:recordData"/>
333 <xsl:if test="srw:recordPacking='xml'">
335 <xsl:when test="srw:recordSchema='marcxml'">
336 <xsl:text>MARCXML</xsl:text>
338 <xsl:when test="srw:recordSchema='bibframe'">
339 <xsl:apply-templates select="srw:recordData"/>
348 <form name="fulllink" method="get">
349 <input type="hidden" name="version">
350 <xsl:attribute name="value">
352 select="//srw:echoedSearchRetrieveRequest/srw:version"/>
355 <input type="hidden" name="operation" value="searchRetrieve"/>
356 <input type="hidden" name="query">
357 <xsl:attribute name="value">
359 select="//srw:echoedSearchRetrieveRequest/srw:query"/>
362 <input type="hidden" name="recordPacking">
363 <xsl:attribute name="value">
364 <xsl:value-of select="srw:recordPacking"/>
367 <input type="hidden" name="recordSchema">
368 <xsl:attribute name="value">
369 <xsl:value-of select="srw:recordSchema"/>
372 <input type="hidden" name="stylesheet" value="/fullDisplay.xsl"/>
373 <input type="hidden" name="startRecord">
374 <xsl:attribute name="value">
375 <xsl:value-of select="srw:recordPosition"/>
378 <input type="hidden" name="maximumRecords" value="1"/>
379 <input type="submit">
380 <xsl:attribute name="value">
381 <xsl:text>Full Record </xsl:text>
382 <xsl:value-of select="srw:recordPosition"/>
388 <form name="rawlink" method="get">
389 <input type="hidden" name="version">
390 <xsl:attribute name="value">
392 select="//srw:echoedSearchRetrieveRequest/srw:version"/>
395 <input type="hidden" name="operation" value="searchRetrieve"/>
396 <input type="hidden" name="query">
397 <xsl:attribute name="value">
399 select="//srw:echoedSearchRetrieveRequest/srw:query"/>
402 <input type="hidden" name="recordPacking">
403 <xsl:attribute name="value">
404 <xsl:value-of select="srw:recordPacking"/>
407 <input type="hidden" name="recordSchema">
408 <xsl:attribute name="value">
409 <xsl:value-of select="srw:recordSchema"/>
412 <input type="hidden" name="startRecord">
413 <xsl:attribute name="value">
414 <xsl:value-of select="srw:recordPosition"/>
417 <input type="hidden" name="maximumRecords" value="1"/>
418 <input type="submit">
419 <xsl:attribute name="value">
420 <xsl:text>Raw Record </xsl:text>
421 <xsl:value-of select="srw:recordPosition"/>
431 <xsl:call-template name="next-records"/>