Cuestiones Frecuentemente Formuladas sobre el Extensible Markup Language

La FAQ XML

[logo]

Versión 1.3 (1 de junio de 1998)

Mantenido en nombre del Grupo Especial de Interés en XML del Consorcio World Wide Web por Peter Flynn, (University College Cork), con la colaboración de Terry Allen, (), Tom Borgman, (Harlequin Ltd), Tim Bray, (Textuality, Inc), Robin Cover, (Summer Institute of Linguistics), Christopher Maden, (O'Reilly & Associates), Eve Maler, (Arbortext, Inc), Peter Murray-Rust, (Nottingham University), Liam Quin, (), Michael Sperberg-McQueen, (University of Illinois at Chicago), Joel Weber, (MIT), Murata Makoto (Fuji Xerox Information Systems), y muchos otros miembros del Grupo Especial de Interés en XML del W3C así como por los lectores de la FAQ alrededor del mundo. Por favor utilice el formulario que se encuentra al final para cualquier corrección o adición. Traducido por Jaime Sagarduy.

Cambios recientes

1 de junio de 1998

  • Eliminado el math plug-in (El enlace con Linux Netscape está roto)
  • Lista actualizada de eventos (se requieren más)
  • Arregladas algunos de las URLs 'rotas'
  • Adición de traducciones en español y koreano, y la versión comentada de la especificación
  • Detalles actualizados de desarrollo de MS y NS
  • Clarificado el uso de FPI vs SysiD
  • Enlace actualizado a la Recomendación del 10 de febrero
  • Adición de punteros a la Declaración de SGML para XML
  • Referencias actualizadas a XLink y a XPointer
  • Corregida una referencia a un antiguo escrito sumerio
  • Clarificada la necesidad de conversión de DTDs de HTML a XML
  • Correcciones menores y de tipos

Los párrafos añadidos desde la última versión se muestran precedidos de (¶). Los que hayan cambiado van precedidos del signo (§). Los párrafos marcados para la eliminación futura se señalan mediante el signo (±).

Resumen

Este documento contiene la cuestiones más frecuentemente formuladas (con respuestas) sobre XML, el Extensible Markup Language. Está pensado como primer recurso para usuarios, desarrolladores, y lectores interesados, y no será tomado como parte de la Especificación XML.

Organización

La FAQ está dividida en cuatro partes: a) General, b) Usuario, c) Autor, y d) Desarrollador. Las cuestiones están numeradas independientemente en cada sección. Dado que la numeración puede cambiar en cada versión, los comentarios y sugerencias se referirán al número de versión (véase Historial de Revisión arriba) así como la Parte y el número de Cuestión.

Existe un formulario al final de este documento que puede utilizarse para indicar los posibles errores, sugerencias y otros comentarios relativos a esta FAQ. Los comentarios acerca de la Especificación XML deben ser enviados al W3C.

Disponibilidad

El fichero SGML para ser usado con cualquier sistema conformador de SGML está disponible en http://www.ucc.ie/xml/faq.sgml (inglés) (también puede consultarse 'online' con un visualizador SGML como Panorama o Multidoc Pro; también puedes descargar el instalador autoextraible de la DTD y los estilos para un acceso local más rápido con este tipo de visualizadores, o el conjunto de DTDs en ficheros ASCII).

El mismo texto está disponible en versión HTML para ser usado con visualizadores HTML (p.e. Netscape Navigator, Microsoft Internet Explorer, Spry Mosaic, NCSA Mosaic, Lynx, Opera, GNUscape Navigator etc.) en http://www.ucc.ie/xml/.

La versión XML está pendiente de la aparición de la especificación definitiva y de que las DTDs y los visualizadores disponibles sean capaces de soportarla.

La versión en texto ASCII está disponible a través de la Web y (eventualmente) vía FTP anónimo a uno de los múltiples Repositorios de FAQs. Las versiones anteriormente mencionadas también están disponibles a través de correo electrónico al servidor WebMail (para usuarios con acceso a correo electrónico únicamente).

Para obtener copia impresa existen versiones PostScriptTM para tamaños de papel tipo A4 y Carta.

§ Gracias a Murata Makoto por hacer disponible este documento en japonés: véase http://www.fxis.co.jp/DMS/sgml/xml/xmlfaq.html; a Jaime Sagarduy de la Universidad de Deusto, Bilbao por la traducción a español (véase http://slug.ctv.es/~olea/sgml-esp/xfaq13.html); al "Techno 2000 Project" por la versión koreana en http://xml.t2000.co.kr/faq/index.html; y a Tim Bray por la Especificación Comentada en http://www.xml.com/axml/testaxml.htm

Puedes descargar el logo XML y un icono para tus archivos en formato ICO (Microsoft Windows), Mac o XBM (X Window).


Las Preguntas

A. Cuestiones Generales

A.1   ¿Qué es XML?

A.2   ¿Para qué sirve XML?

A.3   ¿Qué es SGML?

A.4   ¿Qué es HTML?

A.5   ¿No son lo mismo XML, SGML y HTML?

A.6   ¿Quién es el responsable de XML?

A.7   ¿Por qué supone XML un avance tan importante?

A.8   ¿Cómo es que si XML simplifica SGML te deja definir tus propios tipos de documentos?

A.9   ¿Por qué no se extiende simplemente HTML?

A.10   ¿Para qué necesitamos todo esto de SGML? ¿Por qué no utilizamos simplemente Word o Notes?

A.11   ¿Dónde puedo encontrar más información sobre XML?

A.12   ¿Dónde puedo discutir sobre la implementación el desarrollo de XML?

B. Usuarios de SGML (incluyendo visualizadores de HTML)

B.1   ¿Tengo que hacer algo para usar XML?

B.2   ¿Por qué debería usar XML en vez de HTML?

B.3   ¿Dónde puedo conseguir un visualizar de XML?

B.4   ¿Tengo que cambiar de SGML o HTML a XML?

C. Autores de SGML (incluyendo autores de HTML)

C.1   ¿XML reemplaza a HTML?

C.2   ¿Cómo es "por dentro" un documento XML?

C.3   ¿Cómo maneja XML los espacios en blanco en mis documentos?

C.4   ¿Qué partes de un documento XML son sensibles al tipo de letra?

C.5   ¿Cómo puedo hacer que mis ficheros HTML funcionen en XML?

C.6   ¿Si XML es un subconjunto de SGML, puedo usar ficheros XML directamente con las herramientas SGML?

C.7   Estoy acostumbrado a utilizar HTML ¿Puedo aprender XML fácilmente?

C.8   ¿XML será capaz de usar caracteres no Latinos?

C.9   ¿Qué es una DTD (Document Type Definition) y dónde consigo una?

