El API JAXP

Ahora que ya tenemos un entendimiento b�sico de XML, tiene sentido ver una introduci�n de alto nivel de los distintos acr�nimos relacionados con XML y qu� significan. Hay mucho trabajo alrededor del XML, por eso hay mucho que aprender.

Los APIs actuales para acceder a documentos XML tanto serialmente como en modo de acceso aleatorio son, respectivamente SAX y DOM. Las especificaciones para asegurarnos la validez de los documentos XML son DTD (El mecanismo original, definido como parte de la especificaci�n XML) y varios esquemas propuestos (nuevos mecanismos que usan s�ntaxis XML para hacer el trabajo de describir los criterios de validaci�n). Otras futuras caracter�sticas est�ndards que estan cerca de completarse incluyen el est�ndard XSL -- un mecanismo para configurar traduciones de documentos XML (por ejemplo a HTML u otro XML) y para dictar c�mo se mostrar�n los documentos. Otro esfuerzo cerca de terminarse es la especificaci�n del "Lenguaje de Enlaces XML" (XLL), que permite los enlaces entre documentos XML.

Estas han sido las mayores iniciativas con las que querremos familiarizarnos. Esta secci�n tambi�n descubre otras proposiciones interesantes, incluyendo el est�ndard de aspecto HTML, XHTML, y el meta-est�ndard para describir la informaci�n que contienen los documentos XML, RDF. Tambi�n cubre la iniciativa de Espacios de Nombrado XML que promueve la reutilizaci�n modular de los documentos XML evitando la colisi�n de nombres.

Varios de los esquemas XML propuestos tambi�n se cubren aqu�, junto con unos nuevos esfuerzos por usar XML para control remoto de escritorios (DMTF) y servidores de documentos (WebDAV).

Finalmente, hay un n�mero de interesantes est�ndars y proposiciones de est�ndards que se construyen sobre XML, incluyendo el "Lenguaje Sincronizado de Integraci�n Multimedia" (SMIL), "Lenguaje de Marcas Matem�tico" (MathML), "Gr�ficos de Vector Escalables" (SVG), y DrawML.

El resto de esta secci�n nos ofrece una descripci�n m�s detallada de estas iniciativas. Para hacer la cosa m�s sencilla est� dividida en.

Ojearemos los t�rminos una vez, para que sepamos que hay aqu�, y mantendremos cerca una copia de este documento para poder referirnos a ella siempre que veamos uno de estos t�rminos en algo que estemos leyendo. Muy pronto, nos habremos aprendido todos estos t�rminos, y podremos "conversar" sobre XML!

.�Recomendaciones W3C

Las "Recomendaciones" W3C son, en realidad, la forma final de las especificaciones generadas por el W3C. Es una "recomendaci�n", porque no se imponen a nadie, pero no es porque la especificaci�n estuviera habierta para posteriores discusiones y revisiones. El caso est� cerrado. Esta es la especificaci�n que implementaremos para conformar el est�ndard.

.�SAX - API sencillo para XML

Este API era realmente un producto de colaboraci�n de la lista de correo XML-DEV, en vez de un producto del W3C. Se ha incluido aqu� porque tiene las mismas caracter�sticas "finales" que una recomendaci�n de W3C.

Tambi�n podemos pensar en este est�ndard como el protocolo de "acceso serie" para XML. Este es el mecanismo m�s r�pido de ejecutar que usaremos para leer y escribir datos XML en un servidor, por ejemplo. Tambi�n es llamado un protocolo dirigido por eventos, porque la t�cnica para registrar nuestro manejador con un analizador SAX, despu�s de que el analizador invoque nuestros m�todos de retrollamada siempre que vea una nueva etiqueta XML (o encuentre un error, o quiera decirnos algo m�s).

Para m�s informaci�n sobre el protocolo SAX, puedes ver Escribir un Sencillo Fichero XML.

.�DOM - Modelo de Objeto de Documento

Este protocolo convierte un documento XML en una colecci�n de objetos en nuestro programa. Entonces podemos manipular el modelo del objeto de cualquier forma que tenga sentido. Este mecanismo tambi�n es conocido como el protocolo de "acceso aleatorio", porque podemos visitar cualquier parte de los datos en cualquier momento. Podemos modificar los datos, eliminarlos, o insertar nuevos datos. Para m�s informaci�n sobre la especificaci�n DOM, puedes ver Manipular Contenidos de Documentos con el Modelo de Objeto de Documento.

