You are on page 1of 19

indice

Introducion

¿Qué es XML?................................................................................................4

Antecedentes...................................................................................................5

Esquemas de los documentos XML...............................................................6

Definicion de tipó de dato (DTD).................................................................10

Esquemas de xml..........................................................................................13

Consulta- transformacion XPath..................................................................14

Consultas y Transformación – Xquery.........................................................15

Consulta y transformacion-XSL..................................................................16

Almacenamiento de datos XML...................................................................17

Atributos XML..........................................................................................18

Comentarios XML....................................................................................18

Datos XML...............................................................................................18

Referencia de Entidad................................................................................18

Aplicaciones del XML..................................................................................19

Bibliografia
Introducion

En la presente investigacion tratamos de esplicar ¿Qué es XML?, y


cuales son sus elementos que la componen; si bien XML surge por la nesesidad
que se tetia por ebitar la ambiguidad, entre otras cosas, de las web.

El surguimiento de XML . a cambiado el manejo de las web , Pero para


poder manejar el codigo, del cual se da muestra, se necesita un conocimiento
previo de la programacion basica en cualquier otro lenguaje. Sin embargo la
dificultad es minima una vez que se estructura al igual que la que se puede
realizar en una base de datos la cual a sido optimizada gracias a xml.

Xml es un elementop que ya hace años forma parte de la web, sin embargo el
grado de importancia que el usuario inexperto se le da es nula, por lo tanto
tendria que haber una nececidad de querer saber el funcionamiento de lo que
son las paginas en el internet y que las hace ver tan vistosas,para poder asimilar
por completo esta teoria. Bastaria con decirle a usuarios inexpertos que es un
codigo el cual se crea conforme, a la creatividad del diseñador , para poder
tener portales de la web” muy interesantes”.

3
XML
(eXtensible Markup Language)
¿Qué es XML?

XML es Un lenguaje de marcas o etiquetas delimitadas, para definir nuevos


lenguajes conosidos como metalenguaje; XML fue diseñado especialmente para los
documentos de la web. Permite que los diseñadores creen sus propias etiquetas,
permitiendo la definición, transmisión, validación e interpretación de datos entre
aplicaciones y entre organizaciones. Sus características principales son:

 Versátil: separa contenido, estructura y presentación. Esto permite una visión


personalizada de los datos. Los datos pueden ser presentados a los usuarios a través
de un browser donde se pueden presentar de manera personalizada, basada en
preferencias o configuración.
 Extensible: se pueden definir nuevas etiquetas
 Estructurado: se pueden modelar datos a cualquier nivel de complejidad
 Validable: cada documento se puede validar frente a un DTD/Schema, o en su
defecto, se puede declarar bien formado.
 Abierto: independiente de plataformas, empresas, lenguajes de programación o
entornos de desarrollo.

XML es una idea simple y tremendamente útil porque:

 ha llegado en un momento adecuado para sacar partido de diversas tecnologías


(Internet, Web, ...) y poder abordar de nuevas maneras, más adecuadas y potentes,
problemas importantes.
 Integración de datos estructurados (tablas relacionales) y poco estructurados
(documentos).
 Aportar significado a la web (web semántica).
 Integración de sistemas de información basados en tecnologías diferentes.gg

4
Antecedentes

XML proviene de un lenguaje inventado por IBM en los años setenta, llamado
GML (General Markup Language), que surgió por la necesidad que tenía la empresa de
almacenar grandes cantidades de información.

Este lenguaje gustó a la ISO, por lo que en 1986 trabajaron para normalizarlo,
creando SGML (Standard General Markup Language) capaz de adaptarse a un gran abanico
de problemas; SGML consiste en un sistema para la organización y etiquetado de
documentos, sin imponer en sí ningún conjunto de etiquetas en especial. A partir de él se
han creado otros sistemas para almacenar información.

En el año 1989 Tim Berners Lee creó la web, y junto con ella el lenguaje HTML.
Este lenguaje se definió en el marco de SGML y fue de lejos la aplicación más conocida de
este estándar. Los navegadores web sin embargo siempre han puesto pocas exigencias al
código HTML que interpretan y así las páginas web son caóticas y no cumplen con la
sintaxis.

XML tiene como principal problema su complejidad. XML empezó en 1996 como
una pequeña versión de SGML para evitar su redundancia, complicación y características
confusas; se plantea por la necesidad de poder definir y manejar estructura interna en los
documentos HTML.

En 1998 la W3C publica su especificación y recomienda su uso. Hacer una web


orientada a las aplicaciones (web services) en vez de una web orientada sólo a la
interacción con personas (HTML)

5
Esquemas de los documentos XML

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. Un documento XML debe llevar elsiguiente
es quema:

1. Estructura jerárquica de elementos

Los documentos XML deben seguir una estructura estrictamente jerárquica con
lo que respecta a las etiquetas que delimitan sus elementos. Una etiqueta debe estar
correctamente "incluida" en otra. Además, los elementos con contenido, deben estar
correctamente "cerrados". En el siguiente ejemplo, la primera línea sería incorrecta
en XML, no así la segunda:

<LI>HTML <B>permite <I>esto</B></I>.

<LI>En XML la <B>estructura <I>es</I> jerárquica</B>.</LI>

2. Etiquetas vacías
HTML permite elementos sin contenido. Como veremos más adelante, XML
tambien, pero la etiqueta debe ser de la siguiente forma:

<elemento-sin-contenido/>

Eejemplo:

incorrecta :

<LI>Esto es HTML<BR>en el que casi todo está permitido</LI>

Corecta:

<LI>En XML, somos<BR/> más restrictivos.</LI>

6
3. 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.

4. Valores de atributos

Los valores de atributos en XML, al contrario de HTML, siempre deben


estar encerradas en comillas simples ( ' ) o dobles ( " ).

Ejemplo:

<A HREF=http://www.disney.com/> ---> mal

<A HREF="http://www.developer.com/"> ---> bien

5. 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.

Existe unconjunto de caracteres denominados "espacios en blanco" que los


procesadores XML tratan de forma diferente en el marcado XML. Estos caracteres
son los "espacios" (Unicode/ASCII 32), tabuladores (Unicode/ASCII 9), retornos de
carro (Unicode/ASCII 13) y los saltos de línea (Unicode/ASCII 10).

La especificación XML 1.0 permite el uso de esos "espacios en blanco" para


hacer más legible el código, y en general son ignorados por los procesadores XML.
En otros casos, sin embargo, los "espacios en blanco" resultan muy significativos,
por ejemplo, para separar las palabras en un texto, o separar lineas de párrafos
diferentes.

7
Ejemplo:

<?xml version="1.0"?>
<!DOCTYPE MENSAJE SYSTEM "mensaje.dtd">
<mensaje>
<remite>
<nombre>Alfredo Reino</nombre>
<email>alf@ibium.com</email>
</remite>
<destinatario>
<nombre>Bill Clinton</nombre>
<email>president@whitehouse.gov</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 ejemplo puede ser visto de forma gráfica:

Docuemto XML bien formado

8
documento está bien formado si es sintácticamente correcto. Es decir, si cumple
las reglas que se han discutido hasta ahora, entonces el documento es sintácticamente correcto
y, por lo tanto, está bien formado.

El programa genérico que se usa para procesar cualquier XML se denomina


analizador XML o parser XML. La especificación de un parser XML es publicada por W3C.
Existen muchos parsers que están disponibles.

Estos parser generalmente verifican si los documentos XMl están bien formados.
Muchos navegadores vienen con parser XMl incorporado. En caso de que el documento XMl
esté bien formado, el navegador muestra la estructura de árbol asociada con el documento
XML. En caso de estar mal formado, el navegador muestra el mensaje de error y la línea donde
se presenta el error en el código XML.

Un documento XML esta compuesto elementos, delimitados por etiquetas de


apertura ycierre que, correctamente balanceadas, se anidan formando un único árbol dentro de
la etiquetaraíz. Las etiquetas de apertura están compuestas por el nombre de esta, más los
atributos correspondientes que se verán más adelante, encerrado todo ello entre los símbolos
“<” y “>”. La etiqueta de cierre contiene exclusivamente al nombre de esta etiqueta entre los
símbolos “</” y “>”. Si un elemento no contiene nada en su interior, la etiqueta de cierre se
puede omitir, siempre que la de apertura termine con el símbolo “/>”.Como hemos comentado
antes, los atributos son un conjunto de pares nombre-valor queaparecen siempre tras el nombre
de la etiqueta de apertura del elemento. El valor del atributoestá siempre separado del nombre
por el carácter “=”, y se encuentra entrecomillado.

Ejemplo:
<examen aprobado="Si" dificultad=”Dificilisimo”>
<pregunta id=”1”>

Defina el modelo relacional

</pregunta>

9
Definicion de tipó de dato (DTD)

Crear una definición del tipo de documento (DTD) es como crear nuestro propio
lenguaje de marcado, para una aplicación específica. Por ejemplo, podríamos crear un DTD
que defina una tarjeta de visita. A partir de ese DTD, tendríamos una serie de elementos
XML que nos permitirían definir tarjetas de visita.

La DTD define los tipos de elementos, atributos y entidades permitidas, y puede


expresar algunas limitaciones para combinarlos.

Los documentos XML que se ajustan a su DTD, se denominan "válidos". El


concepto de "validez" no tiene nada que ver con el de estar "bien-formado". Un documento
"bienfomado" simplemente respeta la estructura y sintaxis definidas por la especificación
de XML. Un documento "bien-formado" puede además ser "válido" si cumple las reglas de
una DTD determinada. También existen documentos XML sin una DTD asociada, en ese
caso no son "válidos", pero tampoco "inválidos"… simplemente "bien-formados"… o no.

La DTD puede residir en un fichero externo, y quizá compartido por varios (puede
que miles) de documentos. O bien, puede estar contenida en el propio documento XML,
como parte de su declaración de tipo de documento.

Veamos un ejemplo

<!ELEMENTO EJEMPLO (#PCDATA)>


<!-- ¡Eso es todo por ahora! -->
]>
<EJEMPLO>texto texto texto bla bla bla
<!-- Otro comentario -->
</EJEMPLO>
<!-- Ya acabamos -->
<!DOCTYPE etiqueta[
<!ELEMENT etiqueta (nombre, calle, ciudad, pais, codigo)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT calle (#PCDATA)>
<!ELEMENT ciudad (#PCDATA)>
<!ELEMENT pais (#PCDATA)>
<!ELEMENT codigo (#PCDATA)>
]>
<etiqueta>
<nombre>Fulano Mengánez</nombre>
<calle>c/ Mayor, 27</calle>
<ciudad>Valderredible</ciudad>
<pais>España</pais> >
<codigo>39343</codigo>
</etiqueta
10
La declaración del tipo de documento comienza en la primera línea termina con
"]>". Las declaraciones DTD son las líneas que empiezan con "<!ELEMENT" y se
denominan declaraciones de tipo elemento. También se pueden declarar atributos, entidades
y anotaciones para una DTD. En el ejemplo anterior, todas las declaraciones DTD que
definen "etiqueta" residen dentro del documento. Sin embargo, la DTD se puede definir
parcial o completamente en otro lugar.

Por ejemplo:

<?xml version="1.0"?>
<!DOCTYPE coche SYSTEM
"http://www.sitio.com/dtd/coche.dtd">
<coche>
<modelo>...</modelo>

declaraciones tipo elemento

Los elementos son la base de las marcas XML, y deben ajustarse a un tipo de
documento declarado en una DTD para que el documento XML sea considerado válido.
Las declaraciones de tipo de elemento deben empezar con "<!ELEMENT" seguidas por el
identificador genérico del elemento que se declara. A continuación tienen una
especificación de contenido. Por ejemplo:

<!ELEMENT receta (titulo, ingredientes,


procedimiento)>

En este ejemplo, el elemento <receta> puede contener dentro elementos <titulo>,


<ingredientes> y <procedimiento>, que, a su vez, estarán definidos también en la DTD y
podrán contener más elementos.

11
La especificación de contenido puede ser de cuatro tipos:

1) EMPTY
Puede no tener contenido. Suele usarse para los atributos.

2) ANY
Puede tener cualquier contenido. No se suele utilizar, ya que es conveniente
estructuraradecuadamente nuestros documentos XML.

<?xml version="1.0"?>
<!DOCTYPE coche SYSTEM
"http://www.sitio.com/dtd/coche.dtd">
<coche>
<modelo>...</modelo>
...
</coche>
<!ELEMENT receta (titulo, ingredientes,
procedimiento)>
<receta>
<titulo>...</titulo>
<ingredientes>...</ingredientes>
<procedimiento>...</procedimiento>
</receta>
<receta>
<parrafo>Esto es un párrafo</parrafo>
<titulo>...</titulo>
<ingredientes>...</ingredientes>
<procedimiento>...</procedimiento>
</receta>
<!ELEMENT salto-de-pagina EMPTY>
<!ELEMENT batiburrillo ANY
12
3) Mixed
Puede tener caracteres de tipo datos o una mezcla de caracteres y sub-elementos
especificados en la especificación de contenido mixto.
Por ejemplo, el primer elemento definido en el ejemplo (<enfasis>) puede
contener datos de carácter (#PCDATA). Y el segundo (<parrafo>) puede contener tanto
datos de carácter (#PCDATA) como sub-elementos de tipo <enfasis>.

4) Element
Sólo puede contener sub-elementos especificados en la especificación de
contenido.Para declarar que un tipo de elemento tenga contenido de elementos se
especifica un modelo de contenido en lugar de una especificación de contenido mixto o
una de las claves ya descritas.

Esquemas de xml

Es un lenguaje de esquema utilizado para describir la estructura y las


restricciones de los contenidos de los documentos XML de una forma muy precisa, más
allá de las normas sintácticas impuestas por el propio lenguaje XML. Se consigue así una
percepción del tipo de documento con un nivel alto de abstracción. Fue desarrollado por el
World Wide Web Consortium .

Un lenguaje XML representa un modelo de datos jerárquico estructura los datos de


acuerdo a un determinado “esquema semántico”.

 Estos lenguajes se definen especificando los elementos y atributos permitidos.


 Esta especificación se realiza mediante reglas gramaticales.
 Un conjunto concreto y bien formado de tales reglas forman un esquema XML
(representado por un DTD o un XSD).
 Un esquema XML define un conjunto coherente de documentos, es decir un tipo de
documentos.
 XHTML es el lenguaje HTML reformulado como aplicación XML, y se que se la
próxima generación de HTML. Es una versión mas estrita y limpia de HTML..

13
Consulta- transformacion XPath

Declarativo para localizar nodos y fragmentos (texto,elementos, atributos ...) en el árbol de


un documento XML.

• Es utilizado por otras normas paraDireccionamiento (XLink, XPointer y XSLT)

 -“Pattern matching” (XSLT y XQuery)

• Se basa en el XPath Data Model:

 Un documento XML se representa como un árbol jerárquico con


siete tipos de nodos (raíz, elemento, texto, atributo, espacio de
nombres, instrucción de procesamiento y comentario).
 Conceptos importantes
 Caminos de localización / libro / capitulo / parrafo

Ejemplo XPath:

Seleccionar nombres de ingredientes de receta que se utiliza media taza:

//ingrediente[@cantidad='0.5' and
@unidad=taza]/@nombre
􀂄 Seleccionar todos los capítulos públicos que
tengan algún
párrafo que contenga algún elemento con atributo
href:
//capitulo[parrafo/*[@href]][@public='si']
􀂄 Seleccionar todos los capítulos públicos que
tengan algún
párrafo importante o un apéndice:
//capitulo[parrafo/[@importante=‘si’]]|//apendice
14
Consultas y Transformación – Xquery

 XQuery Languaje (XQL)Proporciona un modo flexible de consulta para extraer


datos de los documentos XML.
 Los archivos XML pueden ser reales o virtuales, es decir, otras fuentes (hojas de
cálculo, ASCII, bases de datos, ...) vistas con datos XML.
 Se pretende que desempeñe un papel similar al SQL en las BD
relacionales: las colecciones de documentos XML podrán ser accedidas como si
fueran una base de datos.
 Esta basado en varias propuestas de lenguajes previas (XML-QL, YATL, Lorel,
Quilt).
 Se ha integrado con XPath (versión 2.0).
 Existe un cierto solape con XSLT.
 Una consulta puede referir a más de un documento.

Una consulta es una expresión que:

 Lee una secuencia de fragmentos XML o valores atómicos y


 Devuelve una secuencia de fragmentos XML o valores atómicos.
 Los principales tipos de expresiones son:
 Expresiones XPath, para navegar por los documentos.
 Constructores de elementos.
 FLWR (FOR, LET, WHERE, RETURN) para iterar por los elementos de una
colección.
 Condicionales (IF, THEN ELSE) para construir el resultado en base a alguna
condición.
 Con cuantficadores (SOME, ANY) para chequear la existencia de algún elemento
que cumpla una condición.
 Listas a las que se pueden aplicar operadores (UNION, ...) y funciones (AVG,...).

15
Ejemplo de consulta XQuery:

Obtener el año y título de todos los libros publicados por


Addison-Wesley después de 1991:

<bib>
{
for $b in
doc("http://www.bn.com/bib.xml")/bib/book
where $b/publisher="Addison-Wesley" and
$b/@year>1991
return
<book year="{ $b/@year }">
{ $b/title }
</book>
}

Consulta y transformacion-XSL

XSL (eXtensible Stylesheet Language) no sólo permite definir el estilo a aplicar


a cada elemento XML. También es un lenguaje de programación para transformar
documentos XML.

 El resultado puede ser un documento HTML, WML (para WAP), texto plano, RTF,
PDF, o incluso otro documento XML.
 Utiliza XPath para referir partes de documentos XML.

Una hoja de estilo XSL es una serie de reglas que determinan cómo va a ocurrir
latransformación y cada regla se compone de un patrón de localización (pattern) y una
plantilla (template).

Ejemplo de consulta XLS: <xsl:template match="/">


<HTML>
<BODY>
<xsl:for-each select="/LIBROS/LIBRO">
Título:
<xsl:value-of select="TITULO"/><BR/>
Autor:
<xsl:value-of select="AUTOR"/><BR/>
Precio:
16
Almacenamiento de datos XML

La primera sentencia del código XML especifica la versión XML. La primera


sentencia sólo está encerrada entre <? ?>. Estas instrucciones especifican la codificación
del tipo de carácter del documento XML y la versión de XML al que el documento XML
obedece.

XML no tiene ningún conjunto de etiquetas predefinidas. Se deben definir etiquetas


de acuerdo a los datos que van a ser representados. Las etiquetas XML tienen un conjunto
básico de reglas de sintaxis a seguir:

El documento XML debe tener sólo una etiqueta de nivel superior, o etiqueta raíz.
Ejemplo:

<per> <?xml versión=”1.0” encoding=”ISO-8859-1”?>

<libros>
<libro>Referencia XML</libro>
<autor>John </autor></per>
</libros>

No hay límite en el número de niveles en que pueden añadirse las etiquetas XML.La
etiqueta vacía también debe tener etiqueta de cierre. Pueden ser escritas en cualquiera de las
siguientes formas <libro></libro> o <libro/> Las etiquetas XML son sensbles a las
mayúsculas y minúsculas. Por lo tanto cada etiqueta abierta debe tener su correspondiente
etiqueta de cierre igual. Las etiquetas XML deben tener sólo una palabra. No deben tener
ningún espacio. El nombre de la etiqueta XML sólo puede comenzar con una letra ASCII o
un carácter de subrayado. Cada etiqueta XML debe tener una correspondiente etiqueta de
cierre. Las etiquetas deben estar anidadas correctamente.

17
Atributos XML

Los atributos van a ser ubicados dentro de etiquetas XML. Los atributos se
usan para especificar alguna característica acerca de la etiqueta XML. Los atributos se
especifican con la forma nombre_atributo=”valor_atributo”

Comentarios XML

Los comentarios se colocan dentro de las etiquetas <!-- --> Los comentarios
proporcionan mayor claridad para quienes leen los datos XML. Los comentarios se pueden
ubicar incluso dentro de las etiquetas de elementos.

Datos XML

Son los datos dentro de las etiquetas XML. Los datos del elemento pueden
scualquier texto. Sin embargo, existen ciertos caracteres que no pueden ser parte del texto.
Por ejemplo, los caracteres < y > no pueden ser parte de los datos dentro de las etiquetas
XML, ya que el analizador (parser) XML no será capaz de diferenciar entre etiquetas y el
contenido dentro de las mismas.

Referencia de Entidad

La referencia de entidad es un concepto en XML mediante el cual


determinados caracteres específicos de etiquetas tales como < y > y las comillas “ y ‘
pueden aparecer dentro de los datos de elementos XMl.

Carácter Referencia
> &gt
< &lt
& &amp
Aplicaciones del XML “ &quot
‘ &apos

Una pregunta que está en el aire es: ¿Será XML el


sustituto del querido, odiado y dominado HTML?. No Esa es la respuesta. La razón es muy
sencilla, basicamente XML está naciendo no sólo para su aplicación en Internet, sino que se
propone como lenguaje de bajo nivel para intercambio de información estructurada entre

18
diferentes plataformas. Se puede utilizar en bases de datos, editores de texto, hojas de
cálculo, etc.

Respecto a su aplicación en Internet, mejorará lo que HTML ha intentado y es


establacer un standar fijo al que todo el mundo pueda atenerse sin necesidad de depender
del Navegador utilizado, del sistema de objetos o de cualquier otra cosa.

Puesto que ya se utiliza en internet para auxiliar en paginas web que


presentan diversos tipos de informacion que van desde el entretenimiento hasta la
informacion seria como lo es un periodico en red, pasando por muchos otros que utilizan
este nlenguaje para darle presentacion en sus paginas.

Blibliografia

 INTRODUCCIÓN A XML EN CASTELLANO[pdf], Alfredo Reino Romero,


Versión 2.0 (26 Enero, 2000)[archovo en linea]
19
 DESARROLLO DE APLICACIONES CON BASES DE DATOS, Tema 4,
XML Y BASES DE DATOS [pdf],[archeivo en linea]

20

You might also like