Fix textExternalLink(s) typo
Resolves #26
Change-Id: Ieb95039dce7154b80e082978aecc7be589de2b95
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e1beba6..72b7f79 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,7 @@
### Fixed
- Fixed `-L` (log directory) option being ignored when using internal taggers (`-T opennlp`, `-T marmot`, etc.)
+- Renamed `textExternalLinks` metadata field to `textExternalLink` (singular) (https://github.com/KorAP/korapxmltool/issues/26)
## [v3.1.2] - 2025-12-18
diff --git a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
index 84f8c07..a692dec 100644
--- a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
+++ b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
@@ -4922,12 +4922,12 @@
headerRoot.firstElement("ref") { it.getAttribute("type") == "page_url" }
?.getAttribute("target")?.takeIf { it.isNotBlank() }?.let { metadata["externalLink"] = it }
- // Extract textExternalLinks from biblNote[@n='url']
+ // Extract textExternalLink from biblNote[@n='url']
val biblNoteUrl = analytic.firstElement("biblNote") { it.getAttribute("n") == "url" }
?.textContent?.trim()?.takeIf { it.isNotEmpty() }
?: monogr.firstElement("biblNote") { it.getAttribute("n") == "url" }
?.textContent?.trim()?.takeIf { it.isNotEmpty() }
- metadata.putIfNotBlank("textExternalLinks", biblNoteUrl)
+ metadata.putIfNotBlank("textExternalLink", biblNoteUrl)
if (!metadata.containsKey("language")) {
metadata["language"] = "de"
diff --git a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/formatters/KrillJsonGenerator.kt b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/formatters/KrillJsonGenerator.kt
index 670bb64..f63ec5b 100644
--- a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/formatters/KrillJsonGenerator.kt
+++ b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/formatters/KrillJsonGenerator.kt
@@ -145,7 +145,7 @@
"ISBN", "URN", "pubPlace", "pubPlaceKey",
"textType", "textTypeArt", "textTypeRef", "textDomain", "textColumn",
"author", "title", "subTitle", "corpusTitle", "corpusSubTitle", "docTitle", "docAuthor",
- "textExternalLinks", "tokenSource"
+ "textExternalLink", "tokenSource"
)
fieldOrder.forEach { key ->
@@ -212,7 +212,7 @@
val encodedUrl = url.replace(":", "%3A").replace("/", "%2F")
"type:attachement" to jsonString("data:application/x.korap-link;title=$title,$encodedUrl")
}
- "textExternalLinks" -> {
+ "textExternalLink" -> {
val url = value.toString()
val title = textData.headerMetadata["publisher"]?.toString() ?: "Link"
val encodedUrl = url.replace(":", "%3A").replace("/", "%2F")
diff --git a/app/src/test/kotlin/de/ids_mannheim/korapxmltools/KrillJsonGeneratorTest.kt b/app/src/test/kotlin/de/ids_mannheim/korapxmltools/KrillJsonGeneratorTest.kt
index 53048b0..cbe9ef5 100644
--- a/app/src/test/kotlin/de/ids_mannheim/korapxmltools/KrillJsonGeneratorTest.kt
+++ b/app/src/test/kotlin/de/ids_mannheim/korapxmltools/KrillJsonGeneratorTest.kt
@@ -724,7 +724,7 @@
"docAuthor" to "User_A", // Anonymized
"distributor" to "Institut für Deutsche Sprache",
"pubPlace" to "San Bruno, California",
- "textExternalLinks" to "youtube.googleapis.com", // Partial match for URL
+ "textExternalLink" to "youtube.googleapis.com", // Partial match for URL
"tokenSource" to "base#tokens"
)