Xml
-
Upload
luz-arizpe -
Category
Documents
-
view
643 -
download
0
description
Transcript of Xml
XML (eXtensible Markup
Language)
Aunque su nombre lo indica, XML no es
un lenguaje de marcado, sino que sirve
para definir lenguajes de marcado.
Estructura de XML
Aunque XML es muy parecido a HTML
no es igual, teniendo su principal
diferencia en que XML define de una
forma más eficiente los datos.
Además, XML maneja de manera
independiente el contenido del
documento de su presentación.
Ejemplo de la estructura de
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>
<parrafo>¿Hola qué tal? Hace <enfasis> mucho </enfasis> que
no escribes. A ver si llamas y quedamos para tomar algo.
</parrafo>
</texto>
</mensaje>
Documentos XML bien
formados
Los documentos XML deben seguir una
estructura jerárquica en cuanto a las
etiquetas, deberá mostrarse con
diferentes tabulaciones que etiquetas
pertenecen a otras etiquetas, teniendo
siempre un solo elemento raíz.
Cada etiqueta deberá ser siempre
cerrada, para lo que se usa una “ / ”.
<email>[email protected]</email>
Valores de atributos
Los elementos pueden tener atributos
que siempre van dentro de comillas
simples („ ‟) o dobles (“ ”).
<A HREF="http://www.developer.com/">
Tipo de letra y espacios en
blanco
XML hace diferencia entre mayúsculas y
minúsculas siendo diferente “Ejemplo”
de “ejemplo” por lo cual se deberá tener
especial cuidado con las definiciones.
XML ignora los espacios en
blanco, puesto que son usados para
hacer más legible el texto.
Nombrando cosas
Como es obvio cada elemento deberá
ser nombrado pudiendo utilizar
letras, números y símbolos.
Sin embargo, existe una
excepción, ningún nombre deberá
empezar con la cadena “xml” puesto
que es palabra reservada.
Marcas
En XML, los elementos son llamados
marcas y siempre deben estar dentro de
los símbolos “< >”.
<destinatario>
Inicio de documentos
El inicio de cada documento XML puede
ser la descripción de la versión de
XML, existiendo hasta ahora sólo la 1.0.
También se puede incluir el tipo de
mensaje.
<?xml version="1.0" encoding="UTF-7" standalone="yes"?>
<!DOCTYPE MENSAJE SYSTEM "mensaje.dtd">
Contenido
Los elementos pueden tener contenido:
<nombre>Fulano Mengánez</nombre>
O no, pero cerrada con una “ / “:
<identificador DNI="23123244"/>
Entidades predefinidas
Existen 5 entidades sirven para poder
utilizar ciertos caracteres dentro del
contenido del documento, sin que XML
les trate como reservados.Entidad Carácter
& &
< <
> >
' „
" “
<ejemplo>
<HTML> <HEAD><TITLE>Rock &
Roll</TITLE></HEAD>
</ejemplo>
Secciones CDATA
Para solucionar la incomodidad de tenerque utilizar las entidades antesmencionados se construyó CDATA, quesirve para poder utilizar cualquiersímbolo sin recibir un trato especial porparte de XML.
<ejemplo>
<![CDATA[
<HTML>
<HEAD><TITLE>Rock & Roll</TITLE></HEAD>
]]>
</ejemplo>
Comentarios
Para agregar comentarios al documento
sin que le afecte se escriben
empezando siempre con “<!—” y
terminando con “-->”.
<?xml version="1.0"?>
<!--Aquí va el tipo de documento -->
<!DOCTYPE EJEMPLO [
<!--Esto es un comentario -->
DOCUMENT TYPE
DEFINITIONS (DTDs)
La definición del tipo de documento nos
da la libertad de crear nuestro propio
lenguaje de marcado definiendo
elementos, atributos y entidades.
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.
<!DOCTYPE etiqueta[
<!ELEMENT etiqueta (nombre, calle, ciudad, pais, codigo)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT calle (#PCDATA)>
<!ELEMENT ciudad (#PCDATA)>
<!ELEMENT pais (#PCDATA)>
<!ELEMENT codigo (#PCDATA)> ]>
<etiqueta>
<nombre>Fulano Mengánez</nombre>
<calle>c/ Mayor, 27</calle>
<ciudad>Valderredible</ciudad>
<pais>España</pais>
<codigo>39343</codigo>
</etiqueta>
DOCUMENT TYPE
DEFINITIONS (DTDs)
Declaraciones tipo
elemento Los elementos deben de basarse en
una DTD.
Los elementos empiezan con
“<!ELEMENT”, enseguida su nombre o
identificador.
<!ELEMENT receta (titulo, ingredientes, procedimiento)>
Declaraciones tipo
elemento En cuanto al contenido, puede ser de 4
tipos:
EMPTY: sin contenido
<!ELEMENT salto-de-pagina EMPTY>
Declaraciones tipo
elemento ANY: cualquier tipo de contenido.
<!ELEMENT batiburrillo ANY>
MIXED: mexcla de elementos y
caracteres.
<!ELEMENT enfasis (#PCDATA)>
<!ELEMENT parrafo (#PCDATA|enfasis)*>
ELEMENT: sub-elementos especificados
en el documento.
<!ELEMENT mensaje (remite, destinatario, texto)>
Declaraciones tipo
elemento
Modelos de contenido
Se especifica los sub-elementos que
contiene un elemento y orden que
deben seguir.
La coma representa que el párrafo debe
tener un título y enseguida el párrafo.
<!ELEMENT aviso (titulo, parrafo)>
Modelos de contenido
La barra representa que el párrafo
puede tener un párrafo o un gráfico.
<!ELEMENT aviso (parrafo | grafico)>
En el siguiente caso, el párrafo debe
tener un título y en seguida un párrafo o
un gráfico.
<!ELEMENT aviso (titulo, (parrafo | grafico))>
Modelos de contenido
Además pueden contener un indicador
de frecuencia:
Indicadores de frecuencia
? Opcional (0 o 1 vez)
* Opcional y repetible (0 o más veces)
+ Necesario y repetible (1 o más veces)
Modelos de contenido
El párrafo puede o no tener 1 título.
Debe tener mínimo un párrafo.
Puede o no tener 1 o más gráficos.
<!ELEMENT aviso (titulo?, (parrafo+, grafico)*)>
Declaraciones de lista de
atributos
Un atributo sirve para darle al elemento
información, características.
<mensaje prioridad="urgente">
<de>Alfredo Reino</de>
<a>Hans van Parijs</a>
<texto idioma="holandés">
Hallo Hans, hoe gaat het?
...
</texto>
</mensaje>
Declaraciones de la lista de
atributos