Qué es xml

11
Programación lenguaje XML ¿Qué es XML? Es un subconjunto de SGML (Standard GeneralizedMarkupLanguage) pero mucho más simple pudiéndose definir como un metalenguaje es decir, puede ser usado para definir nuevos metalenguajes como “X HTML”. Extensiones de ficheros: - .XML - .DTD: Contiene la definición de las características de los elementos que se van a mostrar en los ficheros XML. - Hojas de estilo: o .CSS o .XSL La sintaxis XML: <?xmlversion="1.0" encoding="UTF-8"?> <A> <B>Entre dos etiquetas</B> <C>Sin etiqueta de cierre. </A> Ejemplo 1: <?xmlversion="1.0" encoding="UTF-8"?>/*Prólogo*/ <elementoraiz> <elemento1> <elemento11 atributo=”contenido del atributo”> <elemento111>Contenido del elemento 111</elemento111> <elemento112>“ “ “ 112</elemento112> </elemento11> </elemento1> <elemento2> Contenido del elemento 2 </elemento2> </elementoraiz>

description

Iniciación a XML

Transcript of Qué es xml

Page 1: Qué es xml

Programación lenguaje XML

¿Qué es XML?

Es un subconjunto de SGML (Standard GeneralizedMarkupLanguage) pero mucho más simple

pudiéndose definir como un metalenguaje es decir, puede ser usado para definir nuevos

metalenguajes como “X HTML”.

Extensiones de ficheros:

- .XML

- .DTD: Contiene la definición de las características de los elementos que se van a

mostrar en los ficheros XML.

- Hojas de estilo:

o .CSS

o .XSL

La sintaxis XML:

<?xmlversion="1.0" encoding="UTF-8"?>

<A>

<B>Entre dos etiquetas</B>

<C>Sin etiqueta de cierre.

</A>

Ejemplo 1:

<?xmlversion="1.0" encoding="UTF-8"?>/*Prólogo*/

<elementoraiz>

<elemento1>

<elemento11 atributo=”contenido del atributo”>

<elemento111>Contenido del elemento 111</elemento111>

<elemento112>“ “ “ 112</elemento112>

</elemento11>

</elemento1>

<elemento2> Contenido del elemento 2 </elemento2>

</elementoraiz>

Page 2: Qué es xml

Programación lenguaje XML

Prólogo:

Se denomina a la primera línea del documento XML. Podemos incluir:

- Tipo de caracteres

o “ISO-8859-I”

o “UTF-8”

- Versión

- Standalone=”no”: El documento depende de un documento diferente que especifique

la gramática que le describe el DTD.

- Doctype: Sirve para asociar el documento XML al DTD.

- XML stylesheet: Para asociar una hoja de estilo al documento.

Elementos:

Constituye la arquitectura en árbol de un documento XML. Los elementos se encuentran en el

interior de las etiquetas y el valor es el que se encuentra entre la etiqueta de apertura y la de

cierre.

Existen elementos vacíos que se representan de dos formas:

- <nombredelelemento></nombredelelemento> (El elemento no tiene valor, no tiene

contenido)

- <nombreelemento />

Es obligatorio que exista un elemento raíz que englobará todo el contenido.

Construcción de nombres de elementos:

Se distingue entre mayúsculas y minúsculas en este lenguaje, ejemplo: <libro></Libro> sería

incorrecto.

Caracteres permitidos:

- Alfabeto A-Z y acentuadas.

- Números

- Guiones y guión bajo

- Símbolos : y .

Primer carácter del nombre de elemento:

Carácter alfabético, “:” o “-“

<PrimerAlumno>

<primer_alumno>

Estos dos son correctos.

<primer alumno>

<1Alumno>

Estos son incorrectos.

Page 3: Qué es xml

Programación lenguaje XML

Atributos:

Son informaciones asociadas a los elementos, dentro de la etiqueta de apertura del elemento.

Ejemplo:

<elemento atributo=”valorAtributo”> Valor del elemento </elemento>

<telefono tipo=”movil” >123456789</telefono>

Los atributos pueden ser de dos tipos (debemos distinguir entre el valor del atributo y el

nombre del atributo, el nombre del atributo no puede incluir ningún elemento de los

siguientes):

- Literales: Se encuentran entre comillas “movil" ‘movil’, podemos poner comillas

dentro de otras pero siempre debe ser la contraria a la de apertura y cierre, es decir:

‘valor “tipo” ‘ ó “valor ‘tipo’ “.

- Constantes: &nbsp; &quot; &amp, &apos; &lt; &gt;

Ejemplo: atributo= “valor&apos;valor”

Comentarios:

<!—Contenido del comentario -->

Page 4: Qué es xml

Programación lenguaje XML

Hojas de estilo en XML:

Para poder mostrar el contenido de un fichero XML necesita tener asociada una hoja de estilo.

En el fichero se hace referencia a la hoja u hojas de estilo con esta etiqueta:

