xslt - 如何将 iso Alpha 2 代码转换为国家名称

xslt - how to convert iso Alpha 2 code to Country name

我有一个 xml,它有两个字符的字母代码,需要将其转换为完全限定的国家/地区名称。例如,DE 应该变成 Germany。我知道 xslt 模板可用于将列表保留在 xslt 中以获取相关名称,但是我对该设计不满意,并且正在寻找一个 xslt 函数(或类似的东西),这将避免将来对映射进行任何维护。请让我知道您对此的想法。谢谢。

也许调用网络服务,例如使用 XSLT 3,您可以处理从大多数 REST API

返回的 JSON
  <xsl:template match="code">
    <country>{json-doc('https://restcountries.com/v2/alpha/' || .)?name}</country>
  </xsl:template>

对于 XSLT 2,您可以使用返回 XML 格式的服务,例如

  <xsl:template match="code">
    <country>
       <xsl:value-of
         select="doc(concat('https://api.worldbank.org/v2/country/', .))/countries/country/name"
         xpath-default-namespace="http://www.worldbank.org"/>
    </country>
  </xsl:template>