Facultad de Estadística e Informática
Bibliografía
▪
A. Rodríguez, Publicación en Internet y Tecnología XML, Alfa-Omega Ra-Ma, Madrid. España,
2004
▪
World Wide Web Consortium (W3C). Abril 2000.
XML Schema.
Consultado el 1 de marzo de
2017 desde
https://www.w3.org/XML/Schema
.
▪
World Wide Web Consortium (W3C). Abril 2000. XML. Consultado el 1 de abril de 2016 desde
https://www.w3.org/standards/xml/core
▪
w3Schools.com. (1999). Consultado el 20 de abril de 2016 desde
https://www.w3schools.com/xml/xml_dtd_intro.asp
Facultad de Estadística e Informática
Clase 3
▪
Lenguaje XML (eXtensible
Markup Language)
▪
Documentos DTD
▪
Documentos XSD
Clase 3
▪
Lenguaje XML (eXtensible
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
▪
GML (Generalized Markup Language)
▪
Posteriormente SGML (Standard Generalized
Markup Languge)
▪
XML Se convirtió en lenguaje estándar con la
publicación XML 1.0 Recomendación W3C, 10 de febrero
1998.
eXtensible Markup Language (XML)
▪
XML es un lenguaje para marcado de
documentos.
▪
Al igual que SGML y HTML, se basa en
el uso de marcas o etiquetas para
diferenciar los elementos de un
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
▪
XML es un Lenguaje de Etiquetado Extensible muy
simple, pero estricto.
▪
Fundamental en el intercambio de una gran
variedad de datos.
▪
Su función principal es describir datos y no
mostrarlos como es el caso de HTML.
▪
XML es un formato que permite la lectura de
datos a través de diferentes aplicaciones.
eXtensible Markup Language (XML)
▪
No utiliza etiquetas predefinidas
(eXtensible).
▪
Usado para structurar, almacenar
Facultad de Estadística e Informática
Figura. Conceptos básicos de Servicios Web
Proveedor de
servicio
Consumidor
de servicio
Directorio
Usa UDDI
Mensajes SOAP
Solicitud de servicio XML basado en WSDL
Consultas a Directorio
1
2
3
Facultad de Estadística e Informática
Proveedor de
servicio
Consumidor de
servicio
Directorio
Solicitud de servicio XML basado en WSDL
Respuesta de servicio XML basado en WSDL
<element name=“ClienteInfoSolicitud”>…..
<element name=“cuenta” tipo=“string”/> …..
</element>
<element name=“ClienteInfoRespuesta”>
<element name=“nombre” tipo=“string”/>
<element name=“telefono” tipo=“string”/> … </element> <m:ObtenerClienteInfo…> <cuenta>1823</cuenta> </m:ObtenerClienteInfo> <m:ObtenerClienteInfoResp…> <nombre>Universidad Veracruzana</nombre> <telefono>228-8-42-17-00</telefono> … </m: ObtenerClienteInfoResp >
eXtensible Markup Language (XML)
Qué es un
Documento
bien formado
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
1.
< + ‘etiqueta’ + >
. Ejemplo: <nombre>.
2.
Etiqueta de cierre.
< + / +‘etiqueta’ + >
.
Ejemplo: </nombre>
3.
No superponer o solapar etiquetas con
otras.
4.
No solapar elementos contenedores con
eXtensible Markup Language (XML)
catalogo
item
duracion
genero
anio
nombre
titulo
fecha
responsable
Facultad de Estadística e Informática
Línea de Prólogo
Nodos
Elemento Raíz
Estructura en forma
de árbol
Facultad de Estadística e Informática
Ejercicio 1: Elabora tu propio
documento XML
¿Cómo defino las reglas que
debe seguir mi documento
eXtensible Markup Language (XML)
▪
Documentos DTD
Document Type
Definition o Definición de Tipo de
Documento
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
Documentos XML
Válidos
▪
Documentos bien
formados
▪
Siguen las normas
eXtensible Markup Language (XML)
Existen dos formas de incluir un
documento DTD: dentro del
documento XML o en un documento
independiente.
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
DTD interna
<
!DOCTYPE elementoRaiz
[
declaración_de_elementos
]>
eXtensible Markup Language (XML)
DTD externa.
Fuera del
documento XML.
•
En nuestro equipo.
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
DTD externa.
•
En nuestro equipo.
<!DOCTYPE elemento SYSTEM
eXtensible Markup Language (XML)
DTD externa.
•
En otro equipo.
<!DOCTYPE elemento PUBLIC
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
Bloques de un elemento DTD:
Elements - Elementos
Attributes - Atributos
Entities - Entidades
PCDATA
(Datos tipo texto)
CDATA
eXtensible Markup Language (XML)
▪
Creando un documento DTD:
1.
Se declaran los elementos a utilizar:
<!ELEMENT
nombreElemento
(
contenido
)>
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
▪
“contenido” puede ser:
▪
Texto (#PCDATA)
Parser Character Data
▪
Otros elementos
▪
Mixto:
<!ELEMENT nombreElemento (#PCDATA |
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
▪
Otros elementos:
a)
Si todos los elementos pueden ser utilizados y
en un determinado orden.
Elementos separados por comas:
<!ELEMENT nombreElemento(elemento1,elemento2,
elemento3)>
eXtensible Markup Language (XML)
▪
Otros elementos:
b) Si cualquiera puede ser utilizado, en cualquier
orden.
<!ELEMENT nombreElemento (#PCDATA |
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
▪
Otros elementos:
b) Definir el número de veces que puede o debe
aparecer un elemento (Si no se utiliza, el
eXtensible Markup Language (XML)
▪
Otros elementos:
+
. (más). 1 o más.
*
. (asterisco). 0 o más.
?
(interrogación). 0 o 1.
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
▪
Ejercicio:
Elaborar el modelado estableciendo las
normas de aparición de los elementos.
eXtensible Markup Language (XML)
▪
Ejercicio:
catalogo
(elemento raíz)
titulo
–
siempre, solo una vez
item
–
1 o más veces.
duracion
–
0 o más veces
genero
–
una o más veces
anio
- 0 o más veces
nombre
–
una o más veces
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
catalogo
item +
duracion [#] *
genero [#] +
anio [#] *
nombre [#] +
titulo [#]
fecha [#] ?
responsable [#]
eXtensible Markup Language (XML)
▪
Ejercicio:
<!ELEMENT catalogo
(titulo, ítem+, fecha?,
responsable)>
<!ELEMENT titulo
(#PCDATA)>
<!ELEMENT item
(duracion*, genero+, anio*,
nombre+) >
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
▪
Ejercicio (continuación):
<!ELEMENT anio
(#PCDATA)>
<!ELEMENT nombre
(#PCDATA)>
<!ELEMENT fecha
(#PCDATA)>
<!ELEMENT responsable
(#PCDATA)>
eXtensible Markup Language (XML)
Para validar el documento:
eXtensible Markup Language (XML)
DTD externa
<!DOCTYPE catalogo SYSTEM
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
eXtensible Markup Language (XML)
Declaración de atributos:
<!ATTLIST nombreElemento
nombreAtributo
tipoAtributo
valorInicialAtributo
>
"nombreElemento" es el nombre del elemento para el que se define un atributo.
"nombreAtributo" es el nombre del atributo.
"tipoAtributo" es el tipo de datos .
"valorInicialAtributo" es el valor predeterminado del atributo (aunque también
puede indicar otras cosas).
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
Los tipos de atributos son:
CDATA
: el atributo contiene caracteres (sin restricciones).
<!ATTLIST Mesa color CDATA #REQUIRED>
<Mesa color="" />
<Mesa color=“azul"
/>
eXtensible Markup Language (XML)
Los tipos de atributos son:
NMTOKEN
: el atributo sólo contiene letras, dígitos, y los caracteres
punto ".", guión "-", subrayado "_" y dos puntos ":".
<!ATTLIST Mesa color NMTOKEN #REQUIRED>
< Mesa color="" />
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
Los tipos de atributos son:
NMTOKENS
: el atributo sólo contiene letras, dígitos, y los
caracteres punto ".", guión "-", subrayado "_", dos puntos ":"
(como el tipo NMTOKEN) y también espacios en blanco.
eXtensible Markup Language (XML)
Valores:
1. El atributo sólo puede contener uno de los términos de una lista. La
lista se escribe entre paréntesis, con los términos separados por una
barra vertical "|".
<!ATTLIST Mesa color (azul|blanco|rojo) #REQUIRED>
<ejemplo color="azul" />
<ejemplo color=“rojo" />
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
Valores:
2.
ID
: el valor del atributo (no el nombre) debe ser único
y no se puede repetir en otros elementos o atributos.
Nota: el valor de un atributo de tipo ID no puede
empezar con un número.
<!ATTLIST libro codigo ID #REQUIRED>
<libro codigo="L1">Señor de los Anillos</libro>
eXtensible Markup Language (XML)
Valores:
3.
IDREF
: el valor del atributo debe coincidir con el valor del
atributo ID de otro elemento.
<!ELEMENT libro (#PCDATA) >
<!ATTLIST libro codigo ID #REQUIRED>
<!ELEMENT prestamo (#PCDATA) >
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
Valores:
3.
IDREF
: el valor del atributo debe coincidir con el valor
del atributo ID de otro elemento.
<libro codigo="L1">El Silencio de los inocentes</libro>
<prestamo libro="L1">Erika Meneses</prestamo>
eXtensible Markup Language (XML)
Valores iniciales de los atributos:
1. #REQUIRED
: el atributo es obligatorio, aunque no se especifica
ningún valor predeterminado.
<!ATTLIST Mesa color CDATA #REQUIRED>
<ejemplo Mesa="amarillo" />
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
Valores iniciales de los atributos:
2. #IMPLIED
: el atributo no es obligatorio y no se especifica ningún
valor predeterminado.
<!ATTLIST ejemplo color CDATA #IMPLIED>
3.
#FIXED valor
: el atributo tiene un valor fijo.
<!ATTLIST Mesa color CDATA #FIXED "verde">
eXtensible Markup Language (XML)
Valores iniciales de los atributos:
4.
valor
: el atributo tiene un valor predeterminado.
Facultad de Estadística e Informática
eXtensible Markup Language (XML)
Ejercicio 2.
Establecer un atributo identificador para el elemento serietv.
Que sea único para cada
eXtensible Markup Language (XML)
Problemas con los
DTD’s
❖
Una DTD no sigue el formato de un documento XML estándar.
❖
Esto representa un problema para los analizadores sintácticos (o
parsers
).
❖
No se soportan distintos tipos de datos al estilo de los lenguajes de
programación.
❖
No se pueden crear tipos de datos personalizados.
❖
No se soportan los espacios de nombres (namespaces).
Facultad de Estadística e Informática