<?xml-stylesheethref=”nombrehoja.css”?>

<?xml-stylesheethref=”otraHoja.css”?>

<htmlxmls=”http://www.w3.org/1999/xhtml”>

<head>

</head>

<body>

</body>

</html>

Podemos incluir hojas de estilo en “head” para las etiquetas html o estilos internos con la

etiqueta Style.

Para hacer la shojas de estilo en XML disponemos de:

Atributo “Display”:

Esta etiqueta permite tratar a los elementos como un bloque , a una tabla, etc.

Si aplicamos display a un elemento que tiene descendientes o subelementos, también

desaparecen por completo todos ellos.

Propiedades:

- Display:none; (No genera ninguna caja, no ocupa sitio.)

- Display: Block; (Trata como un bloque, haciendo un salto de línea)

- Display: inline; (hace que el elemento sea lineal)

- Display: inline-block; (crea cajas que son de bloques de línea simultáneamente, es

decir, la caja se comporta como si fuera un bloque pero con respecto a los elementos

que la rodean se comporta como una caja en línea)

- Display: list-item; (indica el icono de lista que va a tener por defecto cada una de esas

líneas, implica salto de linea)

Atributo counter-reset:

Libros{counter-reset: contador;}

Autor:before { content:

counter(contador[, AaIi/lower-alpha/…]) “.” ;

counterincrement:contador;};

<libros>

<libro>

Page 5: Qué es xml

Programación lenguaje XML

<autor1>

<titulo1>

</libro>

<libros>

Añade los elementos de lista que indicamos en el atributo counter al contenido. En caso de no

indicar después de “contador” si queremos que sea una letra o número romano, por defecto

será un número: counter(contador). Para poner, por ejemplo, números romanos:

counter(contador, i )“.”, donde el resultado sería i.Autor. El punto entrecomillado es opcional,

si se desea que salga un punto posterior a la numeración o elemento de viñeta. No implica

salto de línea a diferencia del list-item.

Con el ejemplo de arriba el resultado sería:

1.Autor libro1

Page 6: Qué es xml

Programación lenguaje XML

Declaraciones DTD:

Estos son los elementos que hay que declarar en un elemento DTD

- Entidad: es un nombre al que se le asigna un valor.

