Você está na página 1de 23

Lenguaje Extensible de Marcas

¿Qué es XML?
 XML (Lenguaje Extensible de Marcas) es un
lenguaje joven (1997) pero su padre SGML es
por el contrario un lenguaje mucho más
antiguo.
Reglas basicas
° Sólo puede haber un elemento raíz
° Toda etiqueta abierta hay que cerrarla : <etiquetavacia/>
° Es sensitivo (mayúsculas y minúsculas), etiquetas
correspondientes se tienen que escribir igual
° No se pueden intercalar etiquetas :
<libro><pagina>Applied XML<libro>12<pagina> ¡¡ NO !!
° Una “tag” (etiqueta) puede tener atributos cerrados entre
comillas : <nombre estado=“casado”
hijos=“3”>Juan</nombre>
° El nombre de las etiquetas empiezan con una letra, o con
uno o más signos de puntuación : <Nombre> ; <nombre> ;
<!Entity> ; <? Ejecuta>
° Los comentarios van encerrados entre : <!-- comentario
-->
Reglas basicas
Documento bien-formado y documento válido
Bien-formado : Es aquel documento que
cumple con la especificación de XML 1.0, es
decir que sea sintácticamente correcto.
Válido : Un documento válido es aquel que
cumple una estructura predefinida en un DTD
o Schema.
Ejemplo
<factura identificativo=“cod12-02-123”>
<cliente>
<nombre>Juan</nombre>
<dni>12.344.123</dni>
</cliente>
<pedido>
<producto codigo=“120-e”>Applied XML
</producto>
<tipo>libro</tipo>
</pedido>
<costeTotal unidad=“dolares”>24</costeTotal>
</factura>
Ventajas
 Es extensible: Después de diseñado y puesto en
producción, es posible extender XML con la adición de
nuevas etiquetas, de modo que se pueda continuar
utilizando sin complicación alguna.
 El analizador es un componente estándar, no es necesario
crear un analizador específico para cada versión de
lenguaje XML. Esto posibilita el empleo de cualquiera de
los analizadores disponibles. De esta manera se evitan
bugs y se acelera el desarrollo de aplicaciones.
 Transformamos datos en información, pues se le añade un
significado concreto y los asociamos a un contexto, con lo
cual tenemos flexibilidad para estructurar documentos.
Utilidades
 Comunicación de datos. Si la información se transfiere en XML,
cualquier aplicación podría escribir un documento de texto
plano con los datos que estaba manejando en formato XML y
otra aplicación recibir esta información y trabajar con ella.
 Migración de datos. Si tenemos que mover los datos de una
base de datos a otra sería muy sencillo si las dos trabajasen en
formato XML.
 Aplicaciones web. Hasta ahora cada navegador interpreta la
información a su manera y los programadores del web tenemos
que hacer unas cosas u otras en función del navegador del
usuario. Con XML tenemos una sola aplicación que maneja los
datos y para cada navegador o soporte podremos tener una
hoja de estilo o similar para aplicarle el estilo adecuado.
¿Cómo esta conformado?
 Prólogo
◦ Aunque no es obligatorio, los documentos XML
pueden empezar con unas líneas que describen la
versión XML, el tipo de documento y otras cosas.
◦ El prólogo de un documento XML contiene:
 Una declaración XML. Es la sentencia que declara al
documento como un documento XML.
 Una declaración de tipo de documento. Enlaza el
documento con su DTD (definición de tipo de
documento), o el DTD puede estar incluido en la propia
declaración o ambas cosas al mismo tiempo.
 Uno o más comentarios e instrucciones de
procesamiento.
¿Cómo esta conformado?
 Cuerpo
◦ A diferencia del prólogo, el cuerpo no es opcional
en un documento XML, el cuerpo debe contener un
y solo un elemento raíz, característica
indispensable también para que el documento esté
bien formado. Sin embargo es necesaria la
adquisición de datos para su buen funcionamiento
¿Cómo esta conformado?
 Elementos
◦ Los elementos XML pueden tener contenido (más
elementos, caracteres o ambos), o bien ser
elementos vacíos.
¿Cómo esta conformado?
 Atributos
◦ Los elementos pueden tener atributos, que son una
manera de incorporar características o propiedades
a los elementos de un documento. Deben ir entre
comillas.
Document type definition (DTD)
 La DTD define los tipos de elementos,
