PDF de programación - LPS: XML en Java

Imágen de pdf LPS: XML en Java

LPS: XML en Javagráfica de visualizaciones

Publicado el 3 de Octubre del 2020
377 visualizaciones desde el 3 de Octubre del 2020
2,4 MB
44 paginas
Creado hace 13a (14/02/2011)
Federico Peinado
www.federicopeinado.es

Depto. de Ingeniería del Software e
Inteligencia Artificial
disia.fdi.ucm.es

Facultad de Informática
www.fdi.ucm.es

Universidad Complutense de Madrid
www.ucm.es

 En principio, nada que ver con DOO ni POO
 No son lenguajes para programar, sino para estructurar

documentos de manera explícita, añadiendo ciertas
“marcas” en determinados puntos del documento

 Probablemente el más popular es HTML

(HyperText Markup Language)
• Sirve para definir el contenido de una página web, la disposición

de los elementos que debe visualizar un navegador web

• Las “marcas” en este caso se conocen como etiquetas
 Por ejemplo, se usan estas dos para delimitar un párrafo:
<p>Texto ...</p>

Laboratorio de Programación de Sistemas – XML en Java

2

http://www.w3schools.com/html/

Laboratorio de Programación de Sistemas – XML en Java

3

Laboratorio de Programación de Sistemas – XML en Java

4

 XML (eXtensible Markup Language) es un estándar para

lenguajes de marcado del W3C (World Wide Web
Consortium)

 Diseñado para describir documentos estructurados y

cualquier información en forma de texto
• Los documentos llevan contenidos con marcas
• Las marcas aquí también se denominan etiquetas
 Son identificadores encerrados entre < y >
 Crean una estructura jerárquica, equivalente a un árbol

 En realidad se trata de un meta-lenguaje

• Permite definir lenguajes de marcado específicos para una

aplicación concreta
 No tiene etiquetas predefinidas, hay que definirlas según la aplicación

• Ejemplo: XHTML es una versión de HTML, pero definida

mediante el meta-lenguaje estándar XML

Laboratorio de Programación de Sistemas – XML en Java

5

 Ofrece una sintaxis estándar para todos los lenguajes de marcado

• Permite simplificar el tratamiento automático de este tipo de información

 Existen varios lenguajes asociados que lo hacen aún más potente

 Disponemos de muchas herramientas y software ya creado

• DTD
• XML Schema
• XSLT
• ...

• Analizadores (Parsers)
• Generadores
• Intérpretes
• Editores
• ...

 Permite comprobar formalmente si un documento es “correcto”
 ...
 ¡Ojo! XML no es ninguna “bala de plata”: no tiene porque ser la

mejor solución para todos nuestros problemas

Laboratorio de Programación de Sistemas – XML en Java

6

 Las etiquetas definen cada uno de los elementos

• Pueden servir para marcar unos ciertos contenidos:
<nombre_etiqueta> Marca el inicio de este elemento
Contenido (puede contener a su vez más etiquetas)
</nombre_etiqueta> Marca el final de este elemento
• Pueden estar vacías de contenidos:
<nombre_etiqueta />

 Las etiquetas pueden llevar atributos asociados
• <nombre_etiqueta nombre_atributo1=“valor_atributo1”

nombre_atributo2=“valor_atributo2” ...>

...
</nombre_etiqueta>

Laboratorio de Programación de Sistemas – XML en Java

7

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<notes>
<note type=“Post-it”>
<to>Paco</to>
<from>Juana</from>
<heading>Lista de la compra</heading>
<body>¡Acuérdate de la leche!</body>

</note>
<note type=“Correo electrónico”>

<to>Aurora</to>
<from>Manuel Esteban</from>
<heading>Re: Felicitación</heading>
<body>Gracias por tu felicitación...</body>

</note>
...</notes>

Laboratorio de Programación de Sistemas – XML en Java

8

 Los comentarios se delimitan mediante las
etiquetas <!-- y -->
 Los documentos XML son sensibles a minúsculas y
mayúsculas
 Para poder usar caracteres reservados en XML
como son <, > y & hay que utilizar combinaciones
especiales de caracteres en el contenido como
&lt;, &gt;, &amp; y otras
 Los valores de los atributos deben ir siempre
entrecomillados, para lo que puede usarse la
comilla doble o la simple

 Todo documento debe tener un único elemento
como raíz del árbol de la jerarquía de elementos

Laboratorio de Programación de Sistemas – XML en Java

9

Laboratorio de Programación de Sistemas – XML en Java

10

 Un documento XML es “correcto” si está bien formado y es válido
 Bien formado: que cumple la sintaxis básica que impone XML en general, en

cuanto a apertura y cierre de etiquetas, uso de atributos, etc.
• Esto sería un documento mal formado:
<notes>
<note type=“Post-it”>
</to> <to>Paco
<from>Juana</from>

 Válido: que cumple con las normas semánticas establecidas para el lenguaje

...
de marcado específico que hayamos creado
• Esto, según las normas de XHTML sería un documento inválido:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <title>Título</title> ... </head>
<p>Párrafo fuera de su sitio.</p>
<body> ... </body>
</html>

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Laboratorio de Programación de Sistemas – XML en Java

11

 Para definir un lenguaje derivado de XML es

necesario definir una gramática que
especifique:
• Etiquetas válidas
• Atributos válidos
• Jerarquía existente entre las distintas etiquetas
DTD (Document Type Definition) es un
lenguaje específico con el que se puede
definir dicha gramática
• Una DTD proporciona los criterios con los que

podremos validar una serie de documentos XML

Laboratorio de Programación de Sistemas – XML en Java

12

 Las declaraciones en una DTD tienen esta forma:

 Hay 4 palabras reservadas básicas

<!keyword parámetro1 parámetro2 ... parámetroN>
• ELEMENT: Declara el nombre de un elemento y a continuación

sus posibles subelementos

• ATTLIST: Declara los nombres de los atributos de un elemento,

así como sus posibles valores y/o valor por defecto
• ENTITY: Declara referencias a caracteres especiales o a bloques
de texto (similar a un #define de C++) o también a contenido
que va a ser repetido y que puede estar en un recurso externo
(similar a un #include de C++).
• NOTATION: Declara contenido externo “no-XML” (por ejemplo,
ficheros con imágenes), indicando la aplicación externa que es
capaz de gestionar dicho contenido

Laboratorio de Programación de Sistemas – XML en Java

13

 La declaración de un elemento tiene esta forma:

<!ELEMENT nombre_elemento contenido>
• nombre_elemento es el nombre de la etiqueta que
corresponde al elemento que estamos definiendo

 Hay 5 tipos posibles de contenido

• ANY: El elemento puede contener cualquier XML bien
formado
• EMPTY: El elemento no puede contener nada (aunque
puede tener atributos)
• Texto: El elemento sólo puede contener texto, pero sin
subelementos (se indica con (#PCDATA))
• Subelementos: El elemento sólo contiene los subelementos
que se mencionen
• Mixto: El elemento puede contener tanto texto como
subelementos

Laboratorio de Programación de Sistemas – XML en Java

14

 Cuando el contenido es del tipo Subelementos o Mixto, se

utiliza una expresión regular que especifica cómo debe
organizarse dicho contenido

 Ejemplos de expresiones regulares:

• Una colección que contiene uno o más libros

<!ELEMENT coleccion (libro)+>

• Un libro que contiene un título, cero o más autores, y cero o una

ediciones
<!ELEMENT libro (titulo, autor*, edicion?)>

• Una edición tiene una editorial, una colección y un año (todos
opcionales)
<!ELEMENT edicion (editorial?, coleccion?, año?)>

Laboratorio de Programación de Sistemas – XML en Java

15

 Los atributos se utilizan para asociar pares

nombre-valor a los elementos
 La declaración comienza con la palabra reservada
ATTLIST seguida por el nombre del elemento al
que pertenecen los atributos y por la definición de
cada uno de los atributos individuales
• El orden en que se presentan los atributos es indiferente

 Cada atributo puede tener un nombre, un tipo, una

definición de característica y un valor por defecto.

 Ejemplo

<!ATTLIST nombreElemento
nombreAtributo1 tipo1 caracteristica1 valorPorDefecto1
...nombreAtributoN tipoN caracteristicaN valorPorDefectoN>

Laboratorio de Programación de Sistemas – XML en Java

16

 Hay 4 tipos básicos para los atributos

• CDATA: Datos formados únicamente por caracteres

(es decir, cadenas de texto)

• Valores enumerados

 Se proporciona el conjunto de todos los valores permitidos
 Opcionalmente puede darse un valor por defecto

• ID: Identificador único por cada ejemplar del elemento

 El analizador debe comprobar que efectivamente el valor de
este atributo sea único para cada ejemplar en el documento

• IDREF: Una referencia al identificador de un elemento

 El analizador debe comprobar que efectivamente hay un

ejemplar del elemento con ese identificador en el documento

Laboratorio de Programación de Sistemas – XML en Java

17

 Las características indican cómo debe comportarse un

analizador si un determinado atributo no aparece en un
documento XML

 Hay 4 posibles características

• #REQUIRED: El atributo es necesario, por lo que debería estar

siempre presente en los ejemplares del elemento en el documento

• #IMPLIED: El atributo es opcional
• #FIXED: El atributo es opcional y además:

 Si aparece debe coincidir con el valor por defecto
 Si no aparece el analizador puede darle el valor por defecto

• Por defecto (sin palabra clave): El atributo es opcional y además:

 Si aparece debe tener un valor adecuado para su tipo
 Si no aparece el analizador puede darle el valor por defecto

Laboratorio de Programación de Sistemas – XML en Java

18

 Todo documento XML (tenga o no DTD) debe

empezar con esta línea:
<?xml version="num_versión" encoding="codificación" ?>
• num_versión = Número de versión del estándar XML
• codificación = Sistema de codificación de los

caracteres del documento (ISO-8859-1, UTF-8, etc.)

 Además, a continuación se puede añadir una

referencia a la DTD que lo valida:
<!DOCTYPE nombre SYSTEM “ruta" >
• nombre = Nombre lógico de la gramática del DTD
• ruta = Ruta que lleva al fichero DTD

Laboratorio de Programación de Sistemas – XML en Java

19

<barco tipo="portaaviones">

<?xml version="1.0" encoding="U
  • Links de descarga
http://lwp-l.com/pdf18314

Comentarios de: LPS: XML en Java (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad