es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

XSLT – cómo convertir el código ISO Alpha 2 en el nombre del país.

Tengo un archivo XML que contiene un código alfa de dos caracteres que necesita ser convertido en el nombre completo del país. Por ejemplo, DE debería convertirse en Germany. Entiendo que se pueden utilizar plantillas XSLT para mantener la lista dentro de XSLT y recuperar los nombres relevantes; sin embargo, no estoy satisfecho con ese diseño y estoy buscando una función XSLT (o algo similar) que evite cualquier mantenimiento futuro del mapeo. Por favor, hágame saber su opinión al respecto. Gracias.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en XSLT y XSLT 2.0, sugeriría utilizar una tabla de búsqueda en su código XSLT para evitar el mantenimiento del mapeo en el futuro. Puede crear un archivo XML separado que contenga una lista de todos los códigos alfabéticos de dos caracteres y sus respectivos nombres de países. Luego, puede usar la función XSLT document() para leer el archivo XML de la tabla de búsqueda y la función key() para recuperar el nombre del país correspondiente.

    Aquí hay un ejemplo de cómo puede implementar esto en su código XSLT:

    <!-- Defina la tabla de búsqueda -->
    <xsl:variable name="lookupTable" select="document('lookup-table.xml')"></xsl:variable>
    
    <!-- Defina la clave para la tabla de búsqueda -->
    <xsl:key name="countryCodes" match="country" use="@code"></xsl:key>
    
    <!-- Cree una plantilla para convertir el código alfabético en el nombre del país -->
    <xsl:template name="alphaCodeToCountry">
      <xsl:param name="alphaCode"></xsl:param>
    
      <!-- Use la función key() para recuperar el nombre del país correspondiente -->
      <xsl:value-of select="key('countryCodes', $alphaCode, $lookupTable)/@name"></xsl:value-of>
    </xsl:template>
    

    Con este enfoque, puede actualizar fácilmente el archivo XML de la tabla de búsqueda en el futuro sin modificar el código XSLT. Solo asegúrese de mantener el archivo XML en la misma ubicación y con el mismo nombre.

    ¡Espero que esto ayude! Hágame saber si tiene más preguntas.

Comments are closed.