//dc:title/text() string-join(distinct-values(//dc:description/text()), ' | ') //dc:type/text() if (contains (//dc:identifier[1]/text(),'doi:')) then concat('http://dx.doi.org/',substring-after(//dc:identifier[1]/text(),'doi:')) else //dc:identifier/text() if (contains(//dc:source/text(), '[doi:')) then concat('http://dx.doi.org/',substring-before(substring-after(//dc:source/text(), '[doi: '), ']')) else //dc:source/text() //dc:subject/text() string-join(distinct-values(//dc:creator/text()), '; ') if (contains(//dc:date[1]/text(), '-')) then substring-before(//dc:date[1]/text(), '-') else //dc:date[1]/text() //dc:language/text() //dc:publisher/text() //dc:format[not(contains(text(), 'Bytes'))] //dc:coverage/text() //dc:rights/text() normalize-space(string(/)) //record/header/identifier/text() ${mapper_version}