.�DTD - Definici�n de Tipo de Documento

La especificaci�n DTD realmente forma parte de la especificaci�n XML, en vez de ser una entidad separada. Por otro lado, es opcional -- podemos escribir un documento XML sin �l. Y hay un n�mero de proposiones de esquemas que ofrecen alternativas m�s flexibles. Por eso la tratamos aqu� como si fuera una especificaci�n separada.

Un DTD especifica los tipos de etiquetas que se pueden incluir en nuestro documento XML, y la preparaci�n de dichas etiquetas. Podemos usar el DTD para asegurarnos de que no creamos una estructura XML inv�lida. Tambi�n podemos usarlo para asegurarnos de que la estructura XML que estamos leyendo (o que va a ser enviada por la red) es de echo v�lida.

Desafortunadamente, es dificil especificar un DTD para un documento complejo de forma que evite todas las combinaciones inv�lidas y permita las v�lidas. Por eso construir un DTD es como un arte. El DTD puede existir en el inicio del documento, como parte del pr�logo. Tambi�n puede existir como una entidad separada, o puede ser dividido entre el pr�logo del documento y una o m�s entidades adicionales.

Sin embargo, mientras que el mecanismo DTD fue el primer m�todo para especificar una estructura v�lida de documento, no fue el �ltimo. Se han inventando nuevos esquemas de especificaciones. Aprenderemos sobre ellos en un momento. Para m�s informaci�n puedes ver Definir un Tipo de Documento.

.�RDF - Marco de Descripci�n de Recursos

RDF es un est�ndard propuesto para definir datos sobre datos. Usado en conjunci�n con la especificaci�n XHTML, por ejemplo, o con p�ginas HTML, RDF podr�a ser usado para describir el contenido de las p�ginas. Por ejemplo, si nuestro navegador almacena nuestra informaci�n de ID como FIRSTNAME, LASTNAME, y EMAIL, una descripci�n RDF podr�a hacer posible transferir datos a una aplicaci�n que quisiera NAME y EMAILADDRESS. Piensalo! alg�n d�a podr�amos no tener que teclear nuestro nombre y direcci�n en cada web site que visitemos! Para ver la �ltima informaci�n sobre RDF, puedes ver la p�gina http://www.w3.org/TR/PR-rdf-syntax/.

.�Espacios de Nombres

El Espacio de Nombres est�ndard nos permite escribir documentos XML que usen dos o m�s conjuntos de etiquetas XML de una forma modular. Supongamos por ejemplo que hemos creado una lista de respuestos basada en XML que usa descripciones XML de la partes suministradas por otros fabricantes (online!). El dato "precio", suministrado para los subcomponentes podr�an ser cantidades que quisieramos totalizar, mientras que el dato "precio" de la estructura en su totalidad podr�a ser algo que quisieramos mostrar. La especificaci�n de espacio de nombres define mecanismos para cualificar los nombres para poder eliminar las ambiguedades. Esto nos permite escribir programas que usen informaci�n de otras fuentes y hagan cosas correctas con ella. La �ltima informaci�n sobre espacios de nombres puede encontrarse en la p�gina http://www.w3.org/TR/REC-xml-names.

.�Recomendaciones Propuestas por W3C

Una "recomedaci�n propuesta" por W3C es una proposici�n para una recomendaci�n W3C no-muy-finalizada-pero-probablemente-cerrada. Todav�a est� abierta para revisi�n, y podr�a verse alg�n cambio si la realidad fuerza a ello. Pero muchos pensamientos se han puesto en la proposici�n por mucha gente, por eso es bastante bueno pensar como un est�ndard en su categor�a que se cumplir� sin muchos cambios.

.�Esquema RDF

La proposici�n de esquema RDF permite la especificaci�n de reglas de consistencia e informaci�n adicional que describe c�mo deber�an interpretarse las sentencias en un "Marco de Descripci�n de Recursos" (RDF). Para m�s informaci�n sobre la recomendaci�n del esquema RDF, puedes ver la p�gina http://www.w3.org/TR/PR-rdf-schema.

.�Borradores de Trabajo W3C

Un borrador de trabajo W3C es una primera visi�n razonable de los que podr�a ser enventualmente un est�ndard. Tiene sentido conceptualmente, y est� listo para que la gente empiece su implementaci�n. La retroalimentaci�n de que se est�n desarrollando los esfuerzos para poner el est�ndard en pr�ctica puede ser el causante de alg�n cambio en los detalles internos, pero no de la especificaci�n general.

.�XSL - Lenguaje de Hoja de Estilo Extensible

El est�ndard XML especifica c�mo identificar datos, no c�mo mostrarlos. Por otro lado, HTML dice como se deber�an mostrar las cosas sin identificar que son. El est�ndard XSL es esencialmente un mecanismo de traduci�n que nos permite especificar a qu� convertir una etiqueta XML para que pueda ser mostrada, por ejemplo, en HTML. Se pueden usar diferentes formatos de XSL para mostrar los mismos datos de formas diferentes para diferentes usos.

La parte de la traduci�n del XSL est� bastante completada, y ya existe un buen n�mero de implementaciones. Sin embargo, la segunda parte del XSL est� un poco m�s t�nue. Esta parte que cubre el formateo de objetos , tambi�n conocida como flujo de objetos, que nos da la habilidad de definir m�ltiples �reas en una p�ginas y luego enlazarlas juntas. Cuando una canal de texto es dirigido como una colecci�n, primero rellena el primer �rea y luego "fluye" a la segunda cuando la primera est� llena. Dichos objetos se usan para cartas, cat�logos, y publicaciones peri�dicas. El �ltimo trabajo de W3c sobre XSL est� en http://www.w3.org/TR/WD-xsl.

.�XLL - Lenguaje de Enlaces XML

El protocolo XLL consiste en dos especificaciones propuestas para manejar enlaces entre documentos XML: XLink y XPointer. Estas especificaciones est�n todav�a en sus estados preliminares, pero es seguro que tendr�n un gran impacto sobre c�mo se usar�n los documentos XML.

XLink: El protocolo XLink es una especificaci�n propuesta para manejar enlaces entre documentos XML. Esta especificaci�n permite algunos enlaces muy sofisticados, incluyendo enlaces de dos sentidos, enlaces a m�ltiples documentos, enlaces "expandibles" que insertan la informaci�n enlazada dentro de nuestros documentos en vez de reemplazar nuestro documento con una nueva p�gina, enlaces entre dos documentos que han sido creados por terceros, documentos independientes, y enlaces indirectos (por eso podemos apuntar a un "libro de direcciones", en vez de directamente al documento fuente -- actualizar el libro de direcciones modificar� autom�ticamente cualquier enlace que lo use). Para m�s informaci�n sobre la especifiaci�n XLink, puedes ver la p�gina http://www.w3.org/TR/WD-xml-link.

XPointer: En general, la especificaci�n XLink apunta a un documento o un segmento de documento usando sus ID. La especificaci�n XPointer define mecanismos para "direccionar dentro de estructuras internas de documentos XML", sin requerir que el autor del documento tenga que definir una ID para ese segmento. Para acotar la especificaci�n, proporciona "referencias para elementos, cadenas de caracteres, y otras partes de documentos XML, tanto si tienen o no tienen un atributo ID expl�cito". Para ver la �ltima especificaci�n XPointer, puedes ver http://www.w3.org/TR/WD-xptr.

.�XHTML

La especificaci�n XHTML es una forma de hacer documentos XML que se parezca y act�en como documentos HTML. Como un documento XML puede contener cualquier etiqueta que querramos definir, �por qu� no definir un conjunto de etiquetas que se parezcan a las de HTML? Este es el pensamiento que hay detr�s de la especificaci�n XHTML. El resultado de esta especificaci�n es un documento que puede mostrarse en navegadores y tambi�n tratado como datos XML. Los datos podr�an no ser tan identificables como un XML "puro", pero ser�an mucho m�s f�cil de manipular que el est�ndard HTML, porque XML especifica un tratamiento m�s regular y consistente.

Por ejemplo, cada etiqueta de un documento XML bien-formateado debe tener una etiqueta final asociada, o debe terminar en />. Por eso podr�amos ver <p>...</p>, o <p/>, pero nunca ver�amos <p> en solitario. El resultado de este requerimiento es que nunca tenemos que programar para los casos extra�os que vemos en HTML donde, por ejemplo, una etiqueta <dt> podr�a ser terminada por </dt>, por otra <dt>, por <dd>, o por </dl>. Esto hace m�s f�cil la escritura de c�digo!

