<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog de Francisco Javier Ahijado</title><link>https://www.icesoft.blog/</link><description>Recent content on Blog de Francisco Javier Ahijado</description><generator>Hugo -- gohugo.io</generator><language>es-ES</language><copyright>Fco. Javier Ahijado</copyright><lastBuildDate>Sun, 26 Apr 2026 19:00:00 +0200</lastBuildDate><atom:link href="https://www.icesoft.blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Choose Right Technology (actualización)</title><link>https://www.icesoft.blog/2026/04/26/choose-right-technology-actualizacion/</link><pubDate>Sun, 26 Apr 2026 19:00:00 +0200</pubDate><guid>https://www.icesoft.blog/2026/04/26/choose-right-technology-actualizacion/</guid><description>
&lt;div class="paragraph"&gt;
&lt;p&gt;Hace unos años escribí un artículo sobre este tema:&lt;br/&gt;
&lt;a href="https://www.icesoft.blog/2020/08/25/choose-right-technology/"&gt;Choose Right Technology&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Con el tiempo, y después de varios proyectos (y varios errores), creo que merece la pena revisarlo con una perspectiva más actual.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Porque si algo he aprendido es esto: elegir tecnología sigue siendo difícil…​ pero por razones distintas a las de antes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_elegir_tecnología_no_falla_al_principio"&gt;Elegir tecnología no falla al principio&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Uno de los mayores problemas de las decisiones tecnológicas es que no fallan inmediatamente. De hecho, muchas decisiones parecen buenas durante meses. El problema aparece después:&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>BFF Multi-Implementación: Comparativa de Paradigmas Backend for Frontend</title><link>https://www.icesoft.blog/2026/04/17/bff-multi-implementacion-comparativa-de-paradigmas-backend-for-frontend/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://www.icesoft.blog/2026/04/17/bff-multi-implementacion-comparativa-de-paradigmas-backend-for-frontend/</guid><description>
&lt;div class="sect1"&gt;
&lt;h2 id="_introducción"&gt;&lt;a class="anchor" href="#_introducción"&gt;&lt;/a&gt;1. Introducción&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Este proyecto es una &lt;strong&gt;suite de comparación multi-implementación&lt;/strong&gt; del patrón &lt;strong&gt;BFF (Backend For Frontend)&lt;/strong&gt;. Su objetivo es mostrar las características, ventajas y &lt;em&gt;trade-offs&lt;/em&gt; de cinco tecnologías y paradigmas de desarrollo backend distintos, exponiendo exactamente la misma funcionalidad a través de cada uno de ellos.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Todo el desarrollo se ha realizado íntegramente utilizando &lt;a href="https://claude.com/product/claude-code"&gt;Claude Code&lt;/a&gt;, como prueba de concepto para la generación de proyectos completos mediante prompts. Es también una demostración práctica de hasta dónde puede llegar un LLM en dominios técnicos donde el autor —reconocidamente— no tiene experiencia directa en todos los stacks (Quarkus, Apache Camel).&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>Agentes y Skills para el Ciclo de Vida del Desarrollo de Software</title><link>https://www.icesoft.blog/2026/04/16/agentes-y-skills-para-el-ciclo-de-vida-del-desarrollo-de-software/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><guid>https://www.icesoft.blog/2026/04/16/agentes-y-skills-para-el-ciclo-de-vida-del-desarrollo-de-software/</guid><description>
&lt;div id="preamble"&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph lead"&gt;
&lt;p&gt;Colección curada de &lt;strong&gt;agentes de IA&lt;/strong&gt; y &lt;strong&gt;skills estructuradas&lt;/strong&gt; para acompañar todo el ciclo de vida del desarrollo de software con calidad de producción.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="imageblock"&gt;
&lt;div class="content"&gt;
&lt;a class="image" href="https://github.com/iCesofT/awesome-ai"&gt;&lt;img src="https://img.shields.io/github/license/iCesofT/awesome-ai" alt="Licencia"/&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="imageblock"&gt;
&lt;div class="content"&gt;
&lt;a class="image" href="https://github.com/iCesofT/awesome-ai"&gt;&lt;img src="https://img.shields.io/github/stars/iCesofT/awesome-ai" alt="Estrellas"/&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="admonitionblock important"&gt;
&lt;table&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class="icon"&gt;
&lt;i class="fa icon-important" title="Important"&gt;&lt;/i&gt;
&lt;/td&gt;
&lt;td class="content"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;El código fuente está disponible en &lt;a href="https://github.com/iCesofT/awesome-ai"&gt;github.com/iCesofT/awesome-ai&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_qué_es_awesome_ai"&gt;&lt;a class="anchor" href="#_qué_es_awesome_ai"&gt;&lt;/a&gt;1. ¿Qué es awesome-ai?&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;&lt;strong&gt;awesome-ai&lt;/strong&gt; es un repositorio de referencia diseñado para potenciar el trabajo de desarrolladoras y desarrolladores que utilizan herramientas de desarrollo asistidas por IA como &lt;a href="https://claude.ai/code"&gt;Claude Code&lt;/a&gt;, Cursor o GitHub Copilot.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;A diferencia de las colecciones genéricas de prompts, este repositorio ofrece:&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>Catalog Service: Microservicio con Arquitectura Hexagonal</title><link>https://www.icesoft.blog/2026/04/07/catalog-service-microservicio-con-arquitectura-hexagonal/</link><pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate><guid>https://www.icesoft.blog/2026/04/07/catalog-service-microservicio-con-arquitectura-hexagonal/</guid><description>
&lt;div id="preamble"&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph lead"&gt;
&lt;p&gt;Microservicio empresarial de catálogo geográfico desarrollado con &lt;strong&gt;Arquitectura Hexagonal&lt;/strong&gt; (Ports &amp;amp; Adapters), &lt;strong&gt;Java 25&lt;/strong&gt; y &lt;strong&gt;Spring Boot 4.0.5&lt;/strong&gt;.
Expone datos de referencia (países, comunidades autónomas, provincias, localidades y tipos de vía) mediante dos protocolos simultáneos: &lt;strong&gt;API REST&lt;/strong&gt; y &lt;strong&gt;gRPC&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_código_fuente"&gt;&lt;a class="anchor" href="#_código_fuente"&gt;&lt;/a&gt;1. Código fuente&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;El repositorio completo está disponible en &lt;a href="https://github.com/iCesofT/arquitectura-hexagonal"&gt;GitHub: iCesofT/arquitectura-hexagonal&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;hr/&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_introducción"&gt;&lt;a class="anchor" href="#_introducción"&gt;&lt;/a&gt;2. Introducción&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;&lt;code&gt;catalog-service&lt;/code&gt; es un microservicio de catálogo geográfico que expone datos de referencia
mediante dos protocolos:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="ulist"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;REST&lt;/strong&gt; — API HTTP/1.1 y HTTP/2 generada a partir de especificaciones &lt;strong&gt;OpenAPI 3.0&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;gRPC&lt;/strong&gt; — API binaria de alta eficiencia generada a partir de &lt;strong&gt;Protocol Buffers&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item><item><title>Setup de un Mac para Desarrollo</title><link>https://www.icesoft.blog/2025/12/10/setup-mac/</link><pubDate>Wed, 10 Dec 2025 10:00:00 +0200</pubDate><guid>https://www.icesoft.blog/2025/12/10/setup-mac/</guid><description>
&lt;div class="sect1"&gt;
&lt;h2 id="_introducción"&gt;Introducción&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;En este post, exploraremos los pasos esenciales para configurar un Mac para el desarrollo de software. Cubriremos desde la instalación de herramientas básicas hasta la configuración de entornos específicos para distintos lenguajes de programación.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_herramientas_esenciales"&gt;Herramientas Esenciales&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="sect2"&gt;
&lt;h3 id="_homebrew"&gt;Homebrew&lt;/h3&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;&lt;a href="https://brew.sh"&gt;Homebrew&lt;/a&gt; es un gestor de paquetes para macOS que facilita la instalación de software. Para instalar Homebrew, abre la terminal y ejecuta el siguiente comando:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code class="language-bash" data-lang="bash"&gt;/bin/bash -c &amp;#34;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)&amp;#34;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect3"&gt;
&lt;h4 id="_aplicaciones_recomendadas"&gt;Aplicaciones recomendadas&lt;/h4&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;A continuación, se listan algunas aplicaciones recomendadas para instalar mediante Homebrew (para instalar, ejecutar &lt;code&gt;brew install &amp;lt;nombre_aplicación&amp;gt;&lt;/code&gt;).&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>Arquitectura Hexagonal</title><link>https://www.icesoft.blog/2025/07/01/arquitectura-hexagonal/</link><pubDate>Tue, 01 Jul 2025 10:00:00 +0200</pubDate><guid>https://www.icesoft.blog/2025/07/01/arquitectura-hexagonal/</guid><description>
&lt;div class="sect1"&gt;
&lt;h2 id="_qué_es_la_arquitectura_hexagonal"&gt;¿Qué es la Arquitectura Hexagonal?&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;La arquitectura hexagonal, también conocida como “Puertos y Adaptadores”, es un patrón de diseño de software que busca aislar el núcleo de la aplicación de los detalles externos como bases de datos, interfaces de usuario, frameworks o servicios de infraestructura. Su objetivo es lograr una aplicación que sea fácil de probar, mantener, evolucionar y desplegar en distintos entornos.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="sect2"&gt;
&lt;h3 id="_por_qué_hablamos_de_arquitectura"&gt;¿Por qué hablamos de arquitectura?&lt;/h3&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Hablamos de arquitectura porque queremos establecer una organización estructural clara del sistema que permita:&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>Completando enumerados</title><link>https://www.icesoft.blog/2024/03/31/completando-enumerados/</link><pubDate>Sun, 31 Mar 2024 19:00:00 +0200</pubDate><guid>https://www.icesoft.blog/2024/03/31/completando-enumerados/</guid><description>
&lt;div class="paragraph"&gt;
&lt;p&gt;En un &lt;a href="https://www.icesoft.blog/2016/10/25/jpa-enumerated-entity/"&gt;post anterior&lt;/a&gt;, recomendaba almacenar un &lt;code&gt;Integer&lt;/code&gt; en la base de datos y utilizar enumerados para gestionar los posibles valores a nivel programático.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;En esta entrada, propongo otra forma de definir el enumerado para obtener el valor de forma más eficiente:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code class="language-java" data-lang="java"&gt;public enum EnumeradoEjemplo {
VALOR1(1), VALOR2(2), VALOR3(3);
private static final Map&amp;lt;Integer, EnumeradoEjemplo&amp;gt; ENUM_MAP;
@Getter
private Integer id;
static {
ENUM_MAP = new HashMap&amp;lt;&amp;gt;();
for (EnumeradoEjemplo ejemplo : EnumeradoEjemplo.values()) {
ENUM_MAP.put(ejemplo.getId(), ejemplo);
}
}
EnumeradoEjemplo(Integer id) {
this.id = id;
}
public Integer getId() {
return id;
}
public static EnumeradoEjemplo valueOf(Integer id) {
EnumeradoEjemplo ejemplo = ENUM_MAP.get(id);
if (ejemplo == null)
throw new IllegalArgumentException(&amp;#34;No existe enumerado con valor: &amp;#34; + id);
return ejemplo;
}
}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;</description></item><item><title>Blog Actualizado</title><link>https://www.icesoft.blog/2024/03/31/blog-actualizado/</link><pubDate>Sun, 31 Mar 2024 04:00:00 +0200</pubDate><guid>https://www.icesoft.blog/2024/03/31/blog-actualizado/</guid><description>
&lt;div class="paragraph"&gt;
&lt;p&gt;Me he propuesto crear un post en el blog más a menudo, así que aquí estoy.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Para ello, he realizado las siguientes tareas:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="ulist"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;He creado un &lt;a href="https://github.com/iCesofT/iCesofT.github.io"&gt;sitio en GitHub Pages&lt;/a&gt; para alojar el blog.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;He creado una &lt;a href="https://github.com/iCesofT/hugo-asciidoc"&gt;imagen Docker de Hugo con AsciiDoc&lt;/a&gt; para utilizarla desde GitHub Actions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;He creado un flujo de trabajo en GitHub Actions para publicar el blog automáticamente.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;De este modo, me sentiré más cómodo para escribir y publicar contenido en el blog: simplemente tengo que escribir en AsciiDoc y hacer un &lt;code&gt;git push&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>Choose Right Technology</title><link>https://www.icesoft.blog/2020/08/25/choose-right-technology/</link><pubDate>Tue, 25 Aug 2020 00:23:37 +0200</pubDate><guid>https://www.icesoft.blog/2020/08/25/choose-right-technology/</guid><description>
&lt;div class="paragraph"&gt;
&lt;p&gt;En la versión anterior del blog hacía mención a un post en &lt;a href="https://dzone.com/articles/how-to-choose-the-right-technology-for-your-projec"&gt;DZone&lt;/a&gt; (&lt;a href="https://blog.sebastian-daschner.com/entries/how_to_choose_technology"&gt;éste&lt;/a&gt; es el enlace del post original) donde se aconsejan algunos puntos de cara a seleccionar la mejor tecnología para los nuevos proyectos.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Las conclusiones son éstas:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="ulist"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Elige la tecnología con la que el equipo esté familiarizado.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;No seas &amp;#34;&lt;em&gt;cool&lt;/em&gt;&amp;#34; - juega en tu tiempo libre.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Elige la herramienta adecuada para el trabajo.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Es preferible los principios un buen diseño de software frente a la última moda.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;No sobrecargue el número de lenguajes de programación.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Edúcate y educa al equipo sobre los fundamentos de la informática.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item><item><title>Documentación como Código</title><link>https://www.icesoft.blog/2020/08/23/doc-as-code/</link><pubDate>Sun, 23 Aug 2020 23:00:00 +0200</pubDate><guid>https://www.icesoft.blog/2020/08/23/doc-as-code/</guid><description>
&lt;div class="paragraph"&gt;
&lt;p&gt;Llevo tiempo promoviendo en los proyectos la utilización de &lt;a href="https://docs-as-co.de/"&gt;Documentación como Código&lt;/a&gt;, por diversos motivos:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="ulist"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Es más cómodo para el equipo de desarrollo a la hora de realizar documentación técnica, dado que se puede utilizar el mismo entorno de desarrollo (IDE).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;La documentación está almacenada en el mismo repositorio de código fuente, en modo texto, y por lo tanto es más sencillo gestionar los cambios / merge, etc.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Para ello, el lenguaje que recomiendo es &lt;a href="https://asciidoc.org/"&gt;AsciiDoc&lt;/a&gt;, que junto a
&lt;a href="https://plantuml.com/"&gt;PlantUML&lt;/a&gt; y &lt;a href="http://ditaa.sourceforge.net/"&gt;ditaa&lt;/a&gt;, podemos generar la documentación incluyendo gráficos, UML,…​ como:&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>Blog Reloaded</title><link>https://www.icesoft.blog/2020/08/23/blog-reloaded/</link><pubDate>Sun, 23 Aug 2020 18:10:19 +0200</pubDate><guid>https://www.icesoft.blog/2020/08/23/blog-reloaded/</guid><description>
&lt;div class="paragraph"&gt;
&lt;p&gt;Después de un tiempo sin actualizar el blog (&lt;em&gt;más de 2 años!!&lt;/em&gt;) y queriendo utilizar otro tipo de herramienta que no fuera &lt;a href="https://wordpress.com/"&gt;WordPress&lt;/a&gt;, estuve buscando una solución que generase páginas estáticas que pudiera alojar en cualquier sitio sin necesidad de disponer de ningún tipo de lenguaje instalado (ej, PHP) o base de datos. También quería, si era posible y dado que seguramente mis posts sean más técnicos que otra cosa, que pudiera utilizar el lenguaje &lt;a href="https://asciidoc.org/"&gt;AsciiDoc&lt;/a&gt;, que tanto me gusta promover cuando hablo de &lt;a href="https://www.icesoft.blog/2020/08/23/doc-as-code/"&gt;Documentación como Código&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>Imagen Docker optimizada para Java 8</title><link>https://www.icesoft.blog/2018/05/25/docker-image-java-8/</link><pubDate>Fri, 25 May 2018 00:00:00 +0000</pubDate><guid>https://www.icesoft.blog/2018/05/25/docker-image-java-8/</guid><description>
&lt;div class="paragraph"&gt;
&lt;p&gt;Habiendo leído estos artículos sobre la problemática de Java 8 en entornos dockerizados:&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>JPA @Enumerated vs. @Entity</title><link>https://www.icesoft.blog/2016/10/25/jpa-enumerated-entity/</link><pubDate>Tue, 25 Oct 2016 00:00:00 +0000</pubDate><guid>https://www.icesoft.blog/2016/10/25/jpa-enumerated-entity/</guid><description>
&lt;div class="paragraph"&gt;
&lt;p&gt;En muchas ocasiones nos hemos visto en la necesidad de incorporar valores que se corresponden con un enumerado, como por ejemplo, diferenciación de tipos, estados,…​ Lo que se suele hacer es crear un enumerado en Java y posteriormente referenciarlo en la clase que lo necesite incorporando la anotación &lt;code&gt;@Enumerated&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;Esta anotación permite que se almacene como valor en la base de datos bien el orden (&lt;code&gt;EnumType.ORDINAL&lt;/code&gt;) o bien el nombre (&lt;code&gt;EnumType.String&lt;/code&gt;) del elemento dentro del enumerado. Ejemplo:&lt;/p&gt;
&lt;/div&gt;</description></item></channel></rss>