Oscar Bedoya. [email protected] XML. Bookstore A continuación puede encontrar la...
-
Upload
aldonza-fonseca -
Category
Documents
-
view
221 -
download
0
Transcript of Oscar Bedoya. [email protected] XML. Bookstore A continuación puede encontrar la...
<HTML>
<HEAD>
<TITLE> Bookstore </TITLE>
</HEAD>
<BODY>
<H1> A continuación puede encontrar la información de los libros en inventario </H1>
<UL>
<LI> The Adventures of Huckleberry Finn </LI>
<LI> The Legend of Sleepy Hollow </LI>
<LI> Moby-Dick </LI>
<LI> The Scarlet Letter </LI>
<LI> The Turn of the Screw </LI>
</UL>
</BODY>
</HYML>
El lenguaje HTMLEl lenguaje HTML
HTML proporciona un conjunto fijo de elementos predefinidos que se pueden emplear para marcar los componentes de una página web típica.
Los elementos que proporciona son: HTML, HEAD, TITLE, BODY, UL, H1, LI, entre otros.
El explorador que muestra la página reconoce cada uno de los elementos estándar y sabe cómo visualizarlos.
El lenguaje HTMLEl lenguaje HTML
Existen documentos que no pueden ser representados adecuadamente por medio de los elementos de HTML
• Un conjunto de ecuaciones matemáticas
• Una partitura musical
• Un documento organizado jerárquicamente en una estructura de árbol
El lenguaje HTMLEl lenguaje HTML
El problema es que no se pueden definir el conjunto de elementos o etiquetas de acuerdo a lo que necesitemos
x <pow> 2 </pow>
para visualizar x2
Esto no es posible debido a que el navegador no
sabría que hacer al encontrar el elemento o
etiqueta <pow>
El lenguaje HTMLEl lenguaje HTML
• XML (eXtensible Markup Language)
Leguaje definido por el grupo de trabajo XML del consorcio WWW(W3C) que se caracteriza porque permite definir nuestros propios elementos.
XMLXML
• El documento XML está estructurado de manera jerárquica, con elementos anidados.
• Se escogieron los nombres de los elementos de acuerdo al conjunto de datos específico
• Todos los elementos definidos están dentro de un sólo elemento(llamado elemento documento o elemento raíz)
• Cada elemento XML tiene un marcador de inicio y uno de fin
XML (e1.xml)XML (e1.xml)
• Un documento XML está formado por dos partes principales:
• El prologoEl prologo
• El elemento documentoEl elemento documento
Anatomía de un documento XMLAnatomía de un documento XML
prologo
Elemento documento
• El prologo:El prologo: Formado por la declaración de XML y comentarios, estos últimos son opcionales
<?xml version=“1.0” ?>
Indica que se trata de un documento XML.
Además proporciona el número de la versión.
Los comentarios en XML comienzan con <!- - y terminan con -->. El comentario no puede tener la cadena --.
Anatomía de un documento XMLAnatomía de un documento XML
• El elemento documento:El elemento documento: Es el elemento raíz en el cual están contenidos todos los demás elementos del documento XML
Cada elemento está formado por un marcador de inicio, el contenido del elemento y un marcador de fin
<TITLE>The Adventures of Huckleberry Finn</TITLE>
Anatomía de un documento XMLAnatomía de un documento XML
Marcador de inicio
ContenidoMarcador
de fin
• El contenido de un elemento puede ser El contenido de un elemento puede ser otros elementosotros elementos
<BOOK>
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<AUTHOR>Mark Twain</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>298</PAGES>
<PRICE>$5.49</PRICE>
</BOOK>
El nombre que aparece en los marcadores es el tipo de elemento
Anatomía de un documento XMLAnatomía de un documento XML
Marcador de inicio
Contenido
Marcador de fin
Estas reglas permiten que un documento Estas reglas permiten que un documento XML sea procesado por un exploradorXML sea procesado por un explorador
• El documento debe tener exactamente un elemento de nivel superior, elemento documento o raíz
• Los elementos deben estar adecuadamente anidados
• Cada elemento deberá tener un marcador de inicio y un marcador de fin
Reglas básicas XMLReglas básicas XML
• El nombre del tipo de elemento en un El nombre del tipo de elemento en un marcador de inicio debe coincidir marcador de inicio debe coincidir exactamente con el nombre de su marcador exactamente con el nombre de su marcador de fin.de fin.
• En todo el documento se distingue entre En todo el documento se distingue entre mayúsculas y minúsculasmayúsculas y minúsculas
Reglas básicas XMLReglas básicas XML
Analizar los siguientes documentos XML:
e4.xml | e4a.xml | e4b.xml | e5.xml – e14.xml
• Por medio de una hoja de estilo en Por medio de una hoja de estilo en cascada(CSS)cascada(CSS)
• Por medio de XSLPor medio de XSL
• Por medio de HTMLPor medio de HTML
Cómo visualizar los documentos XMLCómo visualizar los documentos XML
A través de CSSA través de CSS
• La hoja de estilo debe proporcionarle al browser qué hacer cuando encuentre cada uno de los tipos de elementos
Cómo visualizar los documentos XMLCómo visualizar los documentos XML
BOOK BOOK
{display:block;{display:block;
margin-top:12pt;margin-top:12pt;
font-size:10pt}font-size:10pt}
TITLE TITLE
{font-style:italic}{font-style:italic}
AUTHOR AUTHOR
{font-weight:bold}{font-weight:bold}
Cómo visualizar los documentos XMLCómo visualizar los documentos XML
Display:block : nueva línea
Margin-top : interlineado de 12
Font-size :Tamaño de letra 12 pts
Una vez se definan las instrucciones para Una vez se definan las instrucciones para los elementos, se debe enlazar el los elementos, se debe enlazar el documento XML con la hoja de estilodocumento XML con la hoja de estilo
Esto se hace por medio de la siguiente Esto se hace por medio de la siguiente instrucción de procesamiento:instrucción de procesamiento:
<?xml-stylesheet type="text/css" <?xml-stylesheet type="text/css" href="ea.css"?>href="ea.css"?>
>Ver eb.xml ea.css
>Ver ec.xml ec.css
Cómo visualizar los documentos XMLCómo visualizar los documentos XML
De acuerdo a la rigurosidad seguida para De acuerdo a la rigurosidad seguida para escribir un documento XML se tienen dos escribir un documento XML se tienen dos niveles:niveles:
• Documentos XML bien formados
• Documentos XML válidos
Documentos XMLDocumentos XML
Un documento XML bien formado es aquel que se ajusta al conjunto mínimo de criterios para que pueda ser visto en un un browser, además de:
• Los nombres para los marcadores de los elementos deben comenzar con una letra o guión bajo, seguido por cero o más letras, dígitos, puntos, guiones o guiones bajos
Documentos XML bien formadosDocumentos XML bien formados
Tipos de contenidos de los elementos de documentos bien formados
• Elementos anidados:
<BOOK>
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<AUTHOR>Mark Twain</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>298</PAGES>
<PRICE>$5.49</PRICE>
</BOOK>
Documentos XML bien formadosDocumentos XML bien formados
• Datos de caracteres: <TITLE>The Adventures of Huckleberry Finn</TITLE>
<PAGES>298
<PRICE>$5.49</PRICE>
</PAGES>
• Comentarios <BOOK>
<TITLE>Leaves of Grass</TITLE>
<!-- Este es un documento bien formado-->
<AUTHOR>Walt Whitman</AUTHOR>
<BINDING>hardcover</BINDING>
<PAGES>462</PAGES>
<PRICE>$7.75</PRICE>
</BOOK>
Documentos XML bien formadosDocumentos XML bien formados
Se puede insertar cualquier carácter excepto el símbolo <, & y la cadena ]]>
Los comentarios no pueden ir dentro de una marca
• Referencias de entidades
• Secciones CDATA
Documentos XML bien formadosDocumentos XML bien formados
Secciones CDATA
Una sección CDATA comienza con los caracteres <![CDATA[ y finaliza con los caracteres ]]>. Entre estos delimitadores se puede incluir CUALQUIER carácter, excepto ]]>.
<![CDATA[
Aquí podemos introducir < y &
]]>
Sirve para incluir un contenido que incluya los caracteres < o &
Documentos XML bien formadosDocumentos XML bien formados
Secciones CDATA(Ver secData.xml)
<BOOK>
<TITLE>
<![CDATA[ Oklahoma By Rogers & Jhon ]]>
</TITLE>
<AUTHOR>Mark Twain</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>298</PAGES>
<PRICE>$5.49</PRICE>
Las secciones CDATA solo pueden ir en el contenido de un elemento!
Documentos XML bien formadosDocumentos XML bien formados
Adición de atributos a los elementos
<BOOK imagenPortada=“sleepy.gif” >
<TITLE>The Legend of Sleepy Hollow</TITLE>
<AUTHOR>Washington Irving</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>98</PAGES>
<PRICE>$2.95</PRICE>
</BOOK>
Documentos XML bien formadosDocumentos XML bien formados
Adición de atributos a los elementos
<BOOK category=“fiction” >
<TITLE>The Legend of Sleepy Hollow</TITLE>
<AUTHOR>Washington Irving</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>98</PAGES>
<PRICE>$2.95</PRICE>
</BOOK>
Documentos XML bien formadosDocumentos XML bien formados
Adición de atributos a los elementos
<BOOK category=“fiction” >
<TITLE>The Legend of Sleepy Hollow</TITLE>
<AUTHOR born=“1879” >Washington Irving</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>98</PAGES>
<PRICE>$2.95</PRICE>
</BOOK>
La fecha de nacimiento del autor es información que muy posiblemente no sea necesario visualizar
Documentos XML bien formadosDocumentos XML bien formados
Reglas para la creación de atributos
• El nombre debe comenzar con una letra o _, seguido por cero o más letras, números, puntos, guiones o guiones bajos
• Un determinado nombre de atributo solo puede aparecer una vez en el mismo marcador de inicio
• El valor asignado a un atributo lo constituyen una serie de caracteres delimitados por comillas sencillas o dobles
La cadena no puede contener el mismo carácter de comilla que se haya utilizado para delimitarla
La cadena no puede incluir el carácter <, ni &
Documentos XML bien formadosDocumentos XML bien formados
Un documento XML bien formado se considera valido si cumple con las siguientes condiciones:
• El prologo del documento debe incluir una declaración de tipo de documento adecuada(DTD)
• El resto del documento debe adaptarse a la estructura definida en la DTD
Documentos XML válidos Documentos XML válidos
Una DTD es un conjunto de reglas, definidas por el usuario, que deben cumplir los elementos del documento XML: cómo se deben anidar, cuantos elementos deben haber, qué tipos de elementos están permitidos.
Ver bf.xml
Documentos XML válidos Documentos XML válidos
• Todo documento XML debe estar bien formado, cualquier violación a la sintaxis especificada se considera como un error fatal
Cuando un navegador encuentra un error fatal, deberá detener el procesamiento normal del documento
• Debido a que la validez es opcional en los documentos XML, una violación a sus restricciones no se considera como un error fatal ,simplemente un error. El navegador no detiene el procesamiento del documento
Documentos XML válidos Documentos XML válidos
• Formato de la DTD
<!DOCTYPE Nombre
[
declaraciones de marcas
]
>
donde Nombre debe corresponder con el nombre del elemento documento o raíz(INVENTORY en los ejemplos).
Ver invValid.xml
Documentos XML válidos Documentos XML válidos
Declaraciones de marcas
Declaración de tipo de elementos:
Indica el nombre del tipo de elemento y el contenido permitido del mismo, especificando a menudo el orden en que pueden existir los elementos hijos.
<!ELEMENT Nombre Especificacion>
Documentos XML válidos Documentos XML válidos
Declaraciones de marcas
<!ELEMENT TITLE (#PCDATA)>
La especificación #PCDATA indica que el elemento, llamada TITLE, solo puede contener datos de caracteres, no puede tener elementos hijos
Documentos XML válidos Documentos XML válidos
Declaraciones de marcas
<!ELEMENT GENERAL ANY>
La especificación ANY indica que el elemento, llamado GENERAL puede incluir cualquier tipo de contenido
Documentos XML válidos Documentos XML válidos
Declaraciones de marcas
<!DOCTYPE COLLECTION
[
<!ELEMENT COLLECTION (CD)+>
<!ELEMENT CD (#PCDATA)>
]
>
La especificación (CD)+ indica que el elemento COLLECTION puede contener 1 o más elementos CD.
CD a su vez solo puede contener caracteres
Documentos XML válidos Documentos XML válidos
Declaraciones de marcas
De acuerdo a la anterior DTD analice los siguientes documentos XML
<COLLECTION>
</COLLECTION>
<COLLECTION>
<CD> Michael Bolton </CD>
</COLLECTION>
Documentos XML válidos Documentos XML válidos
Declaraciones de marcas
<COLLECTION>
<CD>
<TITLE> She’s got a ticket </TITLE>
</CD>
</COLLECTION>
Documentos XML válidos Documentos XML válidos
Declaraciones de marcas
(CD)+ : 1 o más elementos CD
(CD)? : 1 ó 0 elementos CD
(CD)* : 0 ó más elementos CD
Documentos XML válidos Documentos XML válidos
Declaraciones de marcas
• Formato de secuencia: indica que el elemento deberá tener una secuencia específica de elementos hijos
<!ELEMENT MOUNTAIN (NAME, HEIGHT, STATE) >
El elemento MOUNTAIN deberá tener un elemento hijo NAME, seguido por otro elemento hijo HEIGHT y luego por otro elemento STATE
Documentos XML válidos Documentos XML válidos
Declaraciones de marcas
<!DOCTYPE MOUNTAIN
[
<!ELEMENT MOUNTAIN (NAME, HEIGHT, STATE) >
<!ELEMENT NAME (#PCDATA)>
<!ELEMENT HEIGHT (#PCDATA)>
<!ELEMENT STATE (#PCDATA)>
]>
Documentos XML válidos Documentos XML válidos
Declaraciones de marcas
<MOUNTAIN>
<NAME> Wheeler </NAME>
<HEIGHT> 12151 </ HEIGHT>
<STATE> New Mexico </ STATE >
</MOUNTAIN>
<MOUNTAIN>
<STATE> New Mexico </ STATE >
<NAME> Wheeler </NAME>
<HEIGHT> 12151 </ HEIGHT>
</MOUNTAIN>
Documentos XML válidos Documentos XML válidos
<MOUNTAIN>
<STATE> New Mexico </ STATE >
</MOUNTAIN><MOUNTAIN>
<NAME> Wheeler </NAME>
<HEIGHT> 12151 </ HEIGHT>
<STATE> New Mexico </ STATE >
<NAME> Duke’s peak </NAME>
<HEIGHT> 2151 </ HEIGHT>
<STATE> Minnessota </ STATE >
</MOUNTAIN>
Declaraciones de marcas
• Formato de elección: indica que el elemento puede contener uno de una serie de posibles elementos hijos que serán separados mediante el carácter |.
<!ELEMENT FILM (STAR | NARRATOR | INSTRUCTOR) >
<!ELEMENT STAR (#PCDATA)>
<!ELEMENT NARRATOR (#PCDATA)>
<!ELEMENT INSTRUCTOR (#PCDATA)>
Documentos XML válidos Documentos XML válidos
Declaraciones de marcas
<FILM>
<STAR> Tom Hanks </STAR>
<NARRATOR> Gregory Parsloe </NARRATOR>
</FILM>
<FILM>
<STAR> Tom Hanks </STAR>
</FILM>
Documentos XML válidos Documentos XML válidos
Declaraciones de marcas
• Está permitido usar los caracteres +,? y *, para modificar todo el modelo de contenido, situando el carácter inmediatamente después del paréntesis final
<!ELEMENT FILM (STAR | NARRATOR | INSTRUCTOR)+ >
<!ELEMENT MOUNTAIN (NAME*, HEIGHT?, STATE+) >
<!ELEMENT FILM (TITLE, CLASS, (STAR | NARRATOR | INSTRUCTOR)+ >
<!ELEMENT TITLE (#PCDATA|SUBTITLE) >
Documentos XML válidos Documentos XML válidos
Declaraciones de ATRIBUTOS
• Todos los atributos que se utilizarán en el documento XML se deben declarar en la DTD.
<!ATTLIST Nombre_Elemento DefinicionAtributo>
Documentos XML válidos Documentos XML válidos
Declaraciones de ATRIBUTOS
• <!ATTLIST FILM Class CDATA “fictional” >
Se define el atributo llamado Class, en el elemento FILM y tiene por defecto el valor “fictional”
• <!ATTLIST FILM Year CDATA #REQUIRED>
Se define el atributo Year en el elemento FILM, se indica que cada elemento FILM debe tener un valor para ese atributo
<FILM Year=“1948”>
<TITLE> The Morning After </TITLE>
<STAR> Morgan Attenbury </STAR>
</FILM>
Documentos XML válidos Documentos XML válidos
Declaraciones de ATRIBUTOS
• <!ATTLIST FILM Year CDATA #IMPLIED>
Se define el atributo Year en el elemento FILM, este atributo es opcional, si se omite no tendrá ningún valor por defecto
Documentos XML válidos Documentos XML válidos
• Cuando se incluye la definición del tipo de documento o DTD dentro del documento XML, se hace referencia a ésta como un subconjunto DTD interno.
• Si varios documentos XML van a seguir las mismas reglas descritas en una DTD, resulta conveniente definirla de manera externa, en este caso se habla de un subconjunto DTD externo
Documentos XML válidos Documentos XML válidos
• Para utilizar una DTD externa se utiliza la siguiente instrucción:
<!DOCTYPE NombreElementoRaiz SYSTEM “NombreDTD.dtd”>
Ver inventory.dtd |usainventory.xml
Documentos XML válidos Documentos XML válidos
• En un documento XML se puede definir como una entidad cualquier bloque de texto XML utilizado frecuentemente, e insertar posteriormente dicho texto donde lo necesitemos
• Las entidades se definen en la DTD y se utilizan en el documento XML
• Cuando se utiliza una entidad, es decir, cuando se referencia, se utiliza el operador & seguido del nombre de la entidad
Entidades Entidades
• Las entidades se definen de la siguiente manera:
<!ENTITY nombre_entidad contenidoEntidad>
• Las entidades se referencian de la siguiente manera:
&nombre_entidad
Entidades Entidades
<!DOCTYPE ARTICLE
[
<!ELEMENT ARTICLE (TITLEPAGE, INTRODUCTION, SECTION*)>
<!ELEMENT TITLEPAGE (#PCDATA)>
<!ELEMENT INTRODUCTION (#PCDATA)>
<!ELEMENT SECTION (#PCDATA)>
<!ENTITY topics “A short history of XML”>
]
>
<TITLEPAGE>
&topics
</TITLEPAGE>
Entidades Entidades
Entidades predefinidas
Entidades Entidades
ReferenciaReferencia Carácter insertadoCarácter insertado
&& &&
<< <<
>> >>
&apos&apos ‘‘
&qout&qout ““