source: gsdl/trunk/macros/document.dm@ 14181

Last change on this file since 14181 was 14181, checked in by mdewsnip, 14 years ago

Moved some HTML out of the C++ and into the macrofiles.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 18.7 KB
Line 
1# this file must be UTF-8 encoded
2
3package document
4
5#######################################################################
6# macros set from within the server
7#######################################################################
8
9_imagethispage_ {}
10_httpprevarrow_ {}
11_httpnextarrow_ {}
12_pagetitle_ {}
13_phindclassifier_ {}
14_collageclassifier_ {}
15
16# custom header for individual document
17_documentheader_ {}
18
19#custom css links for individual document
20_csslink_{
21 <link rel="stylesheet" href="_cssfilelink_" type="text/css"
22 charset="UTF-8" _linktagend_
23 <link rel="alternate stylesheet" href="_httpimg_/preview-document.css"
24 type="text/css"
25 title="Preview Document" charset="UTF-8" media="screen" _linktagend_
26 <link rel="stylesheet" href="_httpimg_/print-document.css" type="text/css"
27 charset="UTF-8" media="print" _linktagend_
28}
29
30#######################################################################
31# page content
32#######################################################################
33
34_tocopen_ {<div class="top" _tocopenextra_>}
35_tocclose_ {</div>}
36
37_nextsearchresult_ {_If_("_cgiargsrn_" ne "0",<li id="nextresult"><a href="_httpquery_&amp;ifl=1&amp;ifln=_cgiargsrn_">_textnextsearchresult_</a></li>)}
38
39_prevsearchresult_ {_If_("_cgiargsrp_" ne "0",<li id="prevresult"><a href="_httpquery_&amp;ifl=1&amp;ifln=_cgiargsrp_">_textprevsearchresult_</a></li>)}
40
41_content_ {
42_optnavigationbar_
43
44_If_(_phindclassifier__collageclassifier_,
45<p style="text-align: center;">
46_phindclassifier_
47_collageclassifier_
48</p>
49)
50
51_If_("_cgiargcl_" eq "search",
52<ul id="searchresults">
53_prevsearchresult_
54_nextsearchresult_
55</div>)
56
57<div class="document">
58
59
60}
61
62# Dublin Core Metadata Element Set, Version 1.1
63_textTitlepage_ {_texticonhtitle_}
64_textCreatorpage_ {_texticonhcreat_}
65_textSubjectpage_ {_texticonhsubj_}
66_textDescriptionpage_ {_texticonhdesc_}
67_textPublisherpage_ {_texticonhpubl_}
68_textContributorpage_ {_texticonhcontr_}
69_textDatepage_ {_texticonhdate_}
70_textTypepage_ {_texticonhtype_}
71_textFormatpage_ {_texticonhform_}
72_textIdentifierpage_ {_texticonhident_}
73_textSourcepage_ {_texticonhsrc_}
74_textLanguagepage_ {_texticonhlang_}
75_textRelationpage_ {_texticonhrel_}
76_textCoveragepage_ {_texticonhcover_}
77_textRightspage_ {_texticonhright_}
78
79_textTopage_ {_texticonhto_}
80_textFrompage_ {_texticonhfrom_}
81_textSeriespage_ {_texticonhser_}
82_textHowtopage_ {_texticonhhow_}
83_textOrganizationpage_ {_texticonhorg_}
84_textBrowsepage_ {_texticonhbrwse_}
85_textCollagepage_ {_texticonhcoll_}
86_textPeoplepage_ {_texticonhpeople_}
87_textAcronympage_ {_texticonhacronym_}
88_textPhrasepage_ {_texticonhphrases_}
89_textArtistpage_ {_texticonhartist_}
90_textKeywordpage_ {_texticonhkw_}
91_textVolumepage_ {_texticonhvol_}
92_textCaptionspage_ {_texticonhcapt_}
93_textCountriespage_ {_texticonhcount_}
94
95#######################################################################
96# navigation arrows
97#
98#######################################################################
99
100# these two may be reset to "" by the server
101_navarrowsbottom_ {_navarrows_}
102_navarrowstop_ {_navarrows_}
103
104_navarrows_ {<center>
105<table width=_pagewidth_ cellpadding=0 cellspacing=0 border=0>
106<tr><td align=left valign=top>
107_prevarrow_
108</td><td align=right valign=top>
109_nextarrow_
110</td></tr></table>
111</center>
112}
113
114_prevarrow_ {_If_(_httpprevarrow_,<a href="_httpprevarrow_">_iconprev_</a>)}
115_nextarrow_ {_If_(_httpnextarrow_,<a href="_httpnextarrow_">_iconnext_</a>)}
116
117_navarrows_ [v=1] {<p>
118_prevarrow_<br>
119_nextarrow_
120}
121
122#######################################################################
123# the goto form
124#######################################################################
125
126_gotoform_ {
127<form name="GotoForm" method="get" action="_gwcgi_">
128<input type=hidden name="e" value="_decodedcompressedoptions_">
129<input type=hidden name="d" value="_cgiargd_">
130<input type=hidden name="cl" value="_cgiargcl_">
131<input type="text" name="gp" size="3" maxlength="4">
132<input type="submit" value="_textgoto_">
133</form>
134}
135
136_textnumpages_ {&nbsp;<i>(_1_ _pages_)</i>}
137_parentarrow_ {}
138
139
140#######################################################################
141# the phind applet
142#
143# The phind applet is only required on phind classifier pages.
144# Consequently, the _phindclassifier_ macro is not usually set. On screens
145# where it is required, _phindclassifier_ resolves to _phindapplet_, and
146# the following macro is loaded into the web page.
147#######################################################################
148
149_phindapplet_ {
150<APPLET CODEBASE="_httpprefix_/bin/java" CODE="org.nzdl.gsdl.Phind.Phind.class" ARCHIVE="Phind.jar" WIDTH=500 HEIGHT=400>
151 <PARAM NAME=library VALUE="_gwcgi_?e=_compressedoptions_">
152 <PARAM NAME=phindcgi VALUE="_gwcgi_?a=phind">
153 <PARAM NAME=collection VALUE="_cgiargc_">
154 <PARAM NAME=classifier VALUE="_phindnumber_">
155
156 <PARAM NAME=orientation VALUE="vertical">
157 <PARAM NAME=depth VALUE="2">
158 <PARAM NAME=resultorder VALUE="L,l,E,e,D,d">
159
160 <PARAM NAME=backdrop VALUE="_httpimg_/phindbg1.jpg">
161 <PARAM NAME=fontsize VALUE="10">
162 <PARAM NAME=blocksize VALUE="10">
163
164 The Phind java applet.
165</APPLET>
166}
167
168_collageapplet_ {
169 <applet CODEBASE="_httpprefix_/bin/java"
170 code="org.nzdl.gsdl.GsdlCollageApplet.GsdlCollageApplet.class"
171 archive="GsdlCollageApplet.jar"
172 width="_collagexdim_" height="_collageydim_">
173
174 <param name="gwcgi" value="_gwcgi_">
175 <param name="collection" value="_cgiargc_">
176 <param name="classifier" value="_cgiargcl_.1">
177
178 <param name="hrefMustHave" value="cl=_cgiargcl_.1">
179 <param name="imageMustNotHave" value="hl=\%x=\%gt=\%gc=\%.pr">
180
181 <param name="imageType" value="_collageimageType_">
182 <param name="verbosity" value="_collageverbosity_">
183 <param name="maxDepth" value="_collagemaxDepth_">
184 <param name="maxDisplay" value="_collagemaxDisplay_">
185 <param name="refreshDelay" value="_collagerefreshDelay_">
186 <param name="isJava2" value="_collageisJava2_">
187 <param name="bgcolor" value="_collagebgcolor_">
188 <param name="documentroot" value="_httpimg_">
189 </applet>
190
191<center>
192_collagecaption_
193</center>
194}
195
196
197_flashbook_ {
198 <div id="bookdiv">
199 </div>
200
201 <script type="text/javascript">
202 //get the height and width of the window
203 var myWidth2 = 0, myHeight = 0;
204 if (typeof(window.innerWidth) == 'number')
205 \{
206 //Non-IE
207 myWidth2 = window.innerWidth;
208 myHeight = window.innerHeight;
209 \}
210 else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
211 \{
212 //IE 6+ in 'standards compliant mode'
213 myWidth2 = document.documentElement.clientWidth;
214 myHeight = document.documentElement.clientHeight;
215 \}
216 else if(document.body && (document.body.clientWidth || document.body.clientHeight))
217 \{
218 //IE 4 compatible
219 myWidth2 = document.body.clientWidth;
220 myHeight = document.body.clientHeight;
221 \}
222
223 var myWidth = "100%";
224 myHeight = 800;
225
226 var img_cover = '_httpcollimg_/_thisOID_/cover.jpg';
227 var doc_url = document.URL;
228 doc_url = doc_url.replace(/(&|\\?)book=[a-z]+/gi,'');
229 doc_url += '&book=flashxml';
230
231 var flash_plug_html = "";
232 flash_plug_html += '<OBJECT align="middle" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" \\n';
233 flash_plug_html += ' codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" \\n';
234 flash_plug_html += ' height="';
235 flash_plug_html += myHeight + '" id="Book" swLiveConnect="true" \\n';
236 flash_plug_html += ' width="';
237 flash_plug_html += myWidth + '">\\n';
238
239 flash_plug_html += ' <PARAM name="allowScriptAccess" value="always" />\\n';
240 flash_plug_html += ' <PARAM name="movie" value="_httpimg_/Book.swf';
241 flash_plug_html += '?src_image=' + escape(img_cover);
242 flash_plug_html += '&doc_url=' + escape(doc_url);
243 flash_plug_html += '" />\\n';
244 flash_plug_html += ' <PARAM name="quality" value="high" />\\n';
245 flash_plug_html += ' <PARAM name="bgcolor" value="#FFFFFF" />\\n';
246 flash_plug_html += ' <EMBED align="middle" \\n';
247 flash_plug_html += ' allowScriptAccess="always" swLiveConnect="true" \\n';
248 flash_plug_html += ' bgcolor="#FFFFFF" height="';
249 flash_plug_html += myHeight + '" name="Book" \\n';
250 flash_plug_html += ' pluginspage="http://www.macromedia.com/go/getflashplayer" \\n';
251 flash_plug_html += ' quality="high" \\n';
252 flash_plug_html += ' src="_httpimg_/Book.swf';
253 flash_plug_html += '?src_image=' + escape(img_cover);
254 flash_plug_html += '&amp;doc_url=' + escape(doc_url);
255 flash_plug_html += '"\\n';
256 flash_plug_html += ' type="application/x-shockwave-flash" width="';
257 flash_plug_html += myWidth + '" />\\n';
258 flash_plug_html += '</OBJECT>\\n';
259
260 var flash_div = document.getElementById("bookdiv");
261 flash_div.innerHTML = flash_plug_html;
262 </script>
263}
264
265#######################################################################
266# icons
267#######################################################################
268
269_iconsmalltext_ {<img src="_httpiconsmtext_" class="icon" width=_widthsmtext_ height=_heightsmtext_ alt="_texticonsmalltext_" title="_texticonsmalltext_">}
270_iconsmalltext_ [v=1] {<small><b>_texticonsmalltext2_</b></small>}
271
272_iconarrowsmalltext_ {<img src="_httpiconasmtext_" class="icon" width=_widthasmtext_ height=_heightasmtext_ alt="_texticonsmalltext_" title="_texticonsmalltext_">}
273_iconarrowsmalltext_ [v=1] {<small><b>->_texticonsmalltext2_</b></small>}
274
275_iconclosedfolder_ {<img src="_httpiconclsdfldr_" class="icon" width=_widthclsdfldr_ height=_heightclsdfldr_ alt="_texticonclosedfolder_" title="_texticonclosedfolder_">}
276_iconclosedfolder_ [v=1] {<small><b>_texticonclosedfolder2_</b></small>}
277
278_iconarrowclosedfolder_ {<img src=_httpiconaclsdfdr_" class="icon" width=_widthaclsdfdr_ height=_heightaclsdfdr_ alt="_texticonclosedfolder_" title="_texticonclosedfolder_">}
279_iconarrowclosedfolder_ [v=1] {<small><b>->_texticonclosedfolder2_</b></small>}
280
281_iconopenfolder_ {<img src="_httpiconopenfldr_" class="icon" width=_widthopenfldr_ height=_heightopenfldr_ alt="_texticonopenfolder_" title="_texticonopenfolder_">}
282_iconopenfolder_ [v=1] {<small><b>_texticonopenfolder2_</b></small>}
283
284_iconarrowopenfolder_ {<img src="_httpiconaopenfdr_" class="icon" width=_widthaopenfdr_ height=_heightaopenfdr_ alt="_texticonopenfolder_" title="_texticonopenfolder_">}
285_iconarrowopenfolder_ [v=1] {<small><b>->_texticonopenfolder2_</b></small>}
286
287_iconarrowclosedbook_ {<img src="_httpiconabook_" width=_widthabook_ height=_heightabook_ class="icon" alt="_texticonclosedbook_" title="_texticonclosedbook_">}
288_iconarrowclosedbook_ [v=1] {<small><b>->_texticonclosedbook_: </b></small>}
289
290_iconopenbook_ {<img src="_httpiconopenbook_" width=_widthopenbook_ height=_heightopenbook_ class="icon" alt="_texticonopenbook_" title="_texticonopenbook_">}
291_iconopenbook_ [v=1] {<small><b>_texticonopenbook_: </b></small>}
292
293_iconarrowopenbook_ {<img src="_httpiconaopenbk_" width=_widthaopenbk_ height=_heightaopenbk_ class="icon" alt="_texticonopenbook_" title="_texticonopenbook_">}
294_iconarrowopenbook_ [v=1] {<small><b>->_texticonopenbook_: </b></small>}
295
296_iconopenbookshelf_ {<img src="_httpiconbshelf_" class="icon" width=_widthbshelf_ height=_heightbshelf_ alt="_texticonopenbookshelf_" title="_texticonopenbookshelf_">}
297_iconopenbookshelf_ [v=1] {<small><b>_texticonopenbookshelf_: </b></small>}
298
299_iconarrowopenbookshelf_ {<img src="_httpiconabshelf_" class="icon" width=_widthabshelf_ height=_heightabshelf_ alt="_texticonopenbookshelf_" title="_texticonopenbookshelf_">}
300_iconarrowopenbookshelf_ [v=1] {<small><b>->_texticonopenbookshelf_: </b></small>}
301
302_iconclosedbookshelf_ {<img src="_httpiconbshelf_" class="icon" width=_widthbshelf_ height=_heightbshelf_ alt="_texticonclosedbookshelf_" title="_texticonclosedbookshelf_">}
303_iconclosedbookshelf_ [v=1] {<small><b>_texticonclosedbookshelf_: </b></small>}
304
305_iconarrowclosedbookshelf_ {<img src="_httpiconabshelf_" class="icon" width=_widthabshelf_ height=_heightabshelf_ alt="_texticonclosedbookshelf_" title="_texticonclosedbookshelf_">}
306_iconarrowclosedbookshelf_ [v=1] {<small><b>->_texticonclosedbookshelf_: </b></small>}
307
308_iconpointer_ {<img src="_httpiconarrrght_" class="icon" width=_widtharrrght_ height=_heightarrrght_>}
309_iconpointer_ [v=1] {<small><b>_texticonpointer_-> </b></small>}
310
311_iconwarning_ {<img src="_httpiconwarning_" width="_widthwarning_" height="_heightwarning_" class="icon" align="left">}
312_iconwarning_ [v=1] {_texticonwarning_}
313
314
315#######################################################################
316# images
317#######################################################################
318
319_coverimage_ {<img alt="Cover Image" onError="src='_httpimg_/blank.gif'" src="_httpcollimg_/_thisOID_/cover.jpg">}
320
321_docbutton_ {<div class="button"><span class="button" title="_3_"><a href="_1_">_2_</a></span></div>
322}
323
324# can't use _docbutton_ macro for detach button as we need to include target
325_imagedetach_ {<div class="button"><span class="button"><a href="_httpcurrentdocument_&amp;x=1" target="\_blank" title="_texticondetach_">_textDETACH_</a></span></div>}
326
327_imageprint_{<div class="button"><span class="button"><a href="javascript:print_preview()">_textPRINT_</a></span></div>}
328
329
330_imagehighlight_ {_docbutton_(_httpcurrentdocument_&amp;hl=1&amp;gc=_cgiarggc_&amp;gt=_cgiarggt_,_textHIGHLIGHT_,_texticonhighlight_)}
331
332_imagenohighlight_ {_docbutton_(_httpcurrentdocument_&amp;hl=0&amp;gc=_cgiarggc_&amp;gt=_cgiarggt_,_document:textNOHIGHLIGHT_,_document:texticonnohighlight_)}
333
334_imagecontracttoc_ {_docbutton_(_httpcurrentdocument_&amp;gc=0,_textCONTRACTCONTENTS_,_texticoncontracttoc_)}
335
336_imageexpandtoc_ {_docbutton_(_httpcurrentdocument_&amp;gc=1,_textEXPANDCONTENTS_,_texticonexpandtoc_)}
337
338_imagecontracttext_ {_docbutton_(_httpcurrentdocument_&amp;gt=0,_textCONTRACT_,_texticoncontracttext_)}
339
340_imageexpandtext_ {_docbutton_(_httpcurrentdocument_&amp;gt=1,_textEXPANDTEXT_,_texticonexpandtext_)}
341
342_imagecont_ {_docbutton_(_httpcurrentdocument_&amp;gt=2,_textCONTINUE_,_texticoncont_)}
343
344
345#######################################################################
346# print preview script
347#######################################################################
348
349
350_pagescriptextra_{
351
352 var style_display_old;
353 var show = true;
354 var toc_top;
355
356 function has_toc(){
357 var div_nodes = document.getElementsByTagName("div");
358 for (var i=0;i < div_nodes.length ; i++ )\{
359 var div_node = div_nodes[i];
360 if (div_node.className =="toc" && div_node.childNodes.length > 1)
361 \{
362 return true;
363 \}
364 \}
365
366 return false;
367 \}
368
369 function hide_toc()\{
370 var div_nodes = document.getElementsByTagName("div");
371 for (var i=0;i < div_nodes.length ; i++ )\{
372 var div_node = div_nodes[i];
373 if (div_node.className =="toc")
374 \{
375 style_display_old = div_node.style.display;
376 toc_top = document.getElementById("toc_top");
377 if (toc_top)
378 div_node.parentNode.insertBefore(toc_top,div_node);
379 div_node.style.display = "none";
380 \};
381 \}
382
383 \}
384
385
386 function show_toc()\{
387
388 var div_nodes = document.getElementsByTagName("div");
389 for (var i=0;i < div_nodes.length ; i++ )\{
390 var div_node = div_nodes[i];
391 if (div_node.className =="toc")
392 \{
393 div_node.style.display = style_display_old;
394 if (toc_top)
395 div_node.insertBefore(toc_top,div_node.firstChild);
396 \};
397 \}
398
399 \}
400
401
402 function switch_toc()\{
403 var toc_link = document.getElementById("toc_link");
404 while (toc_link.hasChildNodes()) \{
405 toc_link.removeChild(toc_link.firstChild);
406 \}
407 if (show)\{
408 toc_link.appendChild(document.createTextNode('_textshowcontents_'));
409 show = false;
410 hide_toc();
411 \}
412 else\{
413 toc_link.appendChild(document.createTextNode('_texthidecontents_'));
414 show = true;
415 show_toc();
416 \}
417
418 \}
419
420 function print_preview() \{
421 // Switch the stylesheet
422 setActiveStyleSheet("Preview Document");
423 add_print_message();
424 \}
425
426 function add_print_message()\{
427 if (document.getElementById)\{
428 var print_message = document.createElement('ul');
429 print_message.id = 'print-message';
430 print_message.className = "printmessage";
431
432 var cancel_print_link = document.createElement('li');
433 cancel_print_link.className = "cancelprint"
434 cancel_print_link.onclick = function()\{ cancel_print(); return false;\};
435 cancel_print_link.appendChild(document.createTextNode('_textreturnoriginal_'));
436 print_message.appendChild(cancel_print_link);
437
438
439 var print_link = document.createElement('li');
440 print_link.onclick = function()\{ window.print(); return false;\};
441 print_link.appendChild(document.createTextNode('_textprintpage_'));
442 print_message.appendChild(print_link);
443
444 if (has_toc())\{
445 var toc_link = document.createElement('li');
446 toc_link.id = "toc_link";
447 toc_link.onclick = function()\{ switch_toc(); return false;\};
448 toc_link.appendChild(document.createTextNode('_texthidecontents_'));
449 print_message.appendChild(toc_link);
450 \}
451
452 //insert the print message node
453 var div_nodes = document.getElementsByTagName("div");
454 for (var i=0;i < div_nodes.length ; i++ )\{
455 var div_node = div_nodes[i];
456 if (div_node.className =="document")\{
457 var parent = div_node.parentNode;
458 parent.insertBefore(print_message,div_node);
459 \}
460 \}
461 \}
462
463 \}
464
465
466 function cancel_print() \{
467 // Destroy the preview message
468 var print_message = document.getElementById('print-message');
469 var parent = print_message.parentNode;
470 parent.removeChild(print_message);
471
472 show_toc();
473 // Switch back stylesheet
474 setActiveStyleSheet("default");
475 \}
476
477 function setActiveStyleSheet(title) \{
478 var i, a, main;
479 for(i=0; (a = document.getElementsByTagName("link")[i]); i++) \{
480 if(a.getAttribute("rel").indexOf("style") != -1
481 && a.getAttribute("title")) \{
482 a.disabled = true;
483 if(a.getAttribute("title") == title) a.disabled = false;
484 \}
485 \ }
486 \}
487
488}
489
490
491#######################################################################
492# headers/footers
493#######################################################################
494
495
496# header overridden for text pages
497_textheader_ {_cgihead_
498_htmlhead_
499_startspacer_
500
501<!-- document:textheader -->
502<div id="banner">
503<div class="pageinfo"><p class="bannerlinks">_globallinks_</p></div>
504<div class="collectimage">_imagecollection_</div>
505</div>
506<div class="bannerextra">_pagebannerextra_</div>
507}
508
509_textheader_ [v=1] {_cgihead_
510_htmlhead_
511_globallinks_
512}
513
514_footer_ {
515</div> <!-- document:footer -->
516
517<div class="navarrowsbottom">
518_navarrowsbottom_
519</div>
520_endspacer__htmlfooter_
521}
Note: See TracBrowser for help on using the repository browser.