La especificaci�n XHTML es una reformulaci�n del HTML 4.0 dentro de XML. La �ltima informaci�n est� en http://www.w3.org/TR/WD-html-in-xml/.

.�Esquema XML

Esta especificaci�n est� construida sobre las proposiciones de esquemas descritas abajo. Define tipos de elementos que un documento puede contener, sus relaciones, y los datos que puden contener en formas que van m�s all� de lo que proporciona la especificaci�n DTD actual. Para m�s informaci�n sobre la proposici�n del esquema XML, puedes ver las especificaciones de W3C XML Schema (Structures) y XML Schema (Datatypes).

.�"Notas" W3C

Las "Notas" no son est�ndards W3C en absoluto. En su lugar, se han hecho proposiciones por varios individuos y grupos que cubren t�picos que est�n bajo consideraci�n. El W3C las publica para que la gente que est� ocupada trabajando en los est�ndards y las revisiones tengan alguna idea de por donde empezar. Una "nota" no es m�s que el reflejo de un est�ndard eventual que cualquier otra -- cada una ser� juzgada por sus m�ritos, los mejores resultados ser�n combinados en el borrador W3C.

.�Esquemas Propuestos

Aunque DTD nos permite validar documentos XML, debe sufrir un gran n�mero de deficiencias. Muchos de los problemas vienen del hecho de que la especificaci�n DTD no es hereditaria. Por ejemplo, para una direcci�n de correo que contenga varios elementos "parsed character data" (PCDATA), el DTD se parecer�a a esto.

<!ELEMENT mailAddress (name, address, zipcode)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT zipcode (#PCDATA)>

Como podemos ver, las especifiaciones son l�neales. No hay sentido en el contenido, que puede rellenar el espacio de nombrado, forz�ndonos a poner nuevos nombres a elementos similares en diferentes configuraciones. Por eso, si queremos a�adir otro elemento "name" al DTD que contiene los elementos firstName, middleInitial, y lastName, tendr�amos que poner otro indentificador. No podr�amos llamarlo simplemente "name" sin conflictos con el elemento name definido para usarlo en mailAddress.

Otro problema de la naturaleza no hereditaria de las especificaciones DTD es que no clarifica qu� comentarios est�n hechos para explicar. Un comentario al principio como <!-- Address used for mailing via the postal system --> podr�a aplicarse a todos los elementos que constituyen la direcci�n de e-mail. Pero un comentario como <!-- Addressee --> s�lo se aplicar�a al elemento name. Por otro lado, un comentario como <!-- A 5-digit string --> se aplicar�a especialmente a la parte #PCDATA del elemento zipcode, para escribir los formatos v�lidos. Finalmente, los DTDs no permite formalizar criterios de validaci�n de caposm como es la limitaci�n 5-digit (o 5 y 4) para el campo zipcode.

Para remediar estas deficiencias, se han hecho varias proposiciones para un esquemas hereditario que se parece m�s a una base de datos y que especifica criterios de validaci�n.

.�DDML / Xschema - Document Definition Markup Language / XSchema

Es bueno tener definiciones de documentos como DTD, pero un DTD tiene una s�ntaxis algo extra�a. DDML es el nuevo nombre para la vieja proposici�n XSchema, que especifica restricciones de validaci�n para un documento XML usando XML. DDML es una de las muchas proposiciones que pretende ser el sucesor del DTD. No est� claro todav�a cual ser� el est�ndard de validaci�n. Para m�s informaci�n sobre DDML, puedes ver la p�gina http://www.w3.org/TR/NOTE-ddml.

.�DCD - Descripci�n de Contenido de Documento

La proposici�n DCD es un mecanismo para definir un est�ndard XML para bases de datos. Para m�s informaci�n sobre DCD, puedes ver la p�gina http://www.w3.org/TR/NOTE-dcd.

.�SOX - Esquema de XML Orientado a Objeto

SOX es una proposici�n de esquema que incluye tipos de datos extensibles, espacios de nombres, y documentaci�n embebida. Para m�s informaci�n sobre SOX, puedes ver la p�gina http://www.w3.org/TR/NOTE-SOX.

.�Otras Notas W3C

Otras proposiciones para est�ndards basadas en XML, incluyen.

.�ICE - Intercambio de Informaci�n y Contenido

ICE es un protocolo para el uso de indicadores de contenidos y sus subcriptores. Se enfoca sobre el "Intercambio de contenidos autom�tico y su reutilizaci�n, tanto en contexto de publicaciones tradicionales y en relaciones negocio-a-negocio". Para m�s informaci�n sobre ICE, puedes ver la p�gina http://www.w3.org/TR/NOTE-ice.

.�Est�ndards que Construyen XML

Los siguientes est�ndards y proposiciones construyen XML. Como XML es b�sicamente un herramienta de definici�n de lenguaje, estas especificaciones se usan para definir lenguajes estandarizados para prop�sitos especializados.

.�Est�ndards de Documentos Extendidos

.�SMIL - Lenguaje Sincronizado de Integraci�n Multimedia

SMIL es una recomendaci�n W3C que cubre audio, v�deo y animaciones. Tambi�n corrige el problema de la dificultad de sincronizaci�n del playback de dichos elementos. Para m�s infomaci�n sobre SMIL, puedes ver la p�gina http://www.w3.org/TR/REC-smil.

.�MathML - Lenguaje de Marcas Matem�tico

MathML es una recomendaci�n de W3C que trata con la representaci�n de f�rmulas matem�ticas. Para m�s informaci�n sobre MathML, puedes ver la p�gina http://www.w3.org/TR/REC-MathML.

.�SVG - Gr�ficos de Vector Escalables

SVG es un borrador de trabajo de W3C que cubre la representaci�n de im�genes gr�ficas de vectores. (Gr�ficos de vectores son im�genes construidas desde comandos que dicen cosas como "dibuja una l�nea (cuadrado o c�rculo) desde el punto x,y hasta el punto m,n" en vez de codificar la imagen como una serie de bits. Dichas im�genes son m�s f�cilmente escalables, aunque requieren m�s tiempo de procesamiento para dibujarlas). Para m�s informaci�n sobre SVG, puedes ver la p�gina http://www.w3.org/TR/WD-SVG.

.�DrawML - Lenguaje de Meta Dibujo

DrawML es una nota W3C que cubre im�genes 2D para ilustraciones t�cnicas. Tambi�n corrige el problema de actualizaci�n y redefinici�n de dichas im�genes. Para m�s informaci�n sobre DrawML, puedes ver la p�gina http://www.w3.org/TR/1998/NOTE-drawml-19981203.

.�Est�ndards eCommerce

.�cXML - XML Commerce

cXML es un est�ndard de (www.rosettanet.org) para configurar cat�logos online interactivos para diferentes vendedores, donde los precios y los productos ofrecidos son especificos de la compa�ia. Incluye mecanismos para manejar pedidos de compra, cambios de pedidos, actualizaciones de estado, y notificaciones de env�o. Para m�s informaci�n sobre cXML, Puedes ver la p�gina http://corp.ariba.com/News/AribaArchive/cxml.htm.

.�CBL - Librer�a de Negocio Comunes

CBL es una librer�a de elementos y definiciones de atributos mantenidos por CommerceNet (www.commerce.net). Para m�s informaic�n sobre CBL y una variedad de otras inicitativas que funcionan juntas para permitir las aplicacioens eCommerce, puedes ver la p�gina http://www.commerce.net/projects/currentprojects/eco/wg/eCo_Framework_Specifications.html

.�Est�ndards de Mantenimiento y Administraci�n de Software

.�DMTF - Manejo Distribuido de Tareas Forzadas

El DMTF es un grupo que viene con est�ndards para administrar remotamente equipos de escritorio. Est�n planeando usar XML para mantener catalogos de dispositivos y sus descripciones, y para otras tareas de control remoto. Este grupo no forma parte de W3C, pero sus actividades parecen haber progresado al estado de borrador, por eso est� listado aqu�. Para m�s informaci�n sobre est� organizaci�n, puedes ver http://www.dmtf.org/.

.�WebDAV - Autor�a y Versionado Distribuido en la Web

WebDAV es un esfuerzo desde el IETF que usa XML para mentener servidores web. Permite que el contenido sea creado, modificado, sobre una conexi�n HTTP. (El IETF no est� afiliado con el W3C, pero su "borrador est�ndard" es aproximadamente equivalente a una "recomendaci�n" W3C, y por eso se incluye aqu�). Para m�s informaci�n, puedes ver el grupo de trabajo "webdav" en http://www.ietf.org.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO