Professional Documents
Culture Documents
Introducion
¿Qué es XML?................................................................................................4
Antecedentes...................................................................................................5
Esquemas de xml..........................................................................................13
Consulta y transformacion-XSL..................................................................16
Atributos XML..........................................................................................18
Comentarios XML....................................................................................18
Datos XML...............................................................................................18
Referencia de Entidad................................................................................18
Bibliografia
Introducion
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?
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.
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:
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:
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 :
Corecta:
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
Ejemplo:
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>
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.
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.
Ejemplo:
<examen aprobado="Si" dificultad=”Dificilisimo”>
<pregunta id=”1”>
</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 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
Por ejemplo:
<?xml version="1.0"?>
<!DOCTYPE coche SYSTEM
"http://www.sitio.com/dtd/coche.dtd">
<coche>
<modelo>...</modelo>
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:
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
13
Consulta- transformacion XPath
Ejemplo XPath:
//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
15
Ejemplo de consulta XQuery:
<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
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).
El documento XML debe tener sólo una etiqueta de nivel superior, o etiqueta raíz.
Ejemplo:
<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
Carácter Referencia
> >
< <
& &
Aplicaciones del XML “ "
‘ &apos
18
diferentes plataformas. Se puede utilizar en bases de datos, editores de texto, hojas de
cálculo, etc.
Blibliografia
20