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:*">
19 <tr><td><b><xsl:value-of select="name(.)"/>:</b>
20 <xsl:variable name="n" select="@rdf:nodeID"/>
22 (<xsl:value-of select="$n"/>)
25 <xsl:for-each select="*">
26 <xsl:variable name="lang" select="@xml:lang"/>
27 <xsl:if test="not($lang='x-bf-hashable')">
28 <xsl:variable name="resource" select="@rdf:resource"/>
29 <xsl:variable name="nodeid" select="@rdf:nodeID"/>
33 <b><xsl:value-of select="name(.)"/>:</b>
37 <xsl:when test="bf:Provider">
38 <xsl:for-each select=".//bf:providerRole">
39 <xsl:value-of select="."/><br/>
41 <xsl:for-each select=".//bf:providerName">
42 <b>Name: </b><xsl:value-of select="."/><br/>
44 <xsl:for-each select=".//bf:providerPlace">
45 <b>Place: </b><xsl:value-of select="."/><br/>
47 <xsl:for-each select=".//bf:providerDate">
48 <xsl:value-of select="."/><br/>
50 <xsl:for-each select=".//bf:copyrightDate">
51 <xsl:value-of select="."/><br/>
54 <xsl:when test="$resource">
55 <xsl:variable name="rvalue"
56 select="//*[@rdf:about=$resource]/*[1]"/>
58 <xsl:when test="$rvalue">
59 <xsl:value-of select="$rvalue"/>
63 <xsl:attribute name="href">
64 <xsl:value-of select="$resource"/>
66 <xsl:value-of select="$resource"/>
71 <xsl:when test="$nodeid">
72 <xsl:variable name="rvalue"
73 select="//*[@rdf:nodeID=$nodeid]/*[1]"/>
75 <xsl:when test="$rvalue">
76 <xsl:value-of select="$rvalue"/>
77 (<xsl:value-of select="$nodeid"/>)
80 <xsl:value-of select="$nodeid"/>
84 <xsl:when test="bf:Identifier">
85 <xsl:for-each select="bf:Identifier/*">
88 select="substring-after(name(.),'bf:identifier')"/>:
90 <xsl:value-of select="."/><br/>
94 <xsl:value-of select="."/>
105 <xsl:template match="/">
106 <xsl:call-template name="html"/>
109 <xsl:template name="html">
112 <title>BIBFRAME Full Display</title>
113 <link href="css.css" rel="stylesheet"
114 type="text/css" media="screen, all"/>
118 <xsl:apply-templates/>
124 <xsl:template match="srw:searchRetrieveResponse">
125 <h2>Search Results</h2>
126 <xsl:call-template name="diagnostic"/>
127 <xsl:call-template name="displaysearch"/>
130 <xsl:template name="diagnostic">
131 <xsl:for-each select="//diag:diagnostic">
132 <div class="diagnostic">
133 <!-- <xsl:value-of select="diag:uri"/> -->
134 <xsl:text> </xsl:text>
135 <xsl:value-of select="diag:message"/>
136 <xsl:text>: </xsl:text>
137 <xsl:value-of select="diag:details"/>
142 <xsl:template name="displaysearch">
143 <div class="searchresults">
144 <xsl:for-each select="srw:numberOfRecords">
146 <xsl:text>Number of Records: </xsl:text>
147 <xsl:value-of select="."/>
150 <xsl:for-each select="srw:records">
151 <xsl:for-each select="srw:record">
154 <xsl:text>Record </xsl:text>
155 <xsl:value-of select="srw:recordPosition"/>
158 <xsl:if test="srw:recordPacking='string'">
160 <xsl:value-of select="srw:recordData"/>
163 <xsl:if test="srw:recordPacking='xml'">
165 <xsl:when test="srw:recordSchema='marcxml'">
166 <xsl:text>MARCXML</xsl:text>
168 <xsl:when test="srw:recordSchema='bibframe'">
169 <xsl:apply-templates select="srw:recordData"/>
174 <form name="rawlink" method="get">
175 <input type="hidden" name="version">
176 <xsl:attribute name="value">
178 select="//srw:echoedSearchRetrieveRequest/srw:version"/>
181 <input type="hidden" name="operation" value="searchRetrieve"/>
182 <input type="hidden" name="query">
183 <xsl:attribute name="value">
185 select="//srw:echoedSearchRetrieveRequest/srw:query"/>
188 <input type="hidden" name="recordPacking">
189 <xsl:attribute name="value">
190 <xsl:value-of select="srw:recordPacking"/>
193 <input type="hidden" name="recordSchema">
194 <xsl:attribute name="value">
195 <xsl:value-of select="srw:recordSchema"/>
198 <input type="hidden" name="startRecord">
199 <xsl:attribute name="value">
200 <xsl:value-of select="srw:recordPosition"/>
203 <input type="hidden" name="maximumRecords" value="1"/>
204 <input type="submit">
205 <xsl:attribute name="value">
206 <xsl:text>Raw Record </xsl:text>
207 <xsl:value-of select="srw:recordPosition"/>