• XML
  • HTML
  • SAML
  • transferencia de datos

¿Qué es XML?

XML es un lenguaje de marcado versátil para estructurar y transferir datos. Presenta etiquetas personalizables, estructura jerárquica y definiciones de esquemas. A diferencia de HTML, XML se centra en la representación de datos en lugar de la visualización. Se utiliza ampliamente en varias aplicaciones, incluidas las configuraciones SSO como la implementación SAML de Logto.

Darcy Ye
Darcy Ye
Developer

El Lenguaje de Marcado Extensible (XML) utiliza etiquetas para indicar cómo debe estructurarse, almacenarse y transmitirse el texto en los archivos de datos. XML está diseñado para ser legible por humanos y máquinas, lo que lo convierte en una herramienta de marcado poderosa y altamente personalizable.

XML fue creado por el World Wide Web Consortium (W3C) en 1996. El objetivo del W3C era crear un lenguaje que pudiera ayudar a definir tipos de documentos y proporcionar la capacidad de crear etiquetas personalizadas. El tipo de lenguaje de marcado resultante permite definir cómo se marca la información en una página antes de compartirla como un archivo XML con otro sistema. Siempre que dos sistemas usen el mismo lenguaje XML (con etiquetas que ambos puedan interpretar), ambos sistemas pueden "entender" el formato de archivo XML. Cuando XML se implementa correctamente, esto garantiza que cualquier archivo de datos pueda almacenarse, transmitirse y luego usarse, reproduciendo exactamente los mismos datos y estructura cada vez que se accede a ellos.

Ejemplo de contenido XML

Los datos XML consisten en texto en un archivo digital. Similar a HTML, creas el "código" necesario para archivos XML insertando etiquetas para indicar cómo debe interpretarse el texto. Por ejemplo:

Este ejemplo muestra tres usuarios. El contenido XML incluye nombre, nombre de usuario, correo electrónico y nivel de usuario.

Esto crea un documento XML que puede ser compartido y leído entre proveedores de identidad y proveedores de recursos.

Es importante destacar que el ejemplo anterior demuestra la naturaleza jerárquica de los documentos XML. Por ejemplo:

  • El contenido de la primera línea <?xml version="1.0" encoding="UTF-8"?> es la declaración XML, que especifica la versión y codificación
  • En un documento XML, debe haber un elemento raíz, que en este ejemplo es <users>
  • Todos los demás elementos contenidos dentro del elemento raíz se llaman "elementos secundarios"
  • En el ejemplo anterior, hay 3 elementos secundarios, marcados con la etiqueta <user>
  • Dentro de los elementos secundarios <user>, hay varios otros elementos secundarios, como <name>, <username>, <email> y <level>
  • En la etiqueta <user>, también hay un id, que se llama un atributo XML. Un elemento no puede contener múltiples atributos con el mismo nombre

Las etiquetas utilizadas muestran qué tipo de datos es cada uno, con texto sin formato sirviendo como los mismos datos. También observa cómo el contenido está indentado. Esto no es para ayudar a los sistemas a procesar el archivo XML, sino para ayudar a los humanos a navegar más fácilmente por el archivo XML y su orden jerárquico para descubrir y resolver cualquier error u omisión.

¿Qué es el esquema XML?

Un esquema actúa como la "definición" para un documento XML. Esto significa que describe las reglas clave y las restricciones de la estructura del archivo XML, así como los controles sobre el contenido y los tipos de datos, controlando cómo interactúan entre sí en el documento. Esto asegura que la integridad de los datos del XML esté protegida en todo momento, incluso cuando se maneja entre diferentes aplicaciones o incluso sistemas.

Los dos principales lenguajes de esquema son Definición de Tipo de Documento (DTD) y Definición de Esquema XML (XSD). XSD es el lenguaje más utilizado en documentos XML debido a su rico conjunto de características, potentes capacidades de tipos de datos y más.

¿Qué es la sintaxis XML?

Si los esquemas XML como XSD tratan sobre especificaciones detalladas para documentos XML para asegurar su validez, entonces la sintaxis XML proporciona un conjunto de reglas que gobiernan y controlan la estructura general de los archivos XML. Por ejemplo, la sintaxis XML puede abarcar contenido de texto, como elementos autodescifrantes (piezas únicas de información que no requieren contenido adicional) o declaraciones XML (utilizadas al comienzo de los documentos para describir información clave, como la codificación de caracteres), así como la versión XML utilizada por el documento.

XML vs HTML

Si estás familiarizado con HTML, la forma en que los archivos XML utilizan el marcado te resultará muy familiar, pero hay una diferencia clave entre estos dos lenguajes de marcado—sus casos de uso y propósitos difieren:

  • HTML es un lenguaje de marcado que se utiliza para ayudar a los navegadores a entender cómo mostrar contenido en pantalla
  • XML es un lenguaje de marcado utilizado para almacenar, mostrar y transferir datos

Además de esto, tienen algunas otras diferencias:

  1. Debido a que HTML es para renderizar contenido en páginas web, sus tipos de etiquetas están predefinidos, mientras que las etiquetas XML pueden personalizarse según situaciones reales.
  2. HTML es a menudo estático ya que se utiliza para mostrar contenido; XML es dinámico ya que se utiliza para transferir datos
  3. HTML no admite espacios de nombres, mientras que XML puede usar espacios de nombres para distinguir etiquetas que podrían tener el mismo nombre pero diferentes contextos para evitar confusiones

En este ejemplo:

  • tech:title usa <http://www.example.com/tech> como el espacio de nombres, indicando que este elemento <title> pertenece al espacio de nombres tech
  • bio:author usa <http://www.example.com/bio> como el espacio de nombres, indicando que este elemento <author> pertenece al espacio de nombres bio

¿Cómo se utiliza XML en Logto?

Logto admite el protocolo SAML para SSO. Al configurar SSO, el proveedor de identidad proporciona un archivo de configuración en formato XML que incluye configuraciones importantes como certificados y URLs de inicio de sesión único.

Al configurar SAML SSO, Logto permite cargar directamente el archivo de configuración XML obtenido del proveedor de identidad, eliminando la necesidad de completar manualmente cada elemento de configuración.