El API JAXP

Ahora que ya tenemos un entendimiento bsico de XML, tiene sentido ver una introducin de alto nivel de los distintos acrnimos 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 especificacin XML) y varios esquemas propuestos (nuevos mecanismos que usan sntaxis XML para hacer el trabajo de describir los criterios de validacin). Otras futuras caractersticas estndards que estan cerca de completarse incluyen el estndard XSL -- un mecanismo para configurar traduciones de documentos XML (por ejemplo a HTML u otro XML) y para dictar cmo se mostrarn los documentos. Otro esfuerzo cerca de terminarse es la especificacin 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 seccin tambin descubre otras proposiciones interesantes, incluyendo el estndard de aspecto HTML, XHTML, y el meta-estndard para describir la informacin que contienen los documentos XML, RDF. Tambin cubre la iniciativa de Espacios de Nombrado XML que promueve la reutilizacin modular de los documentos XML evitando la colisin de nombres.

Varios de los esquemas XML propuestos tambin 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 nmero de interesantes estndars y proposiciones de estndards que se construyen sobre XML, incluyendo el "Lenguaje Sincronizado de Integracin Multimedia" (SMIL), "Lenguaje de Marcas Matemtico" (MathML), "Grficos de Vector Escalables" (SVG), y DrawML.

El resto de esta seccin nos ofrece una descripcin ms detallada de estas iniciativas. Para hacer la cosa ms sencilla est dividida en.

Ojearemos los trminos 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 trminos en algo que estemos leyendo. Muy pronto, nos habremos aprendido todos estos trminos, 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 "recomendacin", porque no se imponen a nadie, pero no es porque la especificacin estuviera habierta para posteriores discusiones y revisiones. El caso est cerrado. Esta es la especificacin que implementaremos para conformar el estndard.

.SAX - API sencillo para XML

Este API era realmente un producto de colaboracin de la lista de correo XML-DEV, en vez de un producto del W3C. Se ha incluido aqu porque tiene las mismas caractersticas "finales" que una recomendacin de W3C.

Tambin podemos pensar en este estndard como el protocolo de "acceso serie" para XML. Este es el mecanismo ms rpido de ejecutar que usaremos para leer y escribir datos XML en un servidor, por ejemplo. Tambin es llamado un protocolo dirigido por eventos, porque la tcnica para registrar nuestro manejador con un analizador SAX, despus de que el analizador invoque nuestros mtodos de retrollamada siempre que vea una nueva etiqueta XML (o encuentre un error, o quiera decirnos algo ms).

Para ms informacin 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 coleccin de objetos en nuestro programa. Entonces podemos manipular el modelo del objeto de cualquier forma que tenga sentido. Este mecanismo tambin 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 ms informacin sobre la especificacin DOM, puedes ver Manipular Contenidos de Documentos con el Modelo de Objeto de Documento.

.DTD - Definicin de Tipo de Documento

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

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

Desafortunadamente, es dificil especificar un DTD para un documento complejo de forma que evite todas las combinaciones invlidas y permita las vlidas. Por eso construir un DTD es como un arte. El DTD puede existir en el inicio del documento, como parte del prlogo. Tambin puede existir como una entidad separada, o puede ser dividido entre el prlogo del documento y una o ms entidades adicionales.

Sin embargo, mientras que el mecanismo DTD fue el primer mtodo para especificar una estructura vlida de documento, no fue el ltimo. Se han inventando nuevos esquemas de especificaciones. Aprenderemos sobre ellos en un momento. Para ms informacin puedes ver Definir un Tipo de Documento.

.RDF - Marco de Descripcin de Recursos

