25
LENGUAJE DE MARCADO EXTENSIBLE XML Sori Andrea Fernández Montoya

L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

Embed Size (px)

Citation preview

Page 1: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

LENGUAJE DE MARCADO EXTENSIBLE XMLSori Andrea Fernández Montoya

Page 2: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

LENGUAJE DE MARCADO EXTENSIBLE XML

Es un metalenguaje que permite definir lenguajes específicos para cada aplicación. XML proporciona un mecanismo que permite almacenar e intercambiar la información de una forma estructurada y en un formato comprensible por aplicaciones situadas en sistemas heterogéneos

Un documento XML puede ser una base de datos con información sobre clientes, otro puede ser una ecuación matemática y otro puede ser un libro.

XML no dice cómo ha de presentarse el contenido de un documento, ni siquiera qué puede o no puede hacerse con él, de hecho, el tratamiento de la información corresponde a las aplicaciones.

Page 3: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

LENGUAJE DE MARCADO EXTENSIBLE XML

<?xml version="1.0"?>

<!DOCTYPE Mensaje SYSTEM "mensaje.dtd">

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

<Párrafo>Hola que tal? Hace <Énfasis>mucho</Énfasis> que no

escribes.

</Párrafo>

</Texto>

</Mensaje>

Mensaje

RemitenteNombre

Email

Destinatario

Nombre

Email

Asunto

Texto Párrafo Énfasis

Page 4: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

XML HTMLEs un Metalenguaje Es un Lenguaje

Describe Información Muestra Información

Documentos Bien Formados <TagA><TagB>Contenidos</TagB></TagA>

Se puede ser Desordenado<p><b><i>Este texto estará en negrita e itálica</b></i>

Los tags independientes deben ser cerrados</br> ó</hr>

Utiliza tag independientes sin cerrar<br/> ó<hr/>

Se puede determinar los tags Todos los tags son predefinidos

Deben estar encerradas en comillas simples o dobles <a href="http://www.developer.com/"> 

No necesita comillas<a href=http://www.disney.com/>

Case Sensitive <B> ≠ <b> No es Case Sensitive <B> = <b>

<libro><titulo>El Quijote</titulo><autor>Cervantes</autor><precio moneda="euro">20</precio><portada nombre="portada" tipo="gif"/><video nombre="quijote" tipo="avi" duracion="30"/></libro>

<div><p><b><font size="4">El Quijote</font></b></p><p><i>Cervantes</i> ~ <font color="red">20 euros</font></p><center><img src="portada.gif"></center><p><a href="quijote.avi">Video promocional</a> ~ Duración 30 segundos.</p></div>

DIFERENCIA ENTRE HTML Y XML

Page 5: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

Esta especificación ha sido revisada por los miembros de la W3C, XML está basado en el anterior estándar conocido como SGML (Standart Generalized Markup Language), lenguaje de marcador estándar generalizado, ISO 8879

Un nombre empieza con una letra o signos de puntuación, y continúa con letras, dígitos, guiones, rayas, dos puntos o puntos, denominados de forma global como caracteres de nombre. Los nombres que empiezan con la cadena "xml", se reservan para la estandarización.

Existe un conjunto de caracteres denominados "Espacios en Blanco" que los procesadores XML tratan de forma diferente en el marcado XML. Estos caracteres son: • Espacios (Unicode/ASCII 32)• Tabuladores (Unicode/ASCII 9)• Retornos de Carro (Unicode/ASCII 13) • 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. 

ESPECIFICACIÓN XML 1.0

Page 6: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

DECLARACIÓN XML

La primera línea, o declaración XML, define la versión de XML usada. Hasta ahora sólo hay una, la "1.0“. Además, en la declaración XML especificamos la codificación del documento, que puede ser:• UTF-8 (código Unicode del que el ASCII es un subconjunto) • UTF-7 ISO-8859-1 hasta ISO- 8859-7• US-ASCII (7 bits) • UCS-2• EUC-JP• Shift_JIS• Big5

Además, se puede incluir una declaración de documento autónomo ( standalone), que controla qué componentes de la DTD son necesarios para completar el procesamiento del documento.

<?xml version="1.0" encoding="UTF-7" standalone="yes"?> 

PROLOGO DE XML

Page 7: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

DECLARACIÓN DE TIPO DE DOCUMENTO

La segunda línea, o declaración de tipo de documento, define qué tipo de documento estamos creando para ser procesado correctamente. Es decir, definimos que Declaración de Tipo de Documento (DTD) valida y define los datos que contiene nuestro documento XML.

En ella se define el tipo de documento, y dónde encontrar la información sobre su DTD, mediante identificador• público (PUBLIC) • Universal de Recursos (URI) precedido por la palabra SYSTEM.

<!DOCTYPE Mensaje SYSTEM "mensaje.dtd"> <!DOCTYPE Html PUBLIC "-/ /W3C/ /DTD HTML 3.2 Final/ /EN"> <!DOCTYPE Label SYSTEM "http://www.empresa.com/dtds/label.dtd">

PROLOGO DE XML

Page 8: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

ELEMENTOS 

Consiste de un elemento principal, y unos subelementos, denominados: • Tipos complejos: Elementos que contienen subelementos o tienen

atributos.• Tipos simples: Elementos que contienen números (y cadenas, y fechas,

etc.) pero no contienen subelementos; los atributos siempre tienen tipos simples.

PROLOGO DE XML

Page 9: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

ATRIBUTOS 

Como se ha mencionado antes, los elementos pueden tener atributos, que son una manera de incorporar características o propiedades a los elementos de un documento.

<chiste tipo="vascos" calidad="bueno"> Chiste</chiste>

A veces, un elemento con contenido, puede modelarse como un elemento vacío con atributos. Un concepto se puede representar de muy diversas formas, pero una vez elegida una, es aconsejable fijarla en el DTD, y usar siempre la misma consistentemente dentro de un documento XML.

PROLOGO DE XML

• <gato>

<nombre>Micifú</nombre>

<raza>Persa</raza>

</gato>• <gato raza="Persa">Micifú</gato> • <gato raza="Persa" nombre="Micifú"/>

Page 10: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

ENTIDADES PREDEFINIDAS

En XML 1.0, se definen cinco entidades para representar caracteres especiales y que no se interpreten como marcado por el procesador XML. Es decir, que así podemos usar el carácter "<" sin que se interprete como el comienzo de una etiqueta XML.

ESTRUCTURAS DE XML

ENTIDAD CARÁCTER

&amp; &

&lt; <

&gt; >

&apos; '

&quot; "

Page 11: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

SECCIONES CDATA

Existe otra construcción en XML que permite especificar datos, utilizando cualquier carácter, especial o no, sin que se interprete como marcado XML. La razón de esta construcción llamada CDATA (Character Data) es que a veces es necesario para los autores de documentos XML, poder leerlo fácilmente sin tener que descifrar los códigos de entidades. Especialmente cuando son muchas.

ESTRUCTURAS DE XML

<ejemplo>  &lt;HTML> 

&lt;HEAD> &lt;TITLE> Rock &amp;

Roll &lt;/TITLE>&lt;/HEAD> 

</ejemplo> 

<ejemplo>  <![CDATA[ 

<HTML>  <HEAD> <TITLE>Rock

& Roll</TITLE> </HEAD> 

]]> </ejemplo> 

Page 12: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

COMENTARIOS

Los comentarios tienen el mismo formato que los comentarios de HTML. Es decir, comienzan por la cadena "<!--" y terminan con "-->".

<?xml version="1.0"?> <!-- Aquí va el tipo de documento --> <!DOCTYPE Ejemplo [ <!-- Esto es un comentario --> <!ELEMENTO Ejemplo (#PCDATA)> <!-- ¡Eso es todo por ahora! --> ]> <EJEMPLO> texto texto bla bla bla <!-- Otro comentario --> </EJEMPLO> <!-- Ya acabamos --> 

ESTRUCTURAS DE XML

Page 13: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

VALIDACIÓN XMLEs la comprobación de que un documento en lenguaje XML está bien formado y se ajusta a una estructura definida.

Los documentos XML deben basarse en la sintaxis definida en la especificación XML para ser correctos (documentos bien formados). Esta sintaxis impone aspectos como:

Comillas obligatorias para los valores de atributo. Coincidencia de mayúsculas/minúsculas en los nombres de etiqueta.

La validación es la parte más importante dentro de este análisis, ya que determina si un documento creado se ciñe a las restricciones descritas en el esquema utilizado para su construcción. Controlar el diseño de documentos a través de esquemas aumenta su grado de fiabilidad, consistencia y precisión, facilitando su intercambio entre aplicaciones y usuarios.

Page 14: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

Documentos Bien Formados :

Sigue las reglas básicas de XML establecidas para el diseño de documentos.  Las características básicas exigidas son:• Incluir una declaración XML como etiqueta obligatoria• Sólo existe un único elemento raíz para cada documento• Todas las entidades usadas en su interior se declaran en la DTD interna• Todos los elementos, atributos y entidades que utilice deben escribirse con una sintaxis

correcta.

Documentos Válidos:

Respeta las normas dictadas por su esquema utilizado. Para que sea válido, durante el proceso de validación se comprueba:• Qué elementos se permiten en un documento del tipo definido en el esquema.• La estructura de los elementos y atributos.• El orden de los elementos.• Los valores de los datos de atributos y elementos• La unicidad de valores dentro de un documento

TIPOS DE DOCUMENTOS

Page 15: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

DTD

La DTD es el formato de esquema nativo para validar documentos XML, heredado de SGML. Su función básica es la descripción de la estructura de datos, para usar una estructura común y mantener la consistencia entre todos los documentos que utilicen la misma DTD.

SCHEMA

XML Schema es la evolución de la DTD descrita por el W3C. Es un lenguaje de esquema más complejo y más potente, basado en la gramática para proporcionar una potencia expresiva mayor que la DTD.

MÉTODOS DE VALIDACIÓN

<?xml version="1.0" encoding="UTF-8"?>

<!ENTITY % URLmail "CDATA">

<!ELEMENT biblioteca(libro+)>

<!ELEMENT libro (titulo, autor?, personaje+)>

<!ELEMENT titulo (#PCDATA)>

<!ELEMENT autor (#PCDATA)>

<!ATTLIST autor dni ID #IMPLIED

email %URLmail; #IMPLIED

sexo (hombre | mujer) #REQUIRED

anio_nacimiento CDATA #IMPLIED

>

<!ELEMENT personaje (#PCDATA)>

<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="Libro"> <xsd:complexType> <xsd:sequence> <xsd:element name="Título" type="xsd:string"/> <xsd:element name="Autores" type="xsd:string" maxOccurs=“8"/> <xsd:element name="Editorial" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="precio" type="xsd:double"/> </xsd:complexType> </xsd:element></xsd:schema>

Page 16: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

VALIDACIÓN DE XML MEDIANTE DTD

Utiliza una sintaxis no-XML para definir la estructura o modelo de contenido de un documento XML válido:• Define todos los elementos.• Define las relaciones entre los distintos elementos.• Proporciona información adicional que puede ser incluida en el

documento (atributos, entidades, notaciones).• Aporta comentarios e instrucciones para su procesamiento y

representación de los formatos de datos.

Page 17: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

VALIDACIÓN DE XML MEDIANTE DTD

DTD Externo:

Cuando en el documento XML se apunta al DTD que lo valida.

Page 18: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

VALIDACIÓN DE XML MEDIANTE DTD

DTD Interno:

Cuando se incluya el DTD en el documento XML que valida.

Page 19: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

VALIDACIÓN DE XML MEDIANTE DTD

Declaraciones Tipo de Elemento

Page 20: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

VALIDACIÓN DE XML MEDIANTE DTD

Declaraciones Tipo de ElementoNMTOKEN: Caracteres validos para nombrar cosas*Letras *Puntos *Guiones*Numero *Subrayado *Dos puntos

Page 21: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

VALIDACIÓN DE XML MEDIANTE DTD

Declaraciones Tipo de Elemento

Page 22: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

VALIDACIÓN DE XML MEDIANTE DTD

Declaraciones Tipo de Elemento

Page 23: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

VALIDACIÓN DE XML MEDIANTE DTD

Declaraciones Tipo de Elemento

Page 24: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

VALIDACIÓN DE XML MEDIANTE SCHEMA

Declaraciones Tipo de Elemento

Utiliza sintaxis XML, cosa que le permite especificar de forma más detallada un extenso sistema de tipos de datos. A diferencia de las DTDs, soporta la extensión del documento sin problemas.

El modelo de datos de XML Schema incluye:

• Vocabulario (nombres de elemento y atributo)• Contenido modelo (relaciones y estructura)• Tipos de datos.

Page 25: L ENGUAJE DE M ARCADO E XTENSIBLE XML Sori Andrea Fernández Montoya

SistemaRiegoTipo

+riego String

AplicaciónString

CostoInicialString

ConsumoEnergiaString

EficienciaInt

DescripciónString

EJEMPLO