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/bf:creator">
20 name="resource" select="./@rdf:resource"/>
24 <xsl:value-of select="//*[@rdf:about=$resource]/bf:label"/>
28 <xsl:for-each select="bf:Work/bf:workTitle">
30 name="resource" select="./@rdf:resource"/>
34 <xsl:value-of select="//*[@rdf:about=$resource]/bf:titleValue"/>
38 <xsl:for-each select="bf:Instance/bf:providerStatement">
42 <xsl:value-of select="."/>
49 <xsl:template match="/">
50 <xsl:call-template name="html"/>
53 <xsl:template name="html">
57 <xsl:value-of select="//zr:explain/zr:databaseInfo/zr:title"/>
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="dbinfo"/>
72 <xsl:call-template name="diagnostic"/>
73 <xsl:call-template name="searchform"/>
76 <xsl:template match="srw:searchRetrieveResponse">
77 <h2>Search Results</h2>
78 <xsl:call-template name="diagnostic"/>
79 <xsl:call-template name="displaysearch"/>
82 <xsl:template name="dbinfo">
84 <h1><xsl:value-of select="//zr:explain/zr:databaseInfo/zr:title"/>
86 <h2><xsl:value-of select="//zr:explain/zr:databaseInfo/zr:description"/>
89 <xsl:value-of select="//zr:explain/zr:databaseInfo/zr:author"/>
91 <xsl:value-of select="//zr:explain/zr:databaseInfo/zr:history"/>
96 <xsl:template name="searchform">
97 <div class="searchform">
98 <form name="searchform" method="get"> <!-- action=".." -->
99 <input type="hidden" name="version" value="1.2"/>
100 <input type="hidden" name="operation" value="searchRetrieve"/>
101 <input type="hidden" name="stylesheet">
102 <xsl:attribute name="value">
103 <xsl:value-of select="//srw:echoedExplainRequest/srw:stylesheet"/>
104 <xsl:value-of select="//sru:echoedExplainRequest/sru:stylesheet"/>
108 <input type="text" name="query"/>
110 <div class="parameters">
111 <xsl:text>startRecord: </xsl:text>
112 <input size="10" type="text" name="startRecord" value="1"/>
113 <xsl:text> maximumRecords: </xsl:text>
114 <input size="10" type="text" name="maximumRecords" value="5"/>
115 <xsl:text> recordSchema: </xsl:text>
116 <select name="recordSchema">
117 <xsl:for-each select="//zr:schemaInfo/zr:schema">
118 <option value="{@name}">
119 <xsl:value-of select="zr:title"/>
123 <xsl:text> recordPacking: </xsl:text>
124 <select name="recordPacking">
125 <option value="xml">XML</option>
126 <option value="string">string</option>
132 <input type="submit" value="Send Search Request"/>
138 <xsl:template name="indexinfo">
141 select="//zr:indexInfo/zr:index[zr:map/zr:name/@set]">
142 <xsl:variable name="index">
143 <xsl:value-of select="zr:map/zr:name/@set"/>
144 <xsl:text>.</xsl:text>
145 <xsl:value-of select="zr:map/zr:name/text()"/>
147 <b><xsl:value-of select="$index"/><br/></b>
153 <xsl:template name="relationinfo">
155 <xsl:variable name="defrel"
156 select="//zr:configInfo/zr:default[@type='relation']"/>
157 <b><xsl:value-of select="$defrel"/><br/></b>
159 <xsl:for-each select="//zr:configInfo/zr:supports[@type='relation']">
160 <xsl:variable name="rel" select="text()"/>
161 <b><xsl:value-of select="$rel"/><br/></b>
167 <xsl:template name="diagnostic">
168 <xsl:for-each select="//diag:diagnostic">
169 <div class="diagnostic">
170 <!-- <xsl:value-of select="diag:uri"/> -->
171 <xsl:text> </xsl:text>
172 <xsl:value-of select="diag:message"/>
173 <xsl:text>: </xsl:text>
174 <xsl:value-of select="diag:details"/>
179 <xsl:template name="displaysearch">
180 <div class="searchresults">
181 <xsl:for-each select="srw:numberOfRecords">
183 <xsl:text>Number of Records: </xsl:text>
184 <xsl:value-of select="."/>
187 <xsl:for-each select="srw:nextRecordPosition">
189 <xsl:text>Next Record Position: </xsl:text>
190 <xsl:value-of select="."/>
194 <xsl:for-each select="srw:records">
195 <xsl:for-each select="srw:record">
198 <xsl:text>Record: </xsl:text>
199 <xsl:value-of select="srw:recordPosition"/>
200 <xsl:text> : </xsl:text>
201 <xsl:value-of select="srw:recordSchema"/>
202 <xsl:text> : </xsl:text>
203 <xsl:value-of select="srw:recordPacking"/>
206 <xsl:if test="srw:recordPacking='string'">
208 <xsl:value-of select="srw:recordData"/>
211 <xsl:if test="srw:recordPacking='xml'">
213 <xsl:when test="srw:recordSchema='marcxml'">
214 <xsl:text>MARCXML</xsl:text>
216 <xsl:when test="srw:recordSchema='bibframe'">
217 <xsl:apply-templates select="srw:recordData"/>
222 <form name="fulllink" method="get">
223 <input type="hidden" name="version" value="1.2"/>
224 <input type="hidden" name="operation" value="searchRetrieve"/>
225 <input type="hidden" name="query">
226 <xsl:attribute name="value">
228 select="//srw:echoedSearchRetrieveRequest/srw:query"/>
231 <input type="hidden" name="recordPacking">
232 <xsl:attribute name="value">
233 <xsl:value-of select="srw:recordPacking"/>
236 <input type="hidden" name="recordSchema">
237 <xsl:attribute name="value">
238 <xsl:value-of select="srw:recordSchema"/>
241 <input type="hidden" name="stylesheet" value="/xsl/fullDisplay.xsl"/>
242 <input type="hidden" name="startRecord">
243 <xsl:attribute name="value">
244 <xsl:value-of select="srw:recordPosition"/>
247 <input type="hidden" name="maximumRecords" value="1"/>
248 <input type="submit">
249 <xsl:attribute name="value">
250 <xsl:text>Full Record </xsl:text>
251 <xsl:value-of select="srw:recordPosition"/>
255 <form name="rawlink" method="get">
256 <input type="hidden" name="version" value="1.2"/>
257 <input type="hidden" name="operation" value="searchRetrieve"/>
258 <input type="hidden" name="query">
259 <xsl:attribute name="value">
261 select="//srw:echoedSearchRetrieveRequest/srw:query"/>
264 <input type="hidden" name="recordPacking">
265 <xsl:attribute name="value">
266 <xsl:value-of select="srw:recordPacking"/>
269 <input type="hidden" name="recordSchema">
270 <xsl:attribute name="value">
271 <xsl:value-of select="srw:recordSchema"/>
274 <input type="hidden" name="startRecord">
275 <xsl:attribute name="value">
276 <xsl:value-of select="srw:recordPosition"/>
279 <input type="hidden" name="maximumRecords" value="1"/>
280 <input type="submit">
281 <xsl:attribute name="value">
282 <xsl:text>Raw Record </xsl:text>
283 <xsl:value-of select="srw:recordPosition"/>