RDF es un estndard propuesto para definir datos sobre datos. Usado en conjuncin con la especificacin XHTML, por ejemplo, o con pginas HTML, RDF podra ser usado para describir el contenido de las pginas. Por ejemplo, si nuestro navegador almacena nuestra informacin de ID como FIRSTNAME, LASTNAME, y EMAIL, una descripcin RDF podra hacer posible transferir datos a una aplicacin que quisiera NAME y EMAILADDRESS. Piensalo! algn da podramos no tener que teclear nuestro nombre y direccin en cada web site que visitemos! Para ver la ltima informacin sobre RDF, puedes ver la pgina http://www.w3.org/TR/PR-rdf-syntax/.

.Espacios de Nombres

El Espacio de Nombres estndard nos permite escribir documentos XML que usen dos o ms 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 podran ser cantidades que quisieramos totalizar, mientras que el dato "precio" de la estructura en su totalidad podra ser algo que quisieramos mostrar. La especificacin de espacio de nombres define mecanismos para cualificar los nombres para poder eliminar las ambiguedades. Esto nos permite escribir programas que usen informacin de otras fuentes y hagan cosas correctas con ella. La ltima informacin sobre espacios de nombres puede encontrarse en la pgina http://www.w3.org/TR/REC-xml-names.

.Recomendaciones Propuestas por W3C

Una "recomedacin propuesta" por W3C es una proposicin para una recomendacin W3C no-muy-finalizada-pero-probablemente-cerrada. Todava est abierta para revisin, y podra verse algn cambio si la realidad fuerza a ello. Pero muchos pensamientos se han puesto en la proposicin por mucha gente, por eso es bastante bueno pensar como un estndard en su categora que se cumplir sin muchos cambios.

.Esquema RDF

La proposicin de esquema RDF permite la especificacin de reglas de consistencia e informacin adicional que describe cmo deberan interpretarse las sentencias en un "Marco de Descripcin de Recursos" (RDF). Para ms informacin sobre la recomendacin del esquema RDF, puedes ver la pgina http://www.w3.org/TR/PR-rdf-schema.

.Borradores de Trabajo W3C

Un borrador de trabajo W3C es una primera visin razonable de los que podra ser enventualmente un estndard. Tiene sentido conceptualmente, y est listo para que la gente empiece su implementacin. La retroalimentacin de que se estn desarrollando los esfuerzos para poner el estndard en prctica puede ser el causante de algn cambio en los detalles internos, pero no de la especificacin general.

.XSL - Lenguaje de Hoja de Estilo Extensible

El estndard XML especifica cmo identificar datos, no cmo mostrarlos. Por otro lado, HTML dice como se deberan mostrar las cosas sin identificar que son. El estndard XSL es esencialmente un mecanismo de traducin 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 traducin del XSL est bastante completada, y ya existe un buen nmero de implementaciones. Sin embargo, la segunda parte del XSL est un poco ms tnue. Esta parte que cubre el formateo de objetos , tambin conocida como flujo de objetos, que nos da la habilidad de definir mltiples reas en una pginas y luego enlazarlas juntas. Cuando una canal de texto es dirigido como una coleccin, primero rellena el primer rea y luego "fluye" a la segunda cuando la primera est llena. Dichos objetos se usan para cartas, catlogos, y publicaciones peridicas. 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 estn todava en sus estados preliminares, pero es seguro que tendrn un gran impacto sobre cmo se usarn los documentos XML.

XLink: El protocolo XLink es una especificacin propuesta para manejar enlaces entre documentos XML. Esta especificacin permite algunos enlaces muy sofisticados, incluyendo enlaces de dos sentidos, enlaces a mltiples documentos, enlaces "expandibles" que insertan la informacin enlazada dentro de nuestros documentos en vez de reemplazar nuestro documento con una nueva pgina, 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 automticamente cualquier enlace que lo use). Para ms informacin sobre la especifiacin XLink, puedes ver la pgina http://www.w3.org/TR/WD-xml-link.

XPointer: En general, la especificacin XLink apunta a un documento o un segmento de documento usando sus ID. La especificacin 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 especificacin, proporciona "referencias para elementos, cadenas de caracteres, y otras partes de documentos XML, tanto si tienen o no tienen un atributo ID explcito". Para ver la ltima especificacin XPointer, puedes ver http://www.w3.org/TR/WD-xptr.

.XHTML

La especificacin XHTML es una forma de hacer documentos XML que se parezca y acten 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 detrs de la especificacin XHTML. El resultado de esta especificacin es un documento que puede mostrarse en navegadores y tambin tratado como datos XML. Los datos podran no ser tan identificables como un XML "puro", pero seran mucho ms fcil de manipular que el estndard HTML, porque XML especifica un tratamiento ms 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 podramos ver <p>...</p>, o <p/>, pero nunca veramos <p> en solitario. El resultado de este requerimiento es que nunca tenemos que programar para los casos extraos que vemos en HTML donde, por ejemplo, una etiqueta <dt> podra ser terminada por </dt>, por otra <dt>, por <dd>, o por </dl>. Esto hace ms fcil la escritura de cdigo!

La especificacin XHTML es una reformulacin del HTML 4.0 dentro de XML. La ltima informacin est en http://www.w3.org/TR/WD-html-in-xml/.

.Esquema XML

Esta especificacin 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 ms all de lo que proporciona la especificacin DTD actual. Para ms informacin sobre la proposicin del esquema XML, puedes ver las especificaciones de W3C XML Schema (Structures) y XML Schema (Datatypes).

."Notas" W3C

Las "Notas" no son estndards W3C en absoluto. En su lugar, se han hecho proposiciones por varios individuos y grupos que cubren tpicos que estn bajo consideracin. El W3C las publica para que la gente que est ocupada trabajando en los estndards y las revisiones tengan alguna idea de por donde empezar. Una "nota" no es ms que el reflejo de un estndard eventual que cualquier otra -- cada una ser juzgada por sus mritos, los mejores resultados sern combinados en el borrador W3C.

.Esquemas Propuestos

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

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

Como podemos ver, las especifiaciones son lneales. No hay sentido en el contenido, que puede rellenar el espacio de nombrado, forzndonos a poner nuevos nombres a elementos similares en diferentes configuraciones. Por eso, si queremos aadir otro elemento "name" al DTD que contiene los elementos firstName, middleInitial, y lastName, tendramos que poner otro indentificador. No podramos 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 estn hechos para explicar. Un comentario al principio como <!-- Address used for mailing via the postal system --> podra aplicarse a todos los elementos que constituyen la direccin de e-mail. Pero un comentario como <!-- Addressee --> slo se aplicara al elemento name. Por otro lado, un comentario como <!-- A 5-digit string --> se aplicara especialmente a la parte #PCDATA del elemento zipcode, para escribir los formatos vlidos. Finalmente, los DTDs no permite formalizar criterios de validacin de caposm como es la limitacin 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 ms a una base de datos y que especifica criterios de validacin.

.DDML / Xschema - Document Definition Markup Language / XSchema

Es bueno tener definiciones de documentos como DTD, pero un DTD tiene una sntaxis algo extraa. DDML es el nuevo nombre para la vieja proposicin XSchema, que especifica restricciones de validacin para un documento XML usando XML. DDML es una de las muchas proposiciones que pretende ser el sucesor del DTD. No est claro todava cual ser el estndard de validacin. Para ms informacin sobre DDML, puedes ver la pgina http://www.w3.org/TR/NOTE-ddml.

.DCD - Descripcin de Contenido de Documento

La proposicin DCD es un mecanismo para definir un estndard XML para bases de datos. Para ms informacin sobre DCD, puedes ver la pgina http://www.w3.org/TR/NOTE-dcd.

.SOX - Esquema de XML Orientado a Objeto

SOX es una proposicin de esquema que incluye tipos de datos extensibles, espacios de nombres, y documentacin embebida. Para ms informacin sobre SOX, puedes ver la pgina http://www.w3.org/TR/NOTE-SOX.

.Otras Notas W3C

Otras proposiciones para estndards basadas en XML, incluyen.

.ICE - Intercambio de Informacin y Contenido

ICE es un protocolo para el uso de indicadores de contenidos y sus subcriptores. Se enfoca sobre el "Intercambio de contenidos automtico y su reutilizacin, tanto en contexto de publicaciones tradicionales y en relaciones negocio-a-negocio". Para ms informacin sobre ICE, puedes ver la pgina http://www.w3.org/TR/NOTE-ice.

.Estndards que Construyen XML

Los siguientes estndards y proposiciones construyen XML. Como XML es bsicamente un herramienta de definicin de lenguaje, estas especificaciones se usan para definir lenguajes estandarizados para propsitos especializados.

.Estndards de Documentos Extendidos

.SMIL - Lenguaje Sincronizado de Integracin Multimedia

SMIL es una recomendacin W3C que cubre audio, vdeo y animaciones. Tambin corrige el problema de la dificultad de sincronizacin del playback de dichos elementos. Para ms infomacin sobre SMIL, puedes ver la pgina http://www.w3.org/TR/REC-smil.

.MathML - Lenguaje de Marcas Matemtico

MathML es una recomendacin de W3C que trata con la representacin de frmulas matemticas. Para ms informacin sobre MathML, puedes ver la pgina http://www.w3.org/TR/REC-MathML.

.SVG - Grficos de Vector Escalables

SVG es un borrador de trabajo de W3C que cubre la representacin de imgenes grficas de vectores. (Grficos de vectores son imgenes construidas desde comandos que dicen cosas como "dibuja una lnea (cuadrado o crculo) desde el punto x,y hasta el punto m,n" en vez de codificar la imagen como una serie de bits. Dichas imgenes son ms fcilmente escalables, aunque requieren ms tiempo de procesamiento para dibujarlas). Para ms informacin sobre SVG, puedes ver la pgina http://www.w3.org/TR/WD-SVG.

.DrawML - Lenguaje de Meta Dibujo

DrawML es una nota W3C que cubre imgenes 2D para ilustraciones tcnicas. Tambin corrige el problema de actualizacin y redefinicin de dichas imgenes. Para ms informacin sobre DrawML, puedes ver la pgina http://www.w3.org/TR/1998/NOTE-drawml-19981203.

.Estndards eCommerce

.cXML - XML Commerce

cXML es un estndard de (www.rosettanet.org) para configurar catlogos online interactivos para diferentes vendedores, donde los precios y los productos ofrecidos son especificos de la compaia. Incluye mecanismos para manejar pedidos de compra, cambios de pedidos, actualizaciones de estado, y notificaciones de envo. Para ms informacin sobre cXML, Puedes ver la pgina http://corp.ariba.com/News/AribaArchive/cxml.htm.

.CBL - Librera de Negocio Comunes

CBL es una librera de elementos y definiciones de atributos mantenidos por CommerceNet (www.commerce.net). Para ms informaicn sobre CBL y una variedad de otras inicitativas que funcionan juntas para permitir las aplicacioens eCommerce, puedes ver la pgina http://www.commerce.net/projects/currentprojects/eco/wg/eCo_Framework_Specifications.html

.Estndards de Mantenimiento y Administracin de Software

.DMTF - Manejo Distribuido de Tareas Forzadas

El DMTF es un grupo que viene con estndards para administrar remotamente equipos de escritorio. Estn 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 ms informacin sobre est organizacin, puedes ver http://www.dmtf.org/.

.WebDAV - Autora 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 conexin HTTP. (El IETF no est afiliado con el W3C, pero su "borrador estndard" es aproximadamente equivalente a una "recomendacin" W3C, y por eso se incluye aqu). Para ms informacin, puedes ver el grupo de trabajo "webdav" en http://www.ietf.org.

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO

HAY 1 COMENTARIOS
  • Anónimo dijo:

    Me ha aclarado muchas ideas

Conéctate o Regístrate para dejar tu comentario.