Para empezar, es recomendable que se utilice un simple editor de texto (Notepad, emacs, joe, vi, ...). Una vez que estemos familiarizados con la sintaxis y características del XML, podremos pasar a editores especificamente dedicados a la composición de documentos XML, que supuestamente nos harán la vida más fácil.
Podemos diferenciar dos tipos de editores XML:
- Los que representan el documento XML en forma de árbol.
- Los que presentan el documento XML en su formato original (texto plano).
Por supuesto, también existen editores mixtos que nos permiten ambas posibilidades de edición.
Los del primer tipo presentan permiten realizar operaciones como añadir o eleminar nodos, etc. Algunos editores de este tipo son:
- XML Notepad: El más simple. Es de Microsofty está basado en el parser MSXML. No permite validar documentos de XML, ni permite el tratamiento de DTDs, ni nada de nada.
- EXml: parecido al anterior pero con mejoras en el aspecto visual.No es de Mocosoft.
- EditML: Estupendo editor de documentos XML basado en el parser MSXML de Microsoft (necesitas Internet Explorer 4.0, o superior). Permite edición de XML documentos, validarlo contra una DTD, generar un DTD automáticamente, importa datos desde ficheros de texto con formato de registros o bien desde una base de datos ODBC.
- Visual XML: Permite crear y modificar DTDs y documentos XML. No funciona con el JDK 1.2.
- debit: Simple editor que permite validar documentos contra una DTD y ver el resultado de aplicar plantillas de estilo XSL al documento.
Los del segundo tipo son editores normales de ficheros de texto, pero con facilidades de edición enfocadas al XML.
- XED: Valida los documentos XML de una forma concisa.
- PSGML para Emacs: es un modo superior de Emacs para trabajar con SGML que se ha modificado para soportar XML. Lee la DTD, puede utilizar un analizador externo para validar documentos, realiza coloración de sintaxis y otras muchas cosas.
En ambos tipos hay que diferenciar los que trabajan contra una DTD y, por lo tanto, validan el contenido de lo que escribimos, y los que simplemente nos aseguran que el documento XML es bien formado, es decir, sintácticamente correcto respecto de las especificaciones del XML.
La elección de uno u otro dependerá del tipo de documento que estemos escribiendo. Si queremos escribir un documento XML que, por ejemplo, intente representar la información que introducimos en una base de datos, nos vendrá bien uno del primer tipo. En cambio, si queremos escribir un documento con gran cantidad de texto (por ejemplo un manual) nos vendrá mejor uno del segundo tipo. En cualquiera de los dos casos es recomendable que permita trabajar sobre una DTD.
Todos estos son editores sencillos y gratuitos. Por supuesto existen editores muchos más complejos, que nos permiten editar nuestros documentos XML/SGML como si lo hiciésemos en un procesador de texto. Es el caso del Adept de ArborText o de las facilidades para trabajar sobre SGML/XML de la última versión de WordPerfect, y FrameMaker+SGML. Además también están XMLSpy, Sonic Stylus Studio, etc.