xml
DESCRIPTION
para programarTRANSCRIPT
INTRODUCCION
A XML
Que es XML…? (eXtensible Markup Language ó Lenguaje extensible de
marcas) es un conjunto de reglas que sirven para definir
etiquetas semánticas para organizar un documento. Además
el XML es un metalenguaje que te permite diseñar tu propio
lenguaje de etiquetas. A diferencia del un lenguaje de
etiquetas normal (HTML), XML te permite definir tu propio lenguaje..
Viéndolo desde un punto de vista simple y sin meternos en
definiciones muy técnicas. XML nos ayuda a tener nuestra
información estructurada jerárquicamente por medio de
etiquetas ó Tags que nosotros mismos crearemos.
Historia XML
Objetivos y usos de XML
Objetivos y usos del XML El XML se creó para que
cumpliera varios objetivos.
• Que fuera idéntico a la hora de servir, recibir y procesar
la información que el HTML, para aprovechar toda la
tecnología implantada para este último.
• Que fuera formal y conciso desde el punto de vista de
los datos y la manera de guardarlos.
• Que fuera extensible, para que lo puedan utilizar en todos los campos del conocimiento.
• Que fuese fácil de leer y editar.
• Que fuese fácil de implantar, programar y aplicar a los
distintos sistemas.
Estructura de un
documento
Aunque a primera vista, un documento XML puede parecer
similar a HTML, hay una diferencia principal Un documento XML contiene datos que se autodefinen, exclusivamente. En
XML se separa el contenido de la presentación de forma
total.
Ejemplo:
<?xml version="1.0"?>
<mensaje>
<remite>
<nombre>Alfredo Reino</nombre>
<email>[email protected]</email>
</remite>
<destinatario>
<nombre>Bill Clinton</nombre>
<email>[email protected]</email>
</destinatario>
<asunto>Hola Bill</asunto>
<texto>
<parrafo>¿Hola qué tal? Hace <enfasis>mucho</enfasis> que no escribes. A ver si llamas y quedamos para tomar algo.
</parrafo>
</texto>
</mensaje>
Este mismo documento puede ser visto de forma
gráfica, para comprender mejor la estructura de un
documento XML.
Componentes de un
Documento XML Comentarios
<!-- Esto es comentario <ñññññ-d#dd -->
Elementos
<nombre id="surname">Perez</nombre>
<vacia color="verde"/>'
Declaraciones de tipo elemento
El elemento cliente debe contener a nombre y apellidos, puede contener a nif y tlf - a este incluso más de una vez- y debe contener al menos una vez la dirección del cliente (para poder enviarle el pedido a casa).
<!ELEMENT cliente (nombre,apellidos,nif?,tlf*,direccion+)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellidos(ape1,ape2?)>
Declaraciones de listas de atributos
Valor Significado
CDATA El atributo será una cadena de caracteres.
No todos los caracteres son válidos.
Usaremos secciones PCDATA cuando queramos incluir
los carácteres no
válidos.
ID El atributo sirve para identificar al elemento dentro del
documento.
Sólo puede haber un atributo de tipo ID por elemento.
IDREF/S Este atributo se empleará para referenciar a otros
elementos del
documento a partir de su ID.
ENTITY/S Contiene nombres de entidades. Ver siguiente apdo.
NMTOKE/S Contiene una única cadena de texto (ed, una sola
palabra).
(<<
enumerados>>)
Aquí especificamos EL conjunto de valores q puede
tomar el atributo;
esto lo hacemos separandolos con |.
Valores por defecto
Valor Significado
#REQUIRED Con esto indicamos que es obligatorio darle un valor
al atributo.
#IMPLIED Con esto indicamos que es opcional darle un valor al
atributo.
<<valor>>
Podemos poner un valor (NO lista de valores) opcional
directamente;
entonces, si no se le otorga un nuevo valor
posteriormente, asumirá el
dado (ed, es el valor x por defecto).
No es obligatorio darle un valor en el doc.
#FIXED
<<valor>>
Con esto obligamos a q el atributo tome
necesariamente el valor
especificado en <<valor>>
Documentos XML bien formados
Estructura jerárquica de elementos
<LI>HTML <B>permite <I>esto</B></I>.
<LI>En XML la <B>estructura <I>es</I> jerárquica</B>.</LI>
Etiquetas Vacias
<LI>Esto es HTML<BR>en el que casi todo está permitido</LI>
<LI>En XML, somos<BR/> más restrictivos.</LI>
Un solo elemento raiz
Los documentos XML sólo permiten un elemento raiz, del que todos los demás sean parte. Es decir, la jerarquía de
elementos de un documento XML bien-formado sólo puede
tener un elemento inicial.
Tipo de letra, espacios en blanco
El XML es sensible al tipo de letra utilizado, es decir, trata las mayúsculas y minúsculas como
caracteres diferentes. Si un elemento de XML está definido como "ELEMENTO", no podemos
usar "elemento", ni "Elemento", ni "eleMENto" para referirnos a él.
Nombrando cosas
Al utilizar XML, es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos particulares, etc. no se pueden crear nombres que empiecen con la cadena "xml", "xMl", "XML" o cualquier otra variante. Las letras y rayas se pueden usar en cualquier parte del nombre.
También se pueden incluir dígitos, guiones y caracteres de punto, pero no se puede empezar por ninguno de ellos. El resto de caracteres, como algunos símbolos, y espacios en blanco, no se pueden usar.
Marcado y datos
Es sencillo reconocer las marcas en un documento XML. Son
aquellas porciones que empiezan con "<" y acaban con ">", o
bien, en el caso de las referencias de entidad, empiezan por "&"
y acaban con ";".
Tecnologias relacionadas
con XML Contenidos: DTD o XML Schema
Un documento XML puede contener muchos tipos de información. Es decir, pueden haber muchos lenguajes escritos en XML para cualquier colectivo de usuarios. Por ejemplo,
• Si lo utiliza el colectivo de médicos podría crear un lenguaje en XML específico para almacenar diagnósticos de los pacientes. Este lenguaje se podría llama PacientesML.
• Si los distribuidores de películas utilizan XML podrán crear sus propios lenguajes para guardar la información de las películas. Este lenguaje se podría llamar PeliculasML.
• Si estamos escribiendo aplicaciones para móviles podremos utilizar un lenguaje para aplicaciones inalámbricas (Wireless), que se llama WML.
Diseño: CSS o XSL
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 estas son las CSS.
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.
Programación: SAX o DOM
Si queremos realizar acciones con nuestros datos escritos en XML tenemos también mucho camino ya implementado. El
W3C ha especificado dos mecanismos para acceder a
documentos XML y trabajar con ellos. Se tratan
simplemente de unas normas que indican a los
desarrolladores la manera de acceder a los documentos.
Estas normas incluyen una jerarquía de objetos que tienen
unos métodos y atributos con los que tendremos que
trabajar y que nos simplificarán las tareas relativas al
recorrido y acceso a las partes del documento. Estos dos
mecanismos se denominan SAX y DOM. SAX se utiliza para hacer un recorrido secuencial de los elementos del
documento XLM y DOM implica la creación de un árbol
en memoria que contiene el documento XML, y con él en
memoria podemos hacer cualquier tipo de recorrido y
acciones con los elementos que queramos.
Diferencias entre HTML y
XML El HTML se preocupa por formatear datos y para ello son las
etiquetas que tiene el lenguaje, para formatear la información
que se desea mostrar.
El XML se preocupa por estructurar la información que
pretende almacenar. La estructura la marca la lógica propia
de la información.
Procesar la información en HTML es inviable, por estar
mezclada con los estilos y las etiquetas que formatean la
información.
En XML se puede procesar la información con mucha facilidad, porque todo está ordenado de una manera lógica, así mismo el formateo de la información para que se
pueda entender bien por el usuario es viable a través de un
pequeño procesamiento, a través de hojas de estilos o
similares.