Un editor XML es un editor de lenguaje de marcado con funciones adicionales para facilitar la edición de XML . Esto se puede hacer usando un editor de texto simple , con todo el código visible, pero los editores XML tienen funciones adicionales como la finalización de etiquetas y menús y botones para tareas que son comunes en la edición XML, basadas en datos suministrados con la definición de tipo de documento (DTD) o el árbol XML.
También existen editores gráficos XML que ocultan el código en segundo plano y presentan el contenido al usuario en un formato más fácil de usar, similar a la versión renderizada o a los formularios de edición. Esto resulta útil en situaciones en las que personas que no dominan el código XML necesitan introducir información en documentos basados en XML, como hojas de horas e informes de gastos. E incluso si el usuario está familiarizado con XML, el uso de estos editores, que se encargan de los detalles de sintaxis, suele ser más rápido y cómodo.
Un editor XML va más allá del resaltado de sintaxis que ofrecen muchos editores de texto simple y editores de código fuente genéricos, verificando el código fuente XML basándose en un esquema XML o DTD XML, y algunos pueden hacerlo mientras se edita el documento en tiempo real. [1] Otras características de un editor diseñado específicamente para editar XML pueden incluir la finalización de palabras de elementos y la adición automática de una etiqueta de cierre siempre que se introduzca una etiqueta de apertura. Estas características pueden ayudar a evitar errores de origen tipográfico en el código XML. Algunos editores XML ofrecen la posibilidad de ejecutar una transformación XSLT , o una serie de transformaciones, sobre un documento. Algunos de los paquetes XML más grandes incluso ofrecen funciones de depuración XSLT y procesadores XSL-FO para la generación de archivos PDF a partir de documentos.
<?xml versión="1.0" codificación="utf-8"?> <Lista de artículos rastreados> <Valor de FlowRecipeID="TestPP.BND"/> <MaterialID Valor="54321"/> </ListaDeElementosSeguidos>
Los editores gráficos basados en GUI pueden resultar más fáciles de usar para algunas personas que los editores de texto y pueden no requerir conocimientos de sintaxis XML. A menudo se los denomina editores WYSIWYG ("What You See Is What You Get"), pero no todos son WYSIWYG: los editores XML gráficos pueden ser WYSIWYG cuando intentan mostrar la representación final o WYSIWYM ("What You See Is What You Mean") cuando intentan mostrar el significado real de los elementos XML. Cuando no son WYSIWYG, no muestran el resultado final gráfico de un documento (o uno de ellos), sino que se centran en transmitir el significado del texto. Utilizan DTD o esquemas XML y/o archivos de configuración para asignar elementos XML a componentes gráficos.
Este tipo de editores suelen ser más útiles para lenguajes XML que para almacenar datos, ya que los documentos suelen tener una estructura bastante libre, lo que suele desafiar la naturaleza generalmente rígida de muchos editores gráficos.
En el ejemplo anterior, el editor utiliza un archivo de configuración para saber que el elemento TABLE representa una tabla, el elemento TR representa una fila de la tabla y el elemento TD representa una celda de la tabla. Utiliza esta información para mostrar la tabla en función de esta información de estructuración, con el fin de facilitar la edición.
La información de los archivos de esquema y configuración también se puede utilizar para garantizar que los usuarios no creen documentos no válidos. Por ejemplo, en un editor de texto, es posible crear una fila con demasiadas celdas en la tabla, mientras que esto no sería posible con la interfaz gráfica de usuario anterior.
Los editores WYSIWYG permiten editar archivos directamente con las etiquetas representadas por algún tipo de visualización gráfica en lugar de código XML puro. A menudo, los editores WYSIWYG intentan emular el resultado de alguna aplicación de transformación o de hoja de estilo CSS . Esta emulación puede ser posible o no, según la transformación de XML al resultado.
El uso ingenuo de un editor WYSIWYG puede llevar a la creación de documentos que no tienen la semántica intrínseca del lenguaje XML en particular. Esto ocurre si el usuario se centra en intentar lograr una determinada presentación visual con el editor, en lugar de utilizar el WYSIWYG para facilitar la edición del documento. Por ejemplo, alguien que crea una página web podría utilizar un elemento H2 (es decir, título de segundo nivel) en lugar de H1 (es decir, título de primer nivel) porque se ve más pequeño en su editor WYSIWYG actual. Un autor de este tipo está haciendo una elección basada en la representación visual aparente, pero un visitante de la página web del autor puede ofrecer una representación muy diferente en su navegador .
Sin embargo, siempre que el autor comprenda el significado subyacente del documento y no tome decisiones basándose en el aspecto exacto del editor WYSIWYG, dicho editor puede resultar valioso para el escritor. Por lo general, es mucho más fácil leer un documento que se está procesando de alguna manera que leer el código XML sin formato. Además, la edición puede ser mucho más intuitiva, ya que el editor WYSIWYG puede utilizar herramientas similares a muchas aplicaciones de procesamiento de textos. Algunos editores WYSIWYG incluso permiten al usuario utilizar un DTD o un esquema y definir su propia interfaz de usuario para la edición.
Por lo general, los editores WYSIWYG admiten CSS pero no XSLT, porque las transformaciones XSLT pueden ser muy complejas y puede resultar imposible adivinar lo que el usuario quiso decir al cambiar el resultado. Por lo tanto, los editores WYSIWYG que sí admiten XSLT, como Syntext Serna, aplicarán los cambios directamente al XML original y actualizarán la vista ejecutando XSLT para cada cambio.
En el ejemplo anterior, se utiliza una hoja de estilo para colorear las celdas de una tabla de una manera determinada. Por ejemplo, las filas pares no tienen el mismo color de fondo que las filas impares, para facilitar la lectura.