C.10   ¿Cómo afectará XML a los enlaces de mis documentos?

C.11   ¿Puedo "utilizar matemáticas" en XML?

C.12   ¿Cómo maneja XML los metadatos?

C.13   ¿Puedo utilizar Java, ActiveX, etc. en XML?

C.14   ¿Cómo puedo controlar la apariencia?

C.15   ¿Cómo puedo utilizar imágenes en XML?

D. Desarrolladores e Implementadores (incluyendo WebMasters y administradores de servidores)

D.1   ¿Dónde está la especificación?

D.2   ¿Qué significan los términos 'sin DTD', 'válido', y 'bien-formado'?

D.2.1   Documentos 'bien-formados'

D.2.2   XML válido

D.3   ¿Qué más cambia entre SGML y XML?

D.4   ¿Qué software XML puedo usar hoy en día?

D.5   ¿Tengo que cambiar el software en mi servidor para trabajar con XML?

D.6   ¿Puedo utilizar todavía INCLUDEs de Servidor?

D.7   ¿Puedo seguir utilizando INCLUDEs de Cliente?

D.8   Estoy intentando comprender la especificación de XML: ¿por qué SGML (y XML) tiene una terminología tan difícil?

D.9   ¿Existe algún API para desarrolladores de XML?


Las Respuestas


A. Cuestiones Generales

A.1   ¿Qué es XML?

XML es el "Extensible Markup Language". (extensible porque no es un formato prefijado como HTML). Está diseñado para permitir el uso de SGML en la World Wide Web.

Actualmente está sin nombre definitivo: XML no es sólo un lenguaje de etiquetas: es un metalenguaje que te permite diseñar tu propio lenguaje de etiquetas. Un lenguaje de etiquetas normal define la manera de describir información en una determinada clase de documentos (p.e. HTML). XML te permite definir tu propio lenguaje de etiquetas para múltiples clases de documentos. Esto es posible por que está escrito en SGML, el metalenguaje internacional estándar para lenguajes etiquetados.

A.2   ¿Para qué sirve XML?

XML está diseñado "para hacer fácil y directo el uso de SGML en la Web: fácil de definir tipos de documentos, facilidad para el autor y gestor de documentos definidos en SGML, y fácil de transmitir y compartirlos a través de la Web."

Define "un dialecto extremadamente simple de SGML, el cual está completamente descrito en la Especificación XML. El objetivo es habilitar que el SGML genérico sea servido, recibido, y procesado en la Web de la forma que ahora permite hacerlo HTML."

"Por esta razón, XML ha sido diseñado para facilitar la implementación, y para permitir la interoperatividad entre SGML y HTML" [citas de la especificación XML].

A.3   ¿Qué es SGML?

SGML es el Standard Generalized Markup Language (ISO 8879), el estándar internacional para la definición de la estructura y el contenido de diferentes tipos de documentos electrónicos. Existe una FAQ SGML en http://www.infosys.utas.edu.au/info/sgmlfaq.txt y las páginas Web de SGML están en http://www.sil.org/sgml/.

A.4   ¿Qué es HTML?

HTML es el HyperText Markup Language (RFC 1866), una aplicación específica de SGML utilizada en la World Wide Web.

A.5   ¿No son lo mismo XML, SGML y HTML?

No del todo. SGML es la raíz de todo, se utiliza para describir miles de documentos de diferentes tipos en múltiples campos de la actividad humana, desde transcripciones de antiguos rollos Sumerios hasta la documentación técnica de los bombarderos invisibles, y desde los historiales médicos de los pacientes hasta notaciones musicales.

HTML es únicamente uno de esos tipos de documentos, el más utilizado en la Web. Define a un tipo único y prefijado de documento con etiquetas que te permite describir una clase común de "informes tipo oficina", con cabeceras, párrafos, listas, ilustraciones, etc., y con algo de hipertexto y multimedia.

XML es una versión abreviada de SGML, que te facilita definir tus propios tipos de documentos, y hace más fácil realizar programas que los traten. Omite las partes más complejas y menos utilizadas de SGML para redundar en el beneficio de escribir aplicaciones, más fáciles de entender, y más dadas a la distribución y la interoperatividad sobre la Web. Pero sigue siendo SGML, y los ficheros XML pueden todavía ser analizados y validados como cualquier fichero SGML (véase software XML).

Los programadores pueden encontrar útil pensar que XML es como SGML, más que como HTML++.

A.6   ¿Quién es el responsable de XML?

XML es un proyecto del World Wide Web Consortium (W3C), y el desarrollo de la especificación está siendo supervisado por el grupo de Trabajo XML. Un Grupo Especial de Interés de contribuidores y expertos de varios campos que contribuyen con comentarios y revisiones vía correo electrónico.

§ XML es un formato público: no está desarrollado propietariamente por una compañía. La versión 1.0 de la especificación fue aceptada por el W3C como Recomendación el 10 de febrero de 1998.

A.7   ¿Por qué supone XML un avance tan importante?

Elimina dos restricciones que han "retrasado" a los desarrolladores de Web:

  1. dependencia de un único e inflexible tipo de document (HTML);

  2. la complejidad del SGML completo, cuya sintaxis permite múltiples opciones pero difíciles de programar.

XML simplifica los niveles de opcionalidad en SGML, y permite el desarrollo de tipos de documentos definidos por el usuario en la Web.

A.8   ¿Cómo es que si XML simplifica SGML te deja definir tus propios tipos de documentos?

Para hacer SGML más simple, XML redefine algunos valores internos y parámetros de SGML, y elimina un largo número de elementos muy complejos y poco utilizados, lo que dificultaba la creación de programas procesadores de los mismos (véase Apéndice A de la Especificación XML).

Sin embargo conserva algunas habilidades estructurales de SGML que te permiten definir tus propios tipos de documentos. También introduce una nueva clase de documentos que no requieren de tipos predefinidos de documentos. Véase las cuestiones acerca de "validez" y "buena-formación" de documentos, y cómo definir tus propios tipos de documentos en la Sección de Desarrolladores.

A.9   ¿Por qué no se extiende simplemente HTML?

HTML está ya sobrecargado con docenas de inventos interesantes, pero frecuentemente incompatibles de diferentes creadores, porque sólo permite una manera de describir la información.

XML permitirá que grupos de personas se organicen sus propios lenguajes de etiquetas para intercambiar información en su campo (música, química, electrónica, finanzas, lingüística, ingeniería, surfing, etc.).

HTML está al límite de sus capacidades como método de descripción de información, y aunque continua jugando un papel importante para los contenidos que actualmente representa, muchas nuevas aplicaciones requieren una infraestructura más flexible y robusta.

A.10   ¿Para qué necesitamos todo esto de SGML? ¿Por qué no utilizamos simplemente Word o Notes?

En una red que conecta a muchos tipos de computadoras, la información debe ser utilizable por todos ellos. La información pública no puede estar restringida a un modelo o fabricante o a ceder el control de su formato de datos a manos privadas. También es de útil que esa información esté representada de tal forma que permita ser reutilizada de diferentes maneras, de manera que minimice tiempos y esfuerzos.

SGML es el estándar internacional que se utiliza para definir este tipo de aplicaciones, pero aquellos que necesitan una alternativa basada en software diferente son libres de implementar servicios similares usando este sistema, especialmente si es para uso privado.

A.11   ¿Dónde puedo encontrar más información sobre XML?

En la red está la Especificación XML y documentación adicional del W3C; una sección XML con una extensa referencia a material 'online' en las páginas de SGML de Robin Cover; y un resumen y una FAQ de Tim Bray.

§ Los acontecimientos mostrados abajo son los que le han comentado al autor de esta FAQ: por favor informadle si conocéis otros.

  • § La Conferencia Anual sobre SGML mantenida por el "Graphic Communications Association" se renombró como "Conferencia SGML/XML" en 1997. SGML/XML '98 se celebrará en Chicago entre el 16 y 19 de noviembre (más detalles en la Web de GCA).

Existe una lista de libros y artículos sobre XML en las páginas de SGML de Robin Cover.

A.12   ¿Dónde puedo discutir sobre la implementación el desarrollo de XML?

Existen listas de correo como xml-dev para desarrolladores de componentes XML. Puedes suscribirte mandando un mensaje a majordomo@ic.ac.uk con el mensaje:

subscribe xml-dev tunombre@tuservidor

La lista se envía para consultas 'online' a http://www.lists.ic.ac.uk/hypermail/xml-dev/.

Tener en cuenta que esta lista es para personas activamente involucradas en el desarrollo de recursos XML. No es de propósito general sobre XML (véase esta FAQ y otros recursos) o para discusiones generales sobre la implementación y recursos de SGML (véase comp.text.sgml).

Existe una lista de correo de propósito general llamada XML-L para la discusión pública: para suscribirse envíe a LISTSERV@listserv.hea.ie un mensaje indicando

subscribe XML-L nombre apellido

(sustituyendo tu nombre y apellido). Para desuscribirse, envíe un mensaje a la misma dirección indicando

unsubscribe XML-L

Por favor lee la Documentación que se te envía cuando te unes cualquier lista, porque contiene información importante, particularmente acerca de lo debes hacer cuando cambias de dirección de correo electrónico.


B. Usuarios de SGML (incluyendo visualizadores de HTML)

B.1   ¿Tengo que hacer algo para usar XML?

Todavía no. XML está en proceso de desarrollo, pero ya existen algunos visualizadores piloto, de manera que puedes experimentar con ellos. Cuando la especificación esté completa, empezará a aparecer más software y podrás descargarte visualizadores y utilizarlos para buscar en la Red más y mejor que con las aplicaciones actuales.

Puedes utilizar los visualizadores piloto para ver el material XML emergente, como Las obras de Shakespeare de Jon Bosak's y un experimento molecular del Chemical Markup Language (CML). Existen algunos otros recursos de ejemplo listados en http://www.sil.org/sgml/xml.html#examples.

Si quieres prepararte para comenzar a escribir tu propio XML, consulta las cuestiones en la Sección de Autores.

B.2   ¿Por qué debería usar XML en vez de HTML?

B.3   ¿Dónde puedo conseguir un visualizador de XML?

Ya están emergiendo algunos visualizadores, pero la Especificación XML es todavía muy reciente. Como con HTML, no habrá un único visualizador. Sin embargo, dado el potencial número de aplicaciones XML diferentes, ningún visualizador manejará el 100% de los aspectos de XML.

La parte genérica de XML (p.e. el análisis, gestión del árbol, búsquedas, formato, etc.) están siendo combinadas en unas bibliotecas o 'toolkits' de propósito general para hacer más fácil a los desarrolladores el realizar una línea consistente cuando escriban aplicaciones XML. Dichas aplicaciones pueden ser individualizadas añadiendo semánticas diferentes para los mercados específicos, o utilizar lenguajes como Java para desarrollar 'plugins' para los visualizadores genéricos y tener módulos especiales para ser enviados transparentemente por la Web.

§ Netscape y Microsoft están ambos desarrollando utilidades XML: algunos de los trabajos en desarrollo de Microsoft pueden ser visitados en http://www.microsoft.com/msdn/sdk/inetsdk/help/ (MSIE4 contiene dos analizadores XML pero actualmente transforman a HTML para la visualización).

