Skip to content

Commit

Permalink
New: Index variant forms of classmarks
Browse files Browse the repository at this point in the history
See #34
  • Loading branch information
andrew-morrison committed Mar 20, 2018
1 parent 5b5e71b commit 1e4cd45
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions processing/manuscripts.xquery
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,19 @@ declare option saxon:output "indent=yes";

let $repository := normalize-space($x//tei:msDesc/tei:msIdentifier/tei:repository[1]/text())
let $institution := normalize-space($x//tei:msDesc/tei:msIdentifier/tei:institution/text())
let $shelfmark := normalize-space($x//tei:msDesc/tei:msIdentifier/tei:idno[1]/text())
let $normalizedshelfmark := replace($shelfmark, '\W', ' ')
let $sortshelfmark := upper-case(replace($normalizedshelfmark, '\s', ''))
let $title := concat(
$x//tei:msDesc/tei:msIdentifier/tei:idno[1]/text(),
$shelfmark,
' (',
$repository,
if ($repository ne $institution) then
concat(', ', translate(replace($institution, ' \(', ', '), ')', ''), ')')
else
')'
)

(:
Guide to Solr field naming conventions:
ms_ = manuscript index field
Expand All @@ -41,11 +44,10 @@ declare option saxon:output "indent=yes";
<field name="id">{ $msid }</field>
<field name="filename_sni">{ base-uri($x) }</field>
{ bod:one2one($x//tei:msDesc/tei:msIdentifier/tei:collection, 'ms_collection_s', 'Not specified') }
{ bod:one2one($x//tei:msDesc/tei:msIdentifier/tei:idno[@type="shelfmark"], 'ms_shelfmark_s') }
{ bod:one2one($x//tei:msDesc/tei:msIdentifier/tei:idno[@type="shelfmark"], 'ms_shelfmark_sort') }
{ bod:one2one($x//tei:msDesc/tei:msIdentifier/tei:idno, 'ms_shelfmark_s') }
{ bod:one2one($x//tei:msDesc/tei:msIdentifier/tei:idno, 'ms_shelfmark_sort') }
{ bod:one2one($x//tei:msDesc/tei:msIdentifier/tei:institution, 'institution_sm', 'Not specified') }
{ bod:string2one($shelfmark, 'ms_shelfmark_s') }
{ bod:strings2many(($normalizedshelfmark, $sortshelfmark), 'ms_altshelfmark_sm')}
{ bod:string2one($sortshelfmark, 'ms_shelfmark_sort') }
{ bod:one2one(($x//tei:publicationStmt/tei:pubPlace/tei:address/tei:addrLine/tei:email, $x//tei:additional/tei:adminInfo/tei:availability//tei:email)[1], 'ms_contactemail_sni') }
{ bod:string2one($title, 'title') }
{ bod:many2one($x//tei:msDesc/tei:msIdentifier/tei:repository, 'ms_repository_s') }
Expand Down

0 comments on commit 1e4cd45

Please sign in to comment.