atributos y entidades permitidas, y puede
expresar algunas limitaciones para
combinarlos. Los documentos XML que se
ajustan a su DTD son denominados válidos.
XML Schemas (XSD)
 Un Schema es algo similar a un DTD. Define qué elementos
puede contener un documento XML, cómo están organizados
y qué atributos y de qué tipo pueden tener sus elementos.

 <?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="10"/> <xsd:element
name="Editorial" type="xsd:string"/> </xsd:sequence>
<xsd:attribute name="precio" type="xsd:double"/>
</xsd:complexType> </xsd:element> </xsd:schema>
Componentes
 Secciones CData
<![CDATA[    <!ENTITY amp "&"> <!-- &=
ampersand -->
    <CODIGO>
       *p=&q->campo;
      a=(x<y)?33:44;
    </CODIGO>
]]>
Componentes
 Elementos
<nombre id="surname">Perez</nombre>
<vacia color="verde"/>
Declaraciones de tipo de elemento
 Estas declaraciones establecen qué elementos pueden formar parte del
documento y cuáles pueden formar parte de su interior (los elementos se
anidan unos dentro de otros).

 ?  0 o 1 ocurrencias
 *  0 o más ocurrencias
 +  1 o más ocurrencias
 Empty  que el elemento está vacío.
Estos elementos NO tienen etiqueta de cierre.
 Any  Cualquier contenido es válido.
 #PCDATA  que el contenido de la cadena puede ser una cadena de texto

 <!ELEMENT nombre (#PCDATA)>


<!ELEMENT nombre EMPTY>
<!ELEMENT cliente (nombre,apellidos,nif?,tlf*,direccion+)>
 <!ELEMENT cliente (nombre,apellidos,nif?,tlf*,direccion+)>

<!ELEMENT nombre (#PCDATA)>


<!ELEMENT apellidos(ape1,ape2?)>

 <!ELEMENT apellidos (#PCDATA|(ape1,ape2))>>


<!ELEMENT ape1 (#PCDATA)>
<!ELEMENT ape2 (#PCDATA)>

 <apellidos> Perez López </apellidos>


 <apellidos> <ape1> Perez </ape1> <ape2> López
</ape2> </apellidos>
Declaraciones de listas de atributos
 CDATA El atributo será una cadena de caracteres.
No todos los caracteres son válidos.
Usaremos secciones PCDATA cuando queramos
incluir los carácteres no válidos.
 ID El atributo sirve para identificar al elemento
dentro del documento.
Sólo puede haber un atributo de tipo ID por
elemento.
 IDREF/S Este atributo se empleará para referenciar a
otros elementos del documento a partir de su ID.
 ENTITY/S Contiene nombres de entidades.
Declaraciones de listas de atributos
 Valores por defecto
◦ #REQUIRED Con esto indicamos que es obligatorio darle un valor al
atributo.
◦ #IMPLIED Con esto indicamos que es opcional darle un valor al atributo.
<<valor>> Podemos poner un valor (NO lista de valores) opcional
directamente; entonces, si no se le otorga un nuevo valor
posteriormente, asumirá el dado (ed, es el valor x por defecto).
No es obligatorio darle un valor en el doc.
◦ #FIXED <<valor>>> Con esto obligamos a q el atributo tome
necesariamente el valor especificado en <<valor>>

◦ <!ATTLIST cliente
    numcli ID #REQUIRED
    edad ("Menos de 18" | "entre 18 y 65" | "Más de 65") #IMPLIED
>
XMLDataDocument
 Permite que los datos estructurados se
almacenen, recuperen y manipulen mediante un
DataSet relacional.
 Permite cargar datos relacionales o datos XML y

manipularlos utilizando Document Object Model


(DOM) del Consorcio W3C. DOM presenta los
datos como una jerarquía de objetos de nodo.
Dado que XmlDataDocument implementa la
interfaz IXPathNavigable, también se puede
utilizar como documento de origen de la clase
XslTransform.
XMLDataDocument
 XmlDataDocument tiene una relación
estrecha con la clase DataSet que proporciona
una vista relacional de los datos XML
cargados. Los cambios efectuados en
XmlDataDocument se reflejan en DataSet y
viceversa.
Jerarquía de herencia
 System.Object
   System.Xml.XmlNode
     System.Xml.XmlDocument
      System.Xml.XmlDataDocument
XMLDataDocument

Você também pode gostar