Netscape ha publicado su código fuente para su desarrollo cooperativo (véase http://www.mozilla.org/) y está incluyendo una aplicación de RDF más el analizador XML expat de James Clark en la versión 2.0 de Mozilla.

También puedes consultar la notas sobre software para autores y desarrolladores, y una lista más detallada en las páginas XML en la Web de SGML en http://www.sil.org/sgml/xml.html.

B.4   ¿Tengo que cambiar de SGML o HTML a XML?

No, las aplicaciones software de SGML y HTML existentes continuarán trabajando con los ficheros existentes. Pero como con cualquier otra utilidad si quieres ver o descargar y utilizar ficheros XML, necesitarás añadir un software conocedor de XML cuando estén disponibles.


C. Autores de SGML (incluyendo autores de HTML)

Los autores deben leer también la Sección de Desarrolladores, la cual contiene más información sobre los ficheros internos de XML.

C.1   ¿XML reemplaza a HTML?

No, XML por sí mismo no reemplaza a HTML: sin embargo, proporciona una alternativa permitiéndote definir tu propio conjunto de elementos etiqueta. HTML está previsto que permanezca para usos comunes por algún tiempo, y las DTDs estarán disponibles en versiones XML y en las SGML originales. XML está diseñado para hacer más simple la tarea de escribir DTDs que con SGML.

Se está trabajando para producir versiones XML de HTML y otras DTDs populares, pero estas no aparecerán hasta que la especificación de XML 1.0 esté completa. Consultar comp.text.sgml y XML-L para conocer las últimas noticias.

C.2   ¿Cómo es "por dentro" un documento XML?

La estructura básica es muy similar a la de la mayoría de aplicaciones SGML, incluyendo HTML. Los documentos XML pueden ser muy simples, sin ninguna declaración de tipo de documento, y con etiquetas directamente anidadas en tus propios diseños:

<?XML version="1.0" standalone="yes"?>
<consersacion>
  <saludo>¡Hola, mundo!</saludo>
  <respuesta>Para el planeta ¡me quiero bajar!</respuesta>
</consersacion>

O pueden ser más complicados, con DTDs específicas, y tal vez con un subconjunto interno, y una más compleja estructura:

<?XML version="1.0" standalone="no" encoding="UTF-8"?>
<!DOCTYPE titulopag SYSTEM "http://www.frisket.org/dtds/typo.dtd" 
[<!ENTITY % active.links "INCLUDE">]>
<titulopag>
  <espacio-blanco tipo="vertical" cantidad="36"/>
  <titulo fuente="Baskerville" tamano="24/30" 
	alineacion="centered">¡Hola, mundo!</titulo>
  <espacio-blanco tipo="vertical" cantidad="12"/>
  <!-- En algunas copias la siguiente decoration es 
        coloreada a mano, presumiblemente por el autor -->
  <imagen localizacion="http://www.foo.bar/fleuron.eps" tipo="URL" alineacion="centered"/>
  <espacio-blanco tipo="vertical" cantidad="24"/>
  <autor fuente="Baskerville" tamano="18/22" estilo="italic">Munde Salutem</autor>
</titulopag>

o cualquier otra posibilidad entre: como quieres definir tus DTD y para qué se utilizarán. Véase la cuestión ficheros válidos y bien-formados.

C.3   ¿Cómo maneja XML los espacios en blanco en mis documentos?

Las reglas SGML respecto a los espacios en blanco se han cambiado en XML, con lo que todos los espacios en blanco, incluyendo los saltos de línea, tabuladores, y espacios, son pasados inalterados por el analizador (parser) a la aplicación (visualizador, formateador, visor, etc.). Esto significa que:

  • los espacios en blanco 'insignificantes' entre elementos estructurales (los que sólo pueden contener otros elementos, no datos de texto, a veces llamados 'elementos contenedor') serán pasados a la aplicación (en SGML estos espacios son suprimidos);

  • los espacios en blanco 'significantes' entre elementos que pueden contener texto y etiquetas, mezclados, ('contenedores mezclados' o PCDATA [Datos carácter analizados]) todavía serán pasados a la aplicación como antes.

<capitulo>
  <secion>
    <titulo>
      El título de la Sección
1.
    </titulo>
    <parrafo>
      ...
    </parrafo>
  </seccion>
</capitulo>

El analizador (parser) debe, en cualquier caso, informar a la aplicación que existen espacios en blanco en el contenido del elemento, si lo sabe. (Los usuarios de SGML reconocerán que esta información no estaba en la ESIS, pero está en el 'grove'.) En el ejemplo anterior, la aplicación recibirá todos los saltos de línea, tabuladores y espacios entre los elementos, así como los que se encuentran dentro de la sección 'titulo'. Es función de la aplicación (visualizador, formateador, visor, etc.) decidir que tipo de espacios descartar y cuales dejar.

C.4   ¿Qué partes de un documento XML son sensibles al tipo de letra?

Todo en un fichero XML es sensible a las mayúsculas/minúsculas, las etiquetas y el texto. Esto es significativamente diferente de HTML y otros tipos de documentos SGML. Se introdujo para permitir etiquetas en alfabetos no latinos y para obviar problemas con 'scripts' que son sensibles al tipo de letra.

  • Los nombre de elementos (usados en etiquetas de comienzo y fin) son sensibles al tipo: debes crear algún tipo de regla para la combinación de mayúsculas - o minúsculas - para definirlos (incluso por utilidad o en una DTD);

  • Para ficheros bien-formados sin DTD, la primera aparición de un nombre de elemento define el tipo. Luego no puedes utilizar <BODY> . . . </body>: los tipos deben coincidir; además <IMG/> y <img/> son dos elementos diferentes;

  • Los nombres de atributos también son sensibles al tipo, por ejemplo <PIC width="7in"/> y <PIC WIDTH="6in"/> en el mismo fichero define dos atributos diferentes, porque la diferenciación del tipo de width y WIDTH los distingue;

  • Los valores de los atributos también son sensibles al tipo. Los valores de los datos carácter (p.e. HRef="MyFile.SGML") son exactamente como antes, pero los atributos ID e IDREF son sensibles al tipo y ya no serán convertidos a mayúsculas para su comparación;

  • Todos los nombres de entidades (&Aacute;), y tus datos contenidos (tu texto), son sensibles al tipo, exactamente como antes.

C.5   ¿Cómo puedo hacer que mis ficheros HTML funcionen en XML?

Hazlos bien-formados (véase más abajo). Una DTD es opcional en XML, pero los ficheros HTML actualmente no deben tener DTD, de cualquier modo, como todavía no existe una versión XML de la DTD de HTML. (Mientras tanto) es necesario convertir los ficheros HTML existentes para que sean bien-formados porque XML no permite la minimización de etiquetas de fin como lo permiten la mayoría de las DTD de HTML. Muchas de las herramientas de creación HTML ya producen (no del todo) XML casi-bien-formado.

Todos los documentos XML deben estar bien-formados (véase más abajo), pero las DTD son opcionales. Los archivos HTML pueden ser convertidos a la forma de XML sin-DTD, pero no pueden ser versiones XML de las DTDs de HTML actuales basadas en SGML: deben ser editadas sustancialmente para eliminar su dependencia de las características de SGML que se han excluido de XML. Sin embargo, muchos herramientas de creación HTML ya producen XML casi bien-formado (no del todo) sin DTD. Existe un sitio piloto (http://www.xmlx.com/) para el intercambio de DTDs de XML.

Si has creado tus ficheros HTML conforme a una de las múltiples Definiciones de Tipo de Documentos (DTDs) de HTML, y están validados positivamente, éstos podrán ser convertidos como sigue:

  • reemplaza la declaración DOCTYPE y cualquier subconjunto interno (básicamente todo entre el primer conjunto de paréntesis angulares <!DOCTYPE HTML...>) con la declaración XML <?XML version="1.0" standalone="yes"?>

  • cambia cualquier elemento VACÍO (p.e. <ISINDEX>, <BASE>, <META>, <LINK>, <NEXTID> y <RANGE> en la cabecera, y <IMG>, <BR>, <HR>, <FRAME>, <WBR>, <BASEFONT>, <SPACER>, <AUDIOSCOPE>, <AREA>, <PARAM>, <KEYGEN>, <COL>, <LIMITTEXT>, <SPOT>, <TAB>, <OVER>, <RIGHT>, <LEFT>, <CHOOSE>, <ATOP>, y <OF> en el cuerpo) para que terminen con '/>', por ejemplo <IMG SRC="mypic.gif" alt="Picture"/>

  • asegúrate de que están correctamente unidos las etiquetas finales explícitas para todos los elementos no vacíos; p.e. todos los <P> deben tener su </P>, etc: esto puede ser automatizado por un programa normalizador como sgmlnorm (parte de SP) o una función en un editor como psgml de Emacs con sgml-normalize;

  • cambia todos los caracteres de las etiquetas del tipo < y &, así como &lt; y &amp;

  • asegúrate de que todos los valores de los atributos están entrecomillados;

  • asegúrate de que todas las ocurrencias de todos los nombres de elementos en las etiquetas de comienzo y final concuerdan con el tipo de letra mayúscula o minúscula;

  • asegúrate de que todos los nombres de atributos son sensibles al tipo en todo el fichero.

Atención porque muchos visualizadores HTML no aceptan elementos VACÍOS tipo XML con el 'slash', con lo que los cambios mencionados no son compatibles. Una alternativa consiste en añadir una etiqueta 'ficticia' de final a todos los elementos VACÍOS, con lo que <IMG> se convierte en <IMG></IMG>.

si tienes muchos ficheros HTML válidos, puedes escribir un 'script' en un sistema de conversión SGML para hacer todo esto como: Omnimark, Balise, SGMLC, o un sistema que utilice una de las bibliotecas SGML de Perl), o puedes editar macros si sabes lo que estás haciendo.

si tus ficheros HTML son válidos probablemente tendrás que convertirlos manualmente, aunque las 'deformidades' sean regulares y construidas cuidadosamente, los ficheros pueden estar casi-bien-formados, y podrías escribir un programa para realizar los cambios sugeridos arriba. Para comprobar la invalidez o no conformidad, comprueba lo siguiente:

  • ¿tienen errores sintácticos las etiquetas? Por ejemplo, hay alguna contrabarra (\) en vez de alguna barra (/) en las etiquetas de fin; o elementos anidados incorrectamente (p.e. <SAMP> un elemento que comience por <EM> dentro de un elemento </SAMP> pero termine fuera de </EM>)?

  • ¿contienen los ficheros etiquetas que produzcan conflictos con las DTDs de HTML, como cabeceras dentro de elementos lista, o elementos lista fuera de listas?

  • ¿utilizan los ficheros elementos que no aparecen en las DTDs? Aunque esto sea fácil de arreglar, para un fichero bien-formado sin DTD (porque no tienes que definir elementos en adelante), la mayoría de las extensiones (específicas de cada visualizador) nunca han sido definidas formalmente, con lo que resulta imposible trabajar con ellas.

Las etiquetas válidas pero sin significado o vacías necesitarán ser editadas antes de la conversión (como párrafos vacíos y repetidos o saltos de línea, tablas vacías, 'espacios invisibles', etc: XML utiliza hojas de estilo, por lo que no necesitarás nada de eso)

Mira las reglas para ficheros XML bien-formados para más detalles sobre lo que necesitas comprobar en XML en la conversión.

Ten en cuenta que se están preparando varias versiones de la DTD de HTML en XML:

  • § Ben Trafford está desarrollando una versión XML de HTML 3.2

  • [para saber los detalles: contacte con el editor]

C.6   ¿Si XML es un subconjunto de SGML, puedo usar ficheros XML directamente con las herramientas SGML?

Sí, proporcionándoles: a) un documento con una DTD válido, p.e. los ficheros son válidos, no sólo bien-formados; y b) utilizando un software que conozca las características necesarias para soportar XML, como la forma especial de los elementos VACÍOS; algunos aspectos de la declaración SGML como 'NAMECASE GENERAL NO'; declaración múltiple de atributos.

Hasta el momento existen algunas herramientas que manejan ficheros XML no modificados por el formato de los elementos VACÍOS, pero esto cambiará. El analizador nsgmls tiene una opción experimental de conformancia XML, y están apareciendo los primeros editores y analizadores específicos para XML (véase la cuestión software).

Las reglas ISO 8879 aceptan enmiendas, algunas de las cuales facilitarán cambios necesarios para la 'habilitación Web'.

C.7   Estoy acostumbrado a utilizar HTML ¿Puedo aprender XML fácilmente?

Sí, fácilmente, pero todavía son necesarios los tutoriales, herramientas simples, y más ejemplos de documentos XML. Los documentos bien-formados pueden parecer similares a HTML excepto por pequeño pero importantes aspectos sintácticos.

Como todas las comunidades de usuarios pueden definir sus propios tipos de documentos, debería ser más fácil de aprender, porque los nombres de los elementos pueden tomar relevancia..

C.8   ¿XML será capaz de usar caracteres no Latinos?

Sí, la Especificación XML dice explícitamente que XML utiliza la norma ISO 10646, el estándar internacional de un repertorio de caracteres de 31-bits que cubre la inmensa mayoría de lenguajes humanos escritos (y algunos no humanos). Esto es actualmente congruente con Unicode.

La especificación dice (2.2) que: "todos los procesadores XML deben aceptar las codificaciones UTF-8 y UTF-16 del ISO 10646 ... ". UTF-8 es una codificación de Unicode en caracteres de 8 bits: los primeros 128 son los mismo que en ASCII, el resto se utilizan para codificar en resto de Unicode en secuencias de entre 2 y 6 bytes. UTF-8 es su forma de octeto simple es igual a la norma ISO 646 IRV (ASCII), luego puedes continuar utilizando ASCII en Inglés u otros lenguajes acentuados utilizando el alfabeto latino. Ten en cuenta que UTF-8 es incompatible con ISO 8859-1 (ISO Latin-1) después del punto código decimal 126 (el final de ASCII). UTF-16 es como UTF-8, pero con un esquema para representar los siguientes 16 planos de 64k caracteres como dos caracteres de 16 bits.

"... el mecanismo para señalizar cual de los dos se utiliza, y para permitir otras codificaciones, son [...] en la discusión de las codificaciones de caracteres". La Especificación XML explica como especificar en tus ficheros XML qué código de caracteres utilizas.

La utilización de UCS-4 sólo puede ser legalmente especificada en SGML o XML cuando las 'adaptaciones WebSGML' pendientes a la ISO 8879 estén establecidas para permitir números mayores de ocho dígitos para ser utilizados en la declaración SGML.

'Independientemente de la codificación específica utilizada, cualquier carácter del conjunto de caracteres ISO 10646 puede ser referenciado por su equivalente decimal o hexadecimal': por lo que no importa que caracteres utilizas , puedes seguir referenciando a algún carácter individual especifico de otro repertorio de caracteres utilizando &#dddd; (código de caracteres decimal) o &#UHHHH; (código de caracteres hexadecimal, en mayúsculas).

La terminología puede ser confusa, como lo pueden ser los números: consulta el diccionario de conceptos ISO 10646.

C.9   ¿Qué es un DTD (Document Type Definition) y dónde consigo uno?

Un DTD es generalmente un fichero (o varios usados conjuntamente) que contiene la definición formal de un tipo de documento particular. éste define los nombres que pueden utilizarse en los elementos, dónde pueden aparecer y cómo se interrelaciona entre ellos. Por ejemplo, si quieres un tipo de documento para describir <LIST>as que contengan <ITEM>s, en alguna parte de tu DTD debería contener algo como

<!ELEMENT item (#pcdata)> <!ELEMENT list (item)+>

Esto define 'items' que contienen texto, y listas que contienen 'items'. Es un lenguaje formal que permite a los procesadores analizar automáticamente un documento e identificar dónde viene cada elemento y cómo se relacionan entre ellos, para que las hojas de estilos, navegadores, visualizadores, motores de búsqueda, bases de datos, rutinas de impresión y otras aplicaciones puedan utilizarlos.

[Ten en cuenta que en XML, no existen parámetros de minimización (los caracteres '-' y 'O' en la definición de los elementos, entre los nombres de los elementos y los modelos de contenido), por todo esto todos los elementos salvo los vacíos deben tener etiquetas de comienzo y fin siempre.]

Existen miles de DTDs SGML para todo tipo de áreas (véanse las páginas Web de SGML para más ejemplos. Muchos de ellos pueden descargarse y utilizarse libremente; o puedes escribir los tuyos propios. Como en cualquier lenguaje, necesitas aprenderlo para hacerlo, pero XML es más simple que SGML: véase la lista de restricciones que muestra lo que ha sido eliminado. Las DTDs SGML existentes necesitan ser convertidos a XML para ser utilizadas en sistemas XML:

C.10   ¿Cómo afectará XML a los enlaces de mis documentos?

Las habilidades de enlazado de los sistemas XML son mayores que las de HTML. Los enlaces tipo HREF existentes seguirán utilizándose, pero una nueva tecnología de enlazado basada en las lecciones aprendidas en el desarrollo de otros estándares que utilizan hipertexto, como TEI y HyTime, que permiten manejar enlaces bidireccionales y multi-caminos, así como enlaces a un fragmento de texto (en tus propios documentos) y no sólo a un único punto. Esto ya está implementado para SGML en visualizadores como Panorama y Multidoc Pro.

§ La Especificación de Enlazado XML (XLink) y la Especificación de Punteros Entendidos XML (XPointer) contienen una detallada especificación. Un enlace XML puede ser bien un URL o un Puntero Extendido estilo TEI ('XPointer'), o ambos. Un URL en sí misma se asume que tiene que ser un recurso (como en HTML). Si le sigue un XPointer, se asume que es un subrecurso de ese URL. Un Xptr en sí mismo se asume que se aplica al documento actual.

Un Xptr siempre está precedido de uno o más #, ?, ó |. Los símbolos # y ? significan lo mismo que en las aplicaciones HTML; el símbolo | significa que el subrecurso puede ser encontrado aplicando el Xptr al recurso, pero el método de hacer esto se deja a cargo de la aplicación.

§ La Notación de Punteros Extendidos de la TEI (EPN) tiene más funcionalidades que la 'fragmento de dirección' al final de algunos URLs. Por ejemplo, la palabra 'Xptr' de hace dos párrafos puede ser referida como http://www.ucc.ie/xml/faq.sgml#ID(faq-hypertext)CHILD(2,*)(4,*), dando a entender el 'cuarto objeto hijo' del 'segundo objeto hijo' después del elemento cuyo ID sea faq-hypertext. Cuenta los objetos desde el principio de esta cuestión en la versión SGML (la cual tiene ID 'faq-hypertext'):

  1. el titulo de la cuestión;

    <SECT2 ID="faq-hypertext"> <TITLE>¿Cómo afectará XML a los enlaces de mis documentos?</TITLE>
  2. el segundo párrafo:

    1. el carácter dato desde el principio del párrafo a la primera etiqueta:

      <PARA> La
    2. etiqueta:

      <ULINK URL="http://www.w3.org/TR/WD-xml-link">
      Especificación de Enlazado XML (XLL)
      </ULINK>
    3. el texto:

      y
    4. etiqueta:

      <ULINK URL="http://www.w3.org/TR/1998/WD-xptr">
      XML Especificación de Punteros Extendidos (XPointer)
      </ULINK>
    5. el próximo extremo de datos carácter:

      el documento contiene una detallada especificación. Un enlace XML 
      puede ser un URL o un Puntero Extendido tipo TEI (
    6. y la próxima etiqueta:

      <LINK LINKEND="tei-link">Xptr</LINK>

Si ves este fichero con Panorama o MultiDoc Pro puedes hacer click en el botón de referencia cruzada seleccionado al principio de la frase ejemplo, y visualizaría las localizaciones en Notación de Punteros Entendidos de todos los enlaces a él, incluyendo la palabra 'Xptr' mencionada. (Hacer esto en un visualizador HTML no tiene sentido, dado que no soportan enlaces bidireccionales o EPN.)

C.11   ¿Puedo "utilizar matemáticas" en XML?

Sí, si el tipo de documento que utilizas lo permite. La comunidad de usuarios de matemáticas está desarrollando software y existe una propuesta MathML de la W3C, que es una aplicación nativa XML. Será posible insertar fragmentos XML de HTML3 expirado, HTML Pro, o ISO 12083 Math, o OpenMath, o alguno de tu cosecha. Ya existen visualizadores que muestran matemática simplemente incrustada en SGML (p.e. Panorama, Multidoc Pro).

§ La sofisticación puede variar de expresiones como xi hasta ecuaciones simples como E = mc2 para visualizar ecuaciones como

Sni=1  (xi - p)2/n

(Si utilizas un visualizador de HTML para leer esto, las ecuaciones de arriba no se visualizarán correctamente.) El visualizador de prueba Amaya del W3C posee un visor de MathML experimental.

C.12   ¿Cómo maneja XML los metadatos?

Dado que XML te permite definir tu propio lenguaje de etiquetas, puedes hacer un uso completo de sus características hipertextuales (véase la cuestión Enlaces) de XML para almacenar o enlazar metadatos en cualquier formato (eg Dublin Core, Warwick Framework, Resource Description Framework (RDF), y Platform for Internet Content Selection (PICS)).

No hay elementos predefinidos en XML, porque es una arquitectura, no una aplicación, luego no es trabajo de XML especificar cómo o si los autores deben o no implementar metadatos. Eres libre de usar cualquier método adecuado, desde simples atributos a la incrustación de todos los registros de metadatos del 'Dublin Core/Warwick Framework'. Los fabricantes de visualizadores pueden tener sus propias recomendaciones arquitectónicas o métodos que proponer.

C.13   ¿Puedo utilizar Java, ActiveX, etc. en XML?

Depende de las facilidades que implementen los fabricantes de visualizadores. XML describe información; los lenguajes de 'scripts' y lenguajes para funcionalidades incrustadas son el software que permite al usuario manipular la información.

XML ofrece una manera de definir etiquetas necesarias para implementar lenguajes de 'script': desde su posición de estándar neutral ni fomentar ni deja de fomentar su uso. Los proyectos siguen adelante: véanse las sugerencias de John Tigue para la estandarización de un API para Java respecto a XML.

Los lenguajes de 'script' se proporcionan como una propuesta de un Extensible Style Language (XSL) (véase la cuestión Hojas de estilo).

C.14   ¿Cómo puedo controlar la apariencia?

El uso de hojas de estilo está explícito en XML. Algunos visualizadores pueden proporcionar algunos simples estilos por defecto para elementos comunes como <PARA>, o <LIST> conteniendo <ITEM>, pero en general, una hoja de estilo da al autor un mejor control de la disposición. Pero como con cualquier sistema donde los ficheros pueden ser vistos por distintos usuarios, el autor no puede saber de antemano qué recursos (como las fuentes, por ejemplo) proporciona el sistema del usuario.

  • El estándar internacional para hojas de estilo de documentos SGML es Document Style and Semantics Specification Language (DSSSL) (ISO 10179). Este proporciona lenguajes tipo Scheme para las hojas de estilo y conversión de documentos, y está implementado extensivamente en el Formateador Jade.

  • La Cascading Stylesheet Specification (CSS) proporciona una sintaxis simple para asignar estilos a los elementos, y ha sido implementada en visualizadores HTML.

  • La DTD de la hoja de estilo Synex ya ha sido utilizada en Panorama y MultiDoc Pro;

  • Un nuevo Extensible Style Language (XSL) está siendo propuesto para ser utilizado especialmente en XML. éste utiliza sintaxis XML (una hoja de estilo es actualmente un fichero) y combina utilidades de formato de DSSSL y CSS (HTML) y ya ha servido de soporte para muchos fabricantes.

Está pendiente de saberse qué visualizador la implementará.

C.15   ¿Cómo puedo utilizar imágenes en XML?

Las imágenes son sólo enlaces, luego pueden representarse de cualquier modo soportado por las especificaciones XLink y XPointer (véase la cuestión anterior), incluyendo la utilización de una sintaxis similar a las imágenes HTML existentes. Estas especificaciones, sin embargo, ofrecen un mejor control sobre la activación transversal de enlaces, por lo que se puede elegir, por ejemplo, si se carga o no una imagen al cargar una página, o mediante un click de ratón, o en una ventana adicional, sin tener que cambiar el código.

Los formatos gráficos a soportar son problema de los visualizadores específicamente. XML por sí mismo ni predice ni restringe nada. Los formatos que se perfilan como de mayor utilidad son GIF, JPG, TIFF y CGM.


D. Desarrolladores e Implementadores (incluyendo WebMasters y administradores de servidores)

D.1   ¿Dónde está la especificación?

En (http://www.w3.org/TR/REC-xml). Incluye la EBNF (Forma Normal Extendida Bakus-Naur). También existen versiones en japonés en (http://www.fxis.co.jp/DMS/sgml/xml/), en español en (http://www.promeko.com/informatica/gtsx/rec-xml.html), en koreano en (http://xml.t2000.co.kr/faq/index.html) y una versión comentada en http://www.xml.com/axml/testaxml.htm.

D.2   ¿Qué significan los términos 'sin DTD', 'válido', y 'bien-formado'?

SGML utiliza Definiciones de Tipo de Documentos(DTD) para describir los elementos (etiquetas) disponibles en un tipo de documento específico. Sin embargo, el diseño y construcción de una DTD puede ser una tarea compleja y no trivial, por lo que XML ha sido diseñado para ser usado con o sin una DTD. Sin-DTD significa que puedes inventar etiquetas sin tener que definirlas formalmente.

Para que esto funcione, un fichero sin-DTD 'define' sus propias etiquetas, informalmente, por la existencia y la localización de elementos cuando son creados. Pero cuando una aplicación XML, como un visualizador encuentra un fichero sin DTD, necesita ser capaz de entender la estructura del documento que está leyendo, y dado que no tiene DTD que le informe al respecto, se han hecho algunas modificaciones en las reglas.

Por ejemplo, el elemento <IMG> de HTML se define como 'VACÍO': no tiene etiqueta de fin. Sin una DTD, una aplicación XML no tendría manera de conocer si debe esperar una etiqueta de fin para un determinado elemento, luego ha tenido que introducirse el concepto de 'bien-formado'. Esto hace el comienzo y fin de todos los elementos, y la presencia de elementos VACÍO completamente no ambigua.

D.2.1   Documentos 'bien-formados'

Todos los documentos XML deben estar 'bien-formados':

  • si no se utiliza DTD, el documento debe comenzar con un Declaración de Documento único (SDD, Standalone Document Declaration) que indique:

    <?XML version="1.0" standalone="yes"?>
    <foo>
      <bar>...<blort/>...</bar>
    </foo>

  • todas las etiquetas deben estar balanceadas: esto es, todos los elementos que contengan datos de tipo carácter deben tener etiquetas de principio y fin (no está permitida la omisión excepto para los elementos vacíos, véase más abajo);

  • todos los valores de los atributos deben ir entrecomillados (el carácter comilla simple [el apóstrofe] puede utilizarse si el valor contiene caracteres comillas dobles, y viceversa): si necesitas ambos, utiliza &apos; y &quot;

  • cualquier elemento VACÍO (p.e. aquellos que no tienen etiqueta final como <IMG>, <HR>, y <BR> y otros de HTML) deben terminar con '/>' o debes hacerlos no VACÍOS añadiéndoles una etiqueta de fin;

    Ejemplo: <BR> se convertirá en <BR/> o en <BR></BR>.

  • no debe haber etiquetas aisladas (< ó &) en el texto (p.e. debe darse como &lt; y &amp;), y la secuencia ]]> debe darse como ]]&gt; si no ocurre esto como final de una sección marcada como CDATA;

  • los elementos deben anidar dentro de sí sus propiedades (no se deben sobreponer etiquetas, como en el resto de SGML);

  • Los ficheros bien-formados sin-DTD pueden utilizar atributos en sus elementos, pero éstos deben ser todos del tipo CDATA, por defecto.

Los ficheros XML bien-formados y sin-DTD deben tener &lt;, &gt;, &apos;, &quot;, y &amp; predefinidos y disponibles para ser utilizados incluso sin DTD. Los ficheros XML válidos deben declararlos explícitamente si los utilizan.

D.2.2   XML válido

Los ficheros XML válidos son aquellos que tienen DTDs como el resto de las otras aplicaciones SGML. También deben estar bien-formados.

§ Un fichero válido comienza como cualquier otro fichero SGML, con una Declaración de Tipo de Documento, una puede tener una declaración XML opcional:

<?xml version="1.0"?>
<!DOCTYPE anuncio SYSTEM "http://www.foo.org/ad.dtd">
<anuncio>
  <titulo>...<foto/>...</titulo>
  <texto>...</texto>
</anuncio>

La Especificación XML define una Declaración SGML para XML que está fijada para todas las instancias (la declaración ha sido eliminada del texto de la especificación y ahora está en un documento aparte). Debe ser accesible una Versión XML de la DTD especificada para el procesador XML, bien localmente (eg teniendo una copia en disco), o descargándola de la red. Esto puede especificarse mediante el URL para la DTD en un Identificador de Sistema (como en el ejemplo arriba). Es posible (algunos dirían preferible) proporcionar un Identificador Público Formal, pero si se utiliza, éste debe preceder al Identificador de Sistema, que debe ser dado (y sólo se utiliza la palabra clave PUBLIC), eg:

<!DOCTYPE anuncio PUBLIC "-//Foo, Inc//DTD Anuncios//ES" "http://www.foo.org/ad.dtd">

ó

<!DOCTYPE anuncio SYSTEM "http://www.foo.org/ad.dtd">

Los valores por defecto para el resto de los atributos de la Declaración XML son VERSION="1.0" y ENCODING="UTF-8".

D.3   ¿Qué más cambia entre SGML y XML?

Los cambios principales consisten en lo que puedes hacer escribiendo una DTD. Para simplificar la sintaxis y facilitar la escritura de software de procesamiento, se han suprimido un gran número de opciones de declaración (véase Apéndice A de la Especificación XML).

Se permite un nuevo delimitador en los Nombres (dos puntos, ':') para utilizarse en experimentos con 'espacios de nombres' (habilitando DTDs para distinguir fuentes de elementos, propiedad o aplicaciones). El carácter dos puntos (:) sólo puede aparecer en medio de un nombre, nunca al principio o al final, y la sintaxis puede variar en versiones futuras.

D.4   ¿Qué software XML puedo usar hoy en día?

Los detalles han sido eliminados dado que cambian demasiado rápidamente para ser duplicados en este FAQ: véanse las páginas XML de http://www.sil.org/sgml/xml.html.

Para los visualizadores véase la cuestión Visualizadores XML y los detalles de la lista de distribución xml-dev para desarrolladores de software. Bert Bos mantiene una lista de algunos desarrollos XML en Bison, Flex, Perl y Python.

D.5   ¿Tengo que cambiar el software en mi servidor para trabajar con XML?

Sólo para servir ficheros .xml como tipo MIME correcto (text/xml), luego para servir documentos XML todo lo que es necesario es editar el fichero mime-types (o su equivalente) y añadir las líneas

text/xml            xml XML

En algunos servidores (eg Apache), los usuarios pueden cambiar el tipo MIME para un archivo específico en su propio directorio editando el archivo .htaccess

§ Dado que XML está diseñado para soportar hojas de estilo e hiperenlaces sofisticados, los documentos XML vendrán acompañados por ficheros auxiliares como ficheros de DTDs, de entidades, catálogos, hojas de estilos, etc., que requerirán sus propias entradas MIME, y necesitarán estar situados en sus directorios apropiados. El XUA (XML User Agent, Agente de Usuario XML), que es uno de los planes de desarrollo del XML WG, proporcionará un mecanismo de empaquetado de documentos XML y estilos XSL en un único mensaje.

Si ejecutas 'scripts' generadores de HTML que quieres que funcionen con XML, deberán ser modificados para producir tipos de documentos relevantes.

D.6   ¿Puedo utilizar todavía INCLUDE de Servidor?

Sí, siempre y cuando generen finales como parte de un fichero XML conformado (p.e. tanto los válidos o sólo bien-formados).

D.7   ¿Puedo seguir utilizando INCLUDEs de Cliente?

Se aplica la misma regla que con los INCLUDEs de Servidor, así que tienes que asegurarte de que cualquier código incrustado que se pase a un tercer motor (p.e. peticiones SDQL, código Java, peticiones LiveWire, contenido 'streamed', etc) no contiene ningún carácter que pudiera ser mal interpretado como etiqueta XML (p.e. paréntesis angulares o ampersands): también debes usar una sección marcada como CDATA para evitar que tu aplicación XML analice el código incrustado, o utilizar el estándar de referencias a entidades carácter &lt;, &gt;, y &amp;.

D.8   Estoy intentando comprender la especificación de XML: ¿por qué SGML (y XML) tiene una terminología tan difícil?

Para que la implementación fructifique, la terminología requiere ser precisa.

Por ejemplo: 'elemento' y 'etiqueta' no son sinónimos: un elemento es una unidad de información completa con sus etiquetas, y puede consistir de una etiqueta de comienzo sola (como en <BR> de HTML) o una etiqueta de comienzo y una de fin y el contenido que va entre ellas; las etiquetas por sí solas son marcadores del comienzo y final de los elementos.

La terminología poco precisa en las especificaciones causa confusiones, por lo que los estándares formales deben ser redactados en terminología formal. Este no es documento formal, y el lector astuto ya habrá descubierto que se refiere a 'nombres de elementos' donde sería más correcto utilizar el término 'nombres de tipos de elementos'; pero el primero permite un entendimiento más amplio.

Aquellos que se inicien en SGML pueden querer leer algo como la 'Gentle Introduction to SGML' que es un capítulo de la TEI.

D.9   ¿Existe algún API para desarrolladores de XML?

Muchos están siendo desarrollados. Los que hemos encontrado son:

Los motores de desarrollo de la gran conversión y aplicación SGML como Balise, Omnimark, y SGMLC funcionan todos con versiones de XML. Los detalles sobre software SGML de todo tipo están en las páginas Web de SGML (inglés).


Formulario de respuestas y preguntas

Ilustración del artículo de Dale Dougherty's en Web Review (cortesía de los editores).
[Imagen XMLfiles]

Sección y cuestión:

Nuevo material

Nueva cuestión, respuesta desconocida

Nueva cuestión, con ejemplo de respuesta

Correcciones a las palabras existentes

Corrección sólo a una cuestión existente

Corrección sólo a una respuesta existente

Corrección a ambas, cuestión y respuesta

Material Adicional

Adicional sobre una cuestión existente

Adicional sobre una respuesta existente

Adicional a ambas, cuestión y respuesta

Cuestiones y Respuestas

Detalles

Nombre del emisor:

Afiliación:

Dirección de Correo: