2. XML
Introducción a XML
El Lenguaje XML
Estructura de XML
XML bien formado y valido
3. Introducción a XML
XML (Extensible Markup Language) es un
metalenguaje que fue diseñado básicamente
para estructurar, almacenar e intercambiar
datos entre diferentes aplicaciones. Es un
estándar, ya que es extensible y puede ser
utilizado por cualquier aplicación
independientemente de la plataforma.
4. El Lenguaje XML es
Simple - La especificación completa mide menos de 30 cuartillas. XML
ha sido diseñado para facilitar aún más la escritura de programas con
respecto a HTML o SGML.
Extensible - Cada quien puede inventar sus propias etiquetas para
marcar cual quier tipo de documento, y ser éstas compartidas. De hecho,
XML es un metalenguaje que le permite al usuario definir su propio
lenguaje de marcado.
Un estándar abierto - XML es SGML. Ello significa que no es necesario
saber programar; existen muchas herramientas eficientes que permiten
ya sea crearlo, manejarlo o implantarlo en una computadora y distribuirlo.
Eficiente - XML tiene entes interconstruidos para reutilizar fragmentos de
documentos, así, estos sólo tienen que ser transmitidos una vez.
Basado en la experiencia - XML ha sido diseñado por personas que
tienen amplia experiencia en los len guajes de marcado y han
capitalizado las enseñanzas que el uso de ellos les ha su ministrado a lo
largo de los años.
Consensuado - El diseño de XML incluye los puntos de vista de los
organismos coordinadores de HTML y SGML, así como los de personas
que han desarrollado importantes aplicaciones con es tos estándares.
5. El Lenguaje XML es
Libre - Nadie tiene la propiedad o patente de XML, ni podrá tenerla, ya
que tanto SGML como XML han sido definidos como estándares
internacionales. Por lo mismo su uso o desarrollo no implica el pago de
ninguna regalía.
Internacional - XML tiene interconstruido un soporte para textos en
prácticamente todos los alfabetos del mundo, incluyendo técnicas para
consignar el lenguaje y/o código del alfabeto utilizado.
Listo para ser usado - Los “browsers” o navegadores de la web, son
capaces de leer especificaciones XML. Los hipervínculos, textos y
multimedios pueden ser vistos tal como si fuere un documento HTML.
Manejable - XML incluye métodos para declarar y reforzar las
estructuras documentales usadas actualmente, como las de bases de
datos.
Validable - XML tiene técnicas que permiten la validación de los
documentos involucrados, así que uno puede estar seguro de que los
documentos registrados con él son crea dos correctamente.
6. Estructura de XML
1.- Prologo.
2.- Elementos o Elemento Raíz
3.- Epilogo (opcional)
7. Prologo
Especifica que el documento actual es XML, define la
versión y la codificación de caracteres que se usó
(UTF-8, UTF-16, ISO 8859-1, etc.) en su generacion.
La codificación de caracteres no es obligatoria, pero
es una buena práctica.
Algunas veces se especifica si el documento es
autónomo, esto es, que no hace referencia a un
documentos externos de estructuración. Ej. <!
DOCTYPE book SYSTEM “empleados.dtd”?>
8. Elementos o Elemento Raíz
Tiene una etiqueta inicial (tag inicial), una etiqueta
final (tag final) y datos, las etiquetas (tag) son “case-
sensitive”.
Pueden existir elementos vacíos <salario></salario>
o </salario>
El o los atributos son un par nombre-valor que se asocia
con un elemento particular.
El o los atributos tienen que ser especificados después de
la etiqueta inicial (tag inicial) o el nombre de una etiqueta
vacía
9. Elementos o Elemento Raíz
Los comentarios son del tipo <!-- esto es un
comentario -->
Las entidades(entity) se usan en XML como
representación alternativa de los caracteres
especiales (comillas dobles ó la marca de
apertura en un elemento, acentos), también
pueden emplearse para incluir el contenido de
otros documentos o hacer referencia a trozos de
texto repetitivos (una macro <!ENTITY amp
"&">
10. Elementos o Elemento Raíz
Secciones CData
Le indican al procesador (parser) que ignore todos
los caracteres de marcas que se encuentren en el
interior de esta/s sección/es
11. XML bien formado y valido
Bien formados: son todos los documentos que
cumplen las especificaciones del lenguaje respecto
a las reglas sintácticas. De hecho los documentos
XML deben tener una estructura jerárquica muy
estricta y los documentos bien formados deben
cumplirla.
Válidos: Además de estar bien formados, siguen
una estructura y una semántica determinada por
otro documento (DTD, XSD): sus elementos y sobre
todo la estructura jerárquica que define ese
documento (DTD, XSD), además de los atributos,
deben ajustarse a lo que el documento (DTD, XSD)
dicte. El lenguaje utilizado para este fin es el XSDL
(XML Schema Definition Language).
12. XML valido DTD (Document Type
Definition)
Un DTD define los elementos que pueden
aparecer en un documento XML, el orden en
el cual pueden aparecer, cómo pueden estar
anidados y otros detalles básicos de la
estructura del documento XML. Los DTD son
parte de la especificación original de XML y
son muy similares a los DTDs de SGML
14. XML valido XSD (XML Schema
Definition)
Un esquema puede definir todas las
estructuras de documento que pudieran
definirse con DTD y además, puede definir
tipos de datos y reglas mucho más
complejas de las que pueden hacerse con
DTD. El W3C desarrollo la especificación de
Esquemas XML un par de años después que
la especificación original XML.
16. Ventajas de XSD (XML Schema
Definition) sobre DTD
Los esquemas usan sintaxis XML
Los esquemas XML soportan tipos de
datos
Los esquemas XML son extensibles
Los esquemas XML tienen mayor poder
de expresión
18. Introducción a JSON
Acrónimo de JavaScript Object Notation, es un formato ligero
para el intercambio de datos.
Una de las ventajas de JSON sobre XML como formato de
intercambio de datos, es que es mucho más sencillo escribir un
analizador semántico de JSON.
Se emplea habitualmente en entornos donde el tamaño del
flujo de datos entre cliente y servidor es de vital importancia,
cuando la fuente de datos es confiable y donde no es
importante el no disponer de procesamiento XSLT para
manipular los datos en el cliente.
Es una especificación que nos permite crear objetos al vuelo
(on the fly).
19. El Lenguaje JSON
JSON está constituido por dos estructuras:
Una colección de pares de nombre/valor. En
varios lenguajes esto es conocido como un
objeto, registro, estructura, diccionario, tabla
hash, lista de claves o un arreglo asociativo.
Una lista ordenada de valores. En la mayoría
de los lenguajes, esto se implementa como
arreglos, vectores, listas o secuencias.
20. Estructura JSON
Objeto: Un objeto es un conjunto desordenado de pares nombre/valor.
Un objeto comienza con { (llave de apertura) y termine con } (llave de
cierre). Cada nombre es seguido por : (dos puntos) y los pares
nombre/valor están separados por , (coma).
Un arreglo es una colección de valores. Un arreglo comienza con [ (corchete
izquierdo) y termina con ] (corchete derecho). Los valores se separan
por , (coma).
21. Estructura JSON
Un valor puede ser una cadena de caracteres con comillas dobles, o un número, o true o
false o null, o un objeto o un arreglo. Estas estructuras pueden anidarse.
Una cadena de caracteres es una colección de cero o más caracteres Unicode, encerrados entre
comillas dobles, usando barras divisorias invertidas como escape. Un carácter está representado por
una cadena de caracteres de un único carácter. Una cadena de caracteres es parecida a una cadena de
caracteres C o Java.
22. Estructura JSON
Un número es similar a un número C o Java, excepto que no
se usan los formatos octales y hexadecimales.
25. Introducción a YAML
YAML es un formato para serializar datos que es
fácil de procesar por las máquinas, fácil de leer para
las personas y fácil de interactuar con los lenguajes
de script.
YAML corresponde a las estructuras nativas de
datos de lenguajes ágiles.
YAML es portable entre lenguajes de programación.
YAML es expresivo y extensible.
YAML es fácil para implementar y usar.
26. El lenguaje YAML
YAML fue creado bajo la creencia de que todos los datos
pueden ser representados adecuadamente como
combinaciones de listas, hashes (mapeos) y datos escalares
(valores simples).
La sintaxis es relativamente sencilla y fue diseñada teniendo
en cuenta que fuera muy legible pero que a la vez fuese
fácilmente mapeable a los tipos de datos más comunes en la
mayoría de los lenguajes de alto nivel.
YAML utiliza una notación basada en el indentación y/o un
conjunto de caracteres Sigil distintos de los que se usan en
XML, haciendo que sea fácil componer ambos lenguajes.
27. Estructura YAML
YAML utiliza para describir el contenidos el conjunto de
caracteres imprimibles Unicode, UTF-8 o UTF-16.
La estructura del documento se indica indentando con
espacios en blanco, esta prohibido identar con tabulaciones.
Los comentarios se encabezan con ( # ) y tiene efectos hasta
el final de la línea.
Los valores simples (o escalares) en general se representan
sin comillas pero pueden utilizarse tanto comillas dobles (“ “) o
comillas simples (‘ ‘).
La representación para los arreglos asociativos es “clave:
valor” ósea dos puntos seguidos de un espacio una por línea o
entre llave ({ }) separados por comas seguido de un espacio ( ,
).
Un valor de un arreglo asociativo esta precedida por un signo
de interrogación ( ? ), permitiendo construir claves complejas
sin ambigüedades.
28. Estructura YAML
Las listas simples se denotan encabezados por un guion ( - ) con un
elemento por cada línea, o entre corchetes ( [ ] ) y siempre
separados por coma espacio ( , ).
Cuando se utilizan comillas dobles para denotar un elemento los
carácter especiales se representan como en el lenguaje de progresión
“C” que es una secuencia de escape que comienza con una barra
invertida ().
Es posible incluir mas de un documento dentro de un mismo flujo,
separándolos por tres guiones ( --- ); los tres puntos ( ... ) indican el fin
de un documento dentro de un flujo.
YAML requiere que las comas como los punto y comas que se
utilizan como separadores en el documento siempre sean
seguidos de un espacio para poder representar los valores
simples (escalares) se puedan representar sin las comillas
simples o dobles.