Skip to content

Instantly share code, notes, and snippets.

@CJHArch
Created July 28, 2015 18:52
Show Gist options
  • Save CJHArch/acb49204d52765db709f to your computer and use it in GitHub Desktop.
Save CJHArch/acb49204d52765db709f to your computer and use it in GitHub Desktop.
dtl_oai_languages
xquery version "3.0";
<results>
{
for $OAIMarcRecord in /repository/record
where $OAIMarcRecord/metadata/record/datafield[@tag="041"] or $OAIMarcRecord/metadata/record/datafield[@tag="546"] or $OAIMarcRecord/metadata/record/controlfield[@tag="008"]
let $callno:= $OAIMarcRecord/metadata/record/datafield[@tag[contains(., "09")]][1]/subfield[@code="a"]
let $title := $OAIMarcRecord/metadata/record/datafield[@tag="245"]
let $five46 := $OAIMarcRecord/metadata/record/datafield[@tag="546"]/subfield[@code="a"]
let $zero41 := $OAIMarcRecord/metadata/record/datafield[@tag="041"]/subfield[@code="a"]
let $zero08 := $OAIMarcRecord/metadata/record/controlfield[@tag="008"]/substring(., 36, 3)
let $PID := $OAIMarcRecord/header/identifier/substring-after(., "oai:digital.cjh.org:")
return
<record>
<cn>{data($callno)}</cn>
<t>{data($title)}</t>
<l1>{data($five46)}</l1>
<l2>{data($zero41)}</l2>
<l3>{data($zero08)}</l3>
<pid>{data($PID)}</pid>
</record>
}
</results>
@CJHArch
Copy link
Author

CJHArch commented Jul 28, 2015

This xquery will extract language information from the MARC 008, 041, and 546 fields for a namespace-stripped Digitool OAI feed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment