domingo, 9 de junio de 2013

4.1. CARACTERISTICAS DEL LENGUAJE XML


1. – XML es un estándar para escribir datos estructurados en un fichero de texto.
XML provee un conjunto de reglas, normas y convenciones para diseñar formatos de texto para  datos estructurados que van desde las hojas de cálculo, o las libretas de direcciones de Internet, hasta parámetros de configuración, transacciones financieras o dibujos técnicos.
Su uso  Los programas que los generan, utilizan normalmente formatos binarios o de texto. XML es permite resolver problemas comunes, como la falta de extensibilidad, carencias de soporte debido a características de internacionalización, o problemas asociados a plataformas específicas.

2. – XML parece HTML pero no lo es.
Tanto XML como HTML  usan marcas y atributos, más su diferencia radica en que, HTML cada marca y atributo estable un significado a la vez que incluyendo el aspecto que debe tener al verse en un navegador, en XML sólo se usan las marcas para delimitar fragmentos de datos, dejando la interpretación de éstos a la aplicación que los lee.

3. – XML está en formato texto, pero no para ser leído.
El formato texto puede ser usado en cualquier plataforma, esto le da innumerables ventajas de portabilidad, depuración, independencia de plataforma, e incluso de edición, pero su sintaxis es más estricta que la de HTML: una marca olvidada o un valor de atributo sin comillas convierten el documento en inutilizable. No hay permisividad en la construcción de documentos, ya que esa es la única forma de protegerse contra problemas más graves.

4. – XML consta de una familia de tecnologías.
La definición (estándar) de XML 1.0 que viene de Febrero 98, pero su desarrollo se ha ido enriqueciendo paulatinamente a medida que se veían sus posibilidades: de esa forma, contamos con una especificación Xlink, que describe un modo estándar de añadir hipervínculos a un documento XML. XPointer y XFragments son especificaciones para establecer la forma de vincular partes de un documento XML. Incluso el lenguaje de hojas de estilo (CSS) se puede utilizar con XML al igual que se hace con HMTL. XSL es precisamente, una extensión del anterior, en la que se dispone de todo un lenguaje de programación exclusivamente para definir criterios de selección de los datos almacenados en un documento XML, y que funciona conjuntamente con las CSS o con HTML para suministrar al programador y al usuario mecanismos de presentación y selección de información, que no requieran de la intervención constante del servidor. Se basa en un lenguaje anterior para transformación (XSLT) que permite modificar atributos y marcas de forma dinámica.

5. – XML es prolijo, pero eso no supone un problema.
Los ficheros resultantes, son casi siempre mayores que sus equivalentes binarios. Esto es intencionado, y las ventajas ya las hemos comentado más arriba, mientras que las desventajas, siempre pueden ser soslayadas mediante técnicas de programación que permite comprimir los datos.

6. – XML es nuevo, pero no tanto.
El estándar empezó a diseñarse en 1996, y se publicó la recomendación en Febrero/98. Como ya hemos comentado, eso no significa que la tecnología no esté suficientemente madura, ya que el estándar SGML en el que se basa, data de una especificación ISO del año 1986.

7. – XML no requiere licencia
Es un estándar abierto  independiente de la plataforma, y tiene un amplio soporte extendido a un sin número herramientas y desarrolladores.

4.2. LENGUAJE DE MARCADO GENERALIZADO

SGML son las siglas de Standard Generalized Markup Language o "Estándar de Lenguaje de Marcado Generalizado". Consiste en un sistema para la organización y etiquetado de documentos. La Organización Internacional de Estándares (ISO) normalizó este lenguaje ISO 8879:1986, Information processing — Text and office systems — Standard Generalized Markup Language (SGML).
El lenguaje SGML sirve para especificar las reglas de etiquetado de documentos y no impone en sí ningún conjunto de etiquetas en especial.

¿Que son las abreviaturas  con ML?
Casi todas las siglas en la web que tiene un "ML" en éllas, se trata de un "lenguaje de marcado o de marcas." Los lenguajes de marcado son los lenguajes que conforman la web.

Hay muchos lenguajes de marcas diferentes. Este artículo se centra en HTML y XML, pero hay un montón de otros lenguajes de marcado. Tres son los que se deben tener en cuenta si estás haciendo el diseño de una página web o desarrollo: HTML, XML y XHTML.

¿Que es un Lenguaje de Marcas?
Un lenguaje de marcas es un lenguaje que anota el texto de modo que el ordenador puede manipularlo. La mayoría de los lenguajes de marcas son legibles debido a que las anotaciones están escritas de forma tal que se puedan distinguir de los textos. Por ejemplo, con HTML, XML y XHTML, las etiquetas de formato son ‹ y ›. El texto que aparece dentro de uno de esos delimitadores se considera parte del lenguaje de marcado y no parte del texto anotado. Por ejemplo:
‹ p › este es un párrafo de texto escrito en HTML ‹ /p ›
Al dar formato al texto que se desea imprimir (o visualizar en un ordenador o TV), es necesario distinguir entre el texto en sí y las instrucciones para imprimir el texto. Las marcas son las instrucciones para mostrar o imprimir el texto.

4.3. LENGUAJE EXTENSIBLE DE MARCADO DE HIPERTEXTO

Una de las particularidades de este formato es que puede reconocer el tipo de dispositivo en el que estas visualizando la información como Surfer y puede adaptarse a el de manera visual, hoy en día la tecnología y plataformas de programación para la navegación en la web han avanzado mucho, sin embargo estas siguen siendo las bases donde todo comienza y de ahí se derivan en base a lo que queramos hacer de nuestras web, siempre es importante tener en cuenta un principio básico para después comprender ideas mas complejas.
Es el lenguaje marcado pensado para sustituir a HTML como estándar para las páginas web, su objetivo es avanzar en el proyecto del World Wide Web Consortium para lograr una web donde la información y la forma de presentarla estén claramente separadas. En ese sentido XHTML serviría únicamente para transmitir la información que contiene un documento.
Una de las ventajas del XHTML es la facilidad de edición directa del código y del mantenimiento y también un mismo documento puede adoptar diseños distintos en diferentes aparatos.

4.4. DEFINICIÓN DE TIPO DE DOCUMENTO

Una definición de tipo de documento o DTD (siglas en inglés de document type definition) es una descripción de estructura y sintaxis de un documento XML o SGML. Su función básica es la descripción de la estructura de datos, para usar una estructura común y mantener la consistencia entre todos los documentos que utilicen la misma DTD. De esta forma, dichos documentos pueden ser validados, conocen la estructura de los elementos y la descripción de los datos que trae consigo cada documento, y pueden además compartir la misma descripción y forma de validación dentro de un grupo de trabajo que usa el mismo tipo de información.

¿Que describe un DTD?
Las DTD se emplean generalmente para determinar la estructura de un documento mediante etiquetas (en inglés tags) XML o SGML. Una DTD describe:
  • Elementos: indican qué etiquetas son permitidas y el contenido de dichas etiquetas.
  • Estructura: indica el orden en que van las etiquetas en el documento.
  • Anidamiento: indica qué etiquetas van dentro de otras.

4.5. XSL y CSS

Para cada documento XML que se desee presentar en pantalla formateado de la manera que deseemos se tiene que escribir una hoja de estilos o similar. Hemos utilizado esa frase en otras partes de la introducción a XML, veamos ahora que significa. 

También tenemos dos posibles lenguajes con los que formatear los textos de un documento XML para poder verlo por pantalla. La primera posibilidad es el CSS, que muchos ya conocerán. La segunda opción es el XSL, bastante más avanzada. 

CSS (Cascading Style Sheets o hojas de estilo en cascada)no es nada nuevo, ya se podía utilizar con HTML y se creó en un intento de separar la forma del contenido en HTML. En XML también podemos utilizar las CSS, y se utilizan de una manera muy similar a cómo se utilizan en HTML, por lo menos los atributos de estilo que podemos aplicar son los mismos y sus posibles valores también. 

XSL, que son las siglas de XML Style Language, es el segundo lenguaje con el que trabajar en XML. Este lenguaje no se limita a definir qué estilo aplicar a cada elemento del documento XML. Además se pueden realizar pequeñas instrucciones típicas de los lenguajes de programación y la salida no tiene porque ser un documento HTML, sino que además podría ser de otros tipos, cualquiera que podamos necesitar como un documento escrito en WML (para WAP), un documento de texto plano u otro documento XML. 

XSL resulta mucho más potente que CSS y de hecho es mucho más adecuado utilizarlo. Una de sus principales ventajas la vemos a continuación. Si tenemos un documento XML que queremos que se visualice en múltiples dispositivos distintos será imprescindible utilizar XSL. En este esquema tendríamos un solo documento XML y un documento XSL para cada dispositivo que queramos incluir, por ejemplo para un navegador Netscape, otro para Internet Explorer, otro para un móvil Ericson y otro para un móvil Nokia. Si mañana aparece un nuevo dispositivo, por muy particular que sea, sólo necesitaremos crear un documento XSL para que nuestros XML se puedan visualizar en él. 

4.6. API SIMPLE PARA XML Y MODELO EN OBJETOS PARA LA REPRESENTACIÓN DE DOCUMENTOS.

API simple para XML y modelo en objetos para la representación de documentos SAX son las siglas de "Simple API for XML", originalmente, una API únicamente para el lenguaje de programación Java, que después se convirtió en la API estándar de facto para usar XML en JAVA. Existen versiones de SAX no sólo para JAVA, si no también para otros lenguajes de programación (como python).

Analizador o parser SAX.
  • Detecta cuándo empieza y termina un elemento o el documento, o un conjunto de caracteres, etc. (genera eventos)
  • Gestiona los espacios de nombres.
  • Comprueba que el documento está bien formado.
  • Las aplicaciones necesitan implementar manejadores de los eventos notificados.
  • SAX lee secuencialmente de principio a fin, sin cargar todo el documento en memoria.

Ventajas y Desventajas
  • Eficiencia en cuanto al tiempo y la memoria empleados en el análisis
  • No dispone de la estructura en árbol.
  • Es más difícil de manipular.
  • Realiza una lectura secuencial del documento por lo que una vez leído no se puede volver atrás, algo que DOM sí permite.
El DocumentObjectModel o DOM ('Modelo de Oetos del Documento' o 'Modelo en Objetos para la Representación de Documentos') es esencialmente una interfaz de programación de aplicaciones (API) que proporciona un conjunto estándar de objetos para representar documentos HTML y XML, un modelo estándar sobre cómo pueden combinarse dichos objetos, y una interfaz estándar para acceder a ellos y manipularlos. A través del DOM, los programas pueden acceder y modificar el contenido, estructura y estilo de los documentos HTML y XML, que es para lo que se diseñó principalmente.

El responsable del DOM es el World Wide Web Consortium (W3C).
El DOM es una interfaz de programación de aplicaciones para acceder, añadir y cambiar dinámicamente contenido estructurado en documentos con lenguajes como ECMAScript (JavaScript).

Desarrollo del DOM
La primera vez que el DOM se utilizó, fue con el navegador Netscape Navigator en su versión 2.0. Este DOM se conoce también como «modelo básico», o «DOM nivel 0». Internet Explorer 3.0 fue el primer navegador de Microsoft que utilizó este nivel. Netscape 3.0 empezó a utilizar rollovers. Microsoft empezó a usar rollovers en Internet Explorer 4.0. Netscape 4.0 agregó la capacidad de detectar eventos ocurridos en el ratón y el teclado. Una característica de este navegador fue el uso de capas. Sin embargo, esta capacidad se ha eliminado en los navegadores creados posteriormente.

En Internet Explorer 4.0 todos los elementos de una página web se empezaron a considerar objetos computacionales con la capacidad de ser modificados. Debido a las diferencias en estos navegadores, el World Wide Web Consortium emitió una especificación denominada «DOM nivel 1» en el mes de octubre de 1998 en la cual se consideraron las características y manipulación de todos los elementos existentes en los archivos HTML y XML. En noviembre del año 2000 se emitió la especificación del «DOM nivel 2». En esta especificación se incluyó la manipulación de eventos en el navegador, la capacidad de interacción con CSS, y la manipulación de partes del texto en las páginas de la web. «DOM nivel 3» se emitió en abril de 2004; utiliza la definición de tipo de documento (DTD) y la validación de documentos.

4.7. CREACIÓN Y CONSUMO DE SERVICIOS WEB XML

Los servicios Web XML son un conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre sí con el objetivo de ofrecer unos servicios. Los proveedores ofrecen sus servicios como procedimientos remotos y los usuarios solicitan un servicio llamando a estos procedimientos a través de la Web, por lo que estos servicios deben estar alojados en un servidor Web. Los servicios Web XML permiten el manejo distribuido de componentes, estos permiten tomar ventaja de la infraestructura de Internet para la distribución de funcionalidad y paquetes de datos. Las principales características de los servicios Web XML son: Están basados en protocolos estándar para la Web. Los servicios Web XML realizan las peticiones y proporcionan las respuestas utilizando protocolos estándar de la Web, como los son HTTP (Hyper Text Transfer Protocol), XML (Extensible Markup Language), y SOAP (Simple Object Access Protocol), toda plataforma que maneje dichos protocolos, podrá aprovechar la funcionalidad de los servicios Web XML. Comunicación de aplicación a aplicación basada en Internet.