Handle translator
like in
https://www.tei-c.org/release/doc/tei-p5-doc/en/html/examples-monogr.html
Resolves #11
diff --git a/test/test-xml.sh b/test/test-xml.sh
index 659f9b9..f2a85ac 100755
--- a/test/test-xml.sh
+++ b/test/test-xml.sh
@@ -45,6 +45,15 @@
((ERRORS++))
fi
+observed=$(xmlstarlet sel --net -t -v "/idsCorpus/idsDoc/idsText/idsHeader/fileDesc/sourceDesc/biblStruct/monogr/editor[@role='translator'][1]" target/dnb13.i5.xml)
+if $(assert_eq "$observed" "Zwack, Heinz"); then
+ log_success "translator is correctly identified"
+else
+ log_failure "translator is not correctly identified: $observed"
+ ((ERRORS++))
+fi
+
+
if [ $ERRORS -gt 0 ]; then
log_failure "There were $ERRORS errors"
exit 1
diff --git a/xslt/epub2i5.xsl b/xslt/epub2i5.xsl
index 28c8c2c..d6e0d68 100644
--- a/xslt/epub2i5.xsl
+++ b/xslt/epub2i5.xsl
@@ -24,6 +24,10 @@
<xsl:variable name="autor"
select="replace(string-join($dnbBookdata//dc:creator[not(contains(., '[')) or matches(., '\[Verfasser\]')], ' ; '), ' *\[[^\]]*\]', '')"/>
+ <xsl:variable name="straight_autor" select="normalize-space(replace(hlu:reversedAuthors($autor), ',', ''))"/>
+ <xsl:variable name="translator"
+ select="replace(string-join($dnbBookdata//dc:creator[matches(., '\[Übersetzer\]')], ' ; '), ' *\[[^\]]*\]', '')"/>
+ <xsl:variable name="straight_translator" select="normalize-space(replace(hlu:reversedAuthors($translator), ',', ''))"/>
<xsl:variable name="straight_autor" select="normalize-space(replace(hlu:reversedAuthors($autor), ',', ''))"/>
@@ -282,7 +286,9 @@
<h.title type="main"><xsl:value-of select="$titel"/></h.title>
<h.title type="sub"><xsl:value-of select="$untertitel"/></h.title>
<h.author><xsl:value-of select="$autor"/></h.author>
- <editor/>
+ <xsl:if test="$translator">
+ <editor role="translator"><xsl:value-of select="$translator"/></editor>
+ </xsl:if>
<edition>
<further/>
<kind>E-Book-Ausgabe</kind>