REC-DOM-Level-1-19981001


Nota: Este documento es parte de una traducci�n al castellano de la Recomendaci�n del W3C "Document Object Model (DOM) Level 1" (m�s informaci�n). Puede consultar la versi�n original del mismo. Para cualquier comentario o correcci�n acerca de la traducci�n p�ngase en contacto con el traductor en jrpozo arroba conclase punto net. Gracias por su colaboraci�n.
V�ase el Aviso de copyright de la traducci�n.

Notas de Producci�n (No Normativas)

Editores
Gavin Nicol, Inso EPS

La especificaci�n DOM es un buen ejemplo de la potencia del XML: todos los documentos HTML, correspondencias con Java, correspondencias con el IDL OMG y las correspondencias con ECMA Script han sido generados desde un solo conjunto de ficheros fuente XML. Esta secci�n describe c�mo se escribi� esta especificaci�n en XML, y c�mo se crearon las diferentes obras derivadas.

1. La Definici�n del Tipo de Documento

Esta especificaci�n est� escrita completamente en XML, usando un DTD basado extensivamente en el DTD usado por el Grupo de Trabajo XML para la especificaci�n XML. La principal diferencia entre el DTD usado por el Grupo de Trabajo XML y el DTD usado para esta especificaci�n est� en la adici�n de un modulo DTD para las especificaciones de las interfaces.

El modulo DTD para las especificaciones de las interfaces es una traducci�n muy poco estricta desde la especificaci�n EBNF (Extended Backus-Naur Form, Forma Backus-Naur Extendida) de la sintaxis IDL OMG a la sintaxis DTD XML. Adem�s de la traducci�n, se sum� la capacidad de describir las interfaces, creando as� una forma limitada de programaci�n literaria para definiciones de interfaces.

i bien el modulo DTD es suficiente para los prop�sitos del Grupo de Trabajo DOM, sus tipos son muy d�biles, lo cual quiere decir que hay muy pocas restricciones en las especificaciones de los tipos (la informaci�n sobre el tipo se trata en efecto como una cadena opaca). En un DTD para la comunicaci�n objeto a objeto probablemente ser�an beneficiosas algunas restricciones m�s fuertes sobre los tipos de datos.

2. El proceso de producci�n

La especificaci�n DOM se escribi� usando XML. Todos los documentos son XML v�lido. Para producir las versiones HTML de la especificaci�n, los �ndices de objetos, el c�digo fuente Java, y las definiciones IDL OMG y ECMA Script, la especificaci�n fue convertida.

La herramienta usada para la conversi�n es COST, de Joe English. COST toma la salida ESIS de nsgmls, crea una representaci�n interna, y entonces ejecuta scripts y manejadores de eventos sobre la estructura interna de datos. Los manejadores de eventos permiten que se especifiquen patrones de documentos y procesos asociados: cuando se encuentra un patr�n durante un recorrido en preorden del sub-�rbol del documento, se ejecuta la acci�n asociada. Este es el coraz�n del proceso de conversi�n. Los scripts se usan para enlazar entre s� las distintas componentes. Por ejemplo, cada uno de los fuentes de datos derivados principales (c�digo Java, etc.), es creado por la ejecuci�n de un script, que a su vez ejecuta uno o m�s manejadores de eventos. Los scripts y manejadores de eventos se especifican por medio de TCL.

La versi�n actual de COST ha sido modificada en algunos aspectos a partir de la versi�n disponible al p�blico. En particular, ahora funciona correctamente bajo Windows 32-bits, usa TCL 8.0 y sigue correctamente las reglas de diferenciaci�n entre may�sculas y min�sculas de XML (aunque probablemente no podr�a manejar correctamente c�digo en lenguaje nativo).

Tambi�n podr�amos haber usado Jade, de James Clark. Al igual que COST, Jade permite que se especifiquen patrones y acciones, pero Jade se basa en DSSSL, un est�ndar internacional, mientras que COST no lo hace. Jade es m�s potente que COST en muchos aspectos, pero la experiencia previa del editor con COST hizo m�s f�cil de usar a �ste que a Jade. Una futura versi�n o Nivel de la especificaci�n DOM se podr�a producir usando Jade o un procesador XSL.

Los ficheros fuente XML completos est�n disponibles en: http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/xml-source.zip

3. Definiciones de objetos

Como se ha dicho antes, todas las definiciones de los objetos est�n especificadas en XML. Las correspondencias con Java, IDL OMG y ECMA Script est�n todas generadas autom�ticamente a partir del c�digo fuente XML.

Esto es posible porque la informaci�n especificada en XML es un superconjunto de lo que estas otras sintaxis necesitan. Esto es una observaci�n general; se puede aplicar el mismo tipo de t�cnica a otras muchas �reas: a partir de una estructura rica, son posibles un procesamiento y conversi�n ricos. Para Java y el IDL OMG, es b�sicamente una cuesti�n de renombrar las palabras clave sint�cticas; para ECMA Script el proceso es algo m�s desarrollado.

Una definici�n t�pica de objeto en XML se parece a algo de este estilo:


<interface name="foo">
  <descr><p>Description goes here...</p></descr>
  <method name="bar">
    <descr><p>Description goes here...</p></descr>
    <parameters>
      <param name="baz" type="DOMString" attr="in">
        <descr><p>Description goes here...</p></descr>
      </param>
    </parameters>
    <returns type="void">
       <descr><p>Description goes here...</p></descr>
    </returns>
    <raises>
       <!-- Throws no exceptions -->  
    </raises>
  </method>
</interface>

Como se puede ver, esto no es precisamente ahorrativo en palabras, pero tampoco lo es el IDL OMG. De hecho, cuando al principio la especificaci�n se convirti� para usar XML, las definiciones IDL OMG se convirtieron autom�ticamente en el fuente XML correspondiente usando herramientas comunes de Unix para la manipulaci�n de texto.