<!DOCTYPE…… [

<!ENTITYnombreEntidad “luis”>

Sentencia XML:

<nombre>&valor;</nombre>

- Elementos: el nombre del elemento que aparece en el xml.

<!DOCTYPE ejemplo [

<! ELEMENT nombreElemento (contenido)>]

Hay cuatro opciones:

o Empty: es un elemento vació dentro del no puede haber nada.

Ejemplo:

<!DOCTYPEelementoRaiz [

<! ELEMENT nombreElemento (empty)>

]>

<elementoRaiz>

<nombreElemento></nombreElemento>

</elementoRaiz>

o #PCDATA: solo puede contener texto no otros elementos. Suele usarse para

los atributos.

Ejemplo:

<!DOCTYPEelementoRaiz [

<! ELEMENT nombreElemento (#pcdata)>

]>

<elementoRaiz>

<nombreElemento>Hola</nombreElemento>

</elementoRaiz>

Page 7: Qué es xml

Programación lenguaje XML

o ANY: puede contener cualquier cosa. No se suele utilizar, ya que es

conveniente estructurar adecuadamente nuestros documentos XML.

Ejemplo:

<!DOCTYPEelementoRaiz [

<! ELEMENT nombreElemento (any)>

]>

<elementoRaiz>

<nombreElemento>(pueden estar vacíos o contener información)</nombreElemento>

</elementoRaiz>

o Expresiones mas complejas: En ellas puede aparecer una coma y esta significa

que obligatoriamente tiene que contener dos elementos separados por una

coma y en ese mismo orden.

Ejemplo:

<!DOCTYPEelementoRaiz [

<! ELEMENT nombreElemento (a,b)>

<!ELEMENT a (#PCDATA)>

<!ELEMENT b EMPTY>

]>

<elementoRaiz>

<nombreElemento>

<a>hola</a>

<b/>

</nombreElemento>

</elementoRaiz>

o Símbolos de las expresiones complejas: Significa que el elemento contiene

solo uno de los dos.

Símbolo | :

<!DOCTYPEelementoRaiz [

<! ELEMENT nombreElemento (a|b)>

<!ELEMENT a (#PCDATA)>

<!ELEMENT b EMPTY>

]>

<elementoRaiz>

<nombreElemento>

Page 8: Qué es xml

Programación lenguaje XML

<a>hola</a>

(<b/> no puede estar, ya que solo puede indicarse a ó b)

</nombreElemento>

</elementoRaiz>

Símbolo ? : Indica que hay posibilidad de que aparezca o no un

elemento una sola vez.

<!DOCTYPEelementoRaiz [

<! ELEMENT nombreElemento (a,b?)>

<!ELEMENT a (#PCDATA)>

<!ELEMENT b EMPTY>

]>

<elementoRaiz>

<nombreElemento>

<a>hola</a>

<b/>

</nombreElemento>

</elementoRaiz>

Símbolo * :El elemento puede aparecer o no las veces que sean

necesarias.

<!DOCTYPEelementoRaiz [

<! ELEMENT nombreElemento (a,b*)>

<!ELEMENT a (#PCDATA)>

<!ELEMENT b EMPTY>

]>

<elementoRaiz>

<nombreElemento>

<a>hola</a>

<b/>

<b/>

<b/>

</nombreElemento>

</elementoRaiz>

Símbolo + :Debe aparecer una vez obligatoriamente, pero puede

aparecer más veces si es necesario.

<!DOCTYPEelementoRaiz [

<! ELEMENT nombreElemento (a,b+)>

<!ELEMENT a (#PCDATA)>

<!ELEMENT b EMPTY>

]>

<elementoRaiz>

<nombreElemento>

<a>hola</a>

<b/>

<b/>

</nombreElemento>

</elementoRaiz>

Símbolo () :Permite combinar todos los anteriores, uno dentro de otro.

<!DOCTYPEelementoRaiz [

<! ELEMENT nombreElemento (a, (a|,b)+)>

Page 9: Qué es xml

Programación lenguaje XML

<!ELEMENT a (#PCDATA)>

<!ELEMENT b EMPTY>

]>

<elementoRaiz>

<nombreElemento>

<a>hola</a>

<a>hola</a>

<a>hola</a>

<b/>

</nombreElemento>

</elementoRaiz>

Declaración de elementos en caso de querer sacar cualquier dato que incluya ciertos

elementos:

<!ELEMENT nombre ((#PCDATA|elemento1|elemento2)*)>

Declaración de atributos en la DTD:

<!DOCTYPEraiz [

<!ELEMENTraiz … >

<!ATTLIST … >

<!ENTITY (nombre a elegir) SYSTEM “(RUTA)”…> Nombres de constantes, textos, imágenes

PARA IMÁGENES O TEXTO

<!ENTITYmiEmpresa “Moliner”>

<empresa>&miEmpresa</empresa>Esto mostraría: Moliner

ATTLIST puede declararse de dos maneras:

- Cuando elemento tiene más de un atributo:

<!ATTLISTnombreElementonombreAtributoTipoAtributoValorInicialAtributo>

<teléfono atributo1=”valor1” atributo2=”valor2”> contenido </teléfono>

Podemos declarar los atributos uno a uno:

<!ATTLIST teléfono atributo1 CDATA #REQUIRED>

<!ATTLIST teléfono atributo2 CDATA #IMPLIED>

O podemos declarar todos los atributos de una vez:

<!ATTLIST teléfono

atributo1 CDATA #REQUIRED

atributo2 CDATA #IMPLIED>

Valores del tipo atributo:

Page 10: Qué es xml

Programación lenguaje XML

CDATA: Contiene cualquier carácter.

NMTOKEN: Puede contener solo letras, dígitos y los caracteres (. - _ : ).

Ejemplo: color=”azul-marino”

NMTOKENS: Similar al anterior pero con espacio en blanco.

Ejemplo: color=”azul marino”

Valores (valor1 | valor 2 | …): Indica qué valores tendrá el atributo, solo los que indica.

ID: Su valor debe ser único, no puede haber dos con el mismo valor ni puede empezar por

números.

IDREF: El valor que va a contener ese atributo tiene que ser un valor declarado antes en un ID.

<!ATTLIST libro código ID #REQUIRED>

<!ATTLIST préstamo libroprestado IDREF #REQUIRED>

<libro código=”C1”> … </libro>

<préstamolibroprestado=”C1”> … </préstamo>

IDREFS: Igual que el anterior pero puede hacer referencia a más de un ID, el contenido es un

conjunto de valores separados por espacios que deben coincidir con el valor del atributo ID de

otros elementos.

Valores iniciales de los atributos:

#REQUIRED: El atributo tiene que aparecer obligatoriamente, aunque esté vacío su contenido.

<libro código=””> … </libro>

#IMPLIED: El atributo no es obligatorio que aparezca, aunque puede aparecer con valor vacío.

#FIXED valor: Es un valor fijo, se indicara a continuación, y si se aplica un valor distinto a ese

atributo dará un error.

Valor: Tiene ese valor de forma predeterminada pero se podrá cambiar después al declararlo.

<Ejemplo color=”amarillo”></ejemplo>

Entidades:

Podemos asignar un valor constante a una entidad para trabajar con ello posteriormente sin

necesidad de indicar el valor de la entidad, solo su nombre.

<!DOCTYP raíz [

<!ENTITY pi “3.1416…”>

Page 11: Qué es xml

Programación lenguaje XML

<empresa>&pi </empresa>