Вы находитесь на странице: 1из 17

UNIVERSIAD NACIONAL EXPERIMENTAL DE

G UAYANA
VICERECTORADO ACADEMICO
COORDINACIN GENERAL DE PREGRADO
COORDINACIN DE INGENEIERA INFORMTICA
BASES DE DATOS 2

XML

AUTOR
HAROLD BERNAOLA
C.I.24702391

1. Gestin de Bases de datos con XML


1.1. Definicin de XML

Es un lenguaje de marcas que se ha estandarizado y se ha convertido en


uno de los formatos ms populares para intercambiar informacin. Son
documentos de lenguajes de marcas, donde

hay texto normal y etiquetas

(marcas) que permiten clasificar dicho texto indicando su significado.


1.2. Uso de XML

Sirve para disear lenguajes de mediante marcas. Es decir, XML define


tipos de documentos de forma que junto a la informacin del documento hay una
serie de etiquetas que sirven para clarificar lo que significa la informacin.
1.3. Sintaxis
1.3.1. Declaracin XML

Se trata de la primera lnea de un documento XML e indica el tipo de


documento XML que es (y as poder validar el mismo). En realidad es
opcional, pero es muy recomendable. Es:
<?xml version="1.0" encoding="UTF-8"?>
Indica la versin XML del documento y la codificacin (utf-8 es la habitual).
Las etiquetas tienen cierre que se indica con el signo / antes del nombre
de la etiqueta. Las etiquetas afectan al texto (y otras etiquetas) que
estn entre la apertura y el cierre.
Por otro lado XML llama elemento a las etiquetas; mejor dicho,

elemento

sera tanto la etiqueta como lo que contiene.


1.3.2. Reglas de sintaxis para la declaracin XML

Las etiquetas sirven para indicar elementos. El nombre de la etiqueta


se indica entre los smbolos < y >.

Las etiquetas se cierran indicando </ seguido del nombre de la


etiqueta que se est cerrando.
XML distingue entre maysculas y minsculas siendo buena prctica
escribir las etiquetas en minsculas
Los comentarios en el cdigo se inician con los smbolos <!-- y
terminan con -->
Segn la W3C (organismo de estandarizacin de XML), el texto en
un documento XML debe de estar codificado en Unicode (normalmente
UTF-8).
1.3.3. Etiquetas y elementos

Son la base del documento XML. Sirven para dar significado al texto
o a otros elementos o tambin para definir relaciones entre distintos
elementos y datos.
Hay una confusin entre lo que es un elemento y lo que es una
etiqueta. En este caso por ejemplo:
<nombre>Jorge</nombre>
<nombre> Es un etiqueta de apertura
</nombre> Es una etiqueta de cierre
<nombre>Jorge</nombre>Es un elemento (el elemento
nombre)
Jorge es el contenido del elemento
El contenido de un elemento puede contener simplemente texto:
<descripcin>
Producto con precio rebajado debido a su escasa demanda
</descripcin>
O puede contener otros elementos (o ambas cosas). En este el
elemento persona consta de un elemento nombre y otro apellido.
<persona>

<nombre>Jorge</nombre>
<apellido>Snchez</apellido>
</persona>
Los elementos se deben abrir y cerrar con la etiqueta que sirve para
definir el elemento; siempre se debe cerrar el ltimo elemento que se abri.
Es decir es un error:
<persona>
<nombre>Jorge</nombre>
<apellido>Snchez</persona>
</apellido>
Puede haber incluso elementos vacos:
<casado></casado>
En este caso se pueden cerrar en la propia etiqueta de apertura:
<casado />
1.3.4. Jerarquizacin de elementos

Los elementos de un documento XML establecen una jerarqua que


estructura el contenido del mismo. Esa jerarqua se puede representar en
forma de rbol.
As por ejemplo el archivo XML:
<?xml version=1.0?>
<documento>
<ttulo>Apuntes de XML</ttulo>
<autor>Jorge Snchez</autor>
<fecha_pub>
<da>18</da>
<mes>Enero</mes>
<ao>2009</ao>
</fecha_pub>
</documento>

1.3.5. Atributos y reglas sintcticas

Se definen dentro de las etiquetas de apertura de los elementos. Se indica su


nombre seguido del signo = y del valor (entre comillas) que se le da al atributo.
Ejemplo:
<persona complejidad=alta>
<nombre>Jorge</nombre>
<apellido>Snchez</apellido>
</persona>
Un elemento puede contener varios atributos:
<persona privacidad=alta tipo=autor>
<nombre>Jorge</nombre>
<apellido>Snchez</apellido>
</persona>
El texto como se coment antes est siempre entre una etiqueta de
apertura y una de cierre. Eso significa que todo texto es parte de un
elemento XML.
Se puede escribir cualquier carcter Unicode en el texto, pero no es vlido
utilizar caracteres que podran dar lugar a confusin como los signos
separadores < y > por ejemplo

Referencias XML
Las referencias de caracteres y entidades proporcionan modos de incluir
informacin en documentos XML mediante referencias, en vez de escribir
caracteres en el documento directamente. Esto puede ser til en casos en los que:

Los caracteres no pueden incluirse directamente en un documento porque


seran interpretados como elementos de marcado.

Los caracteres no pueden incluirse directamente en un documento debido a


las limitaciones de los dispositivos de entrada.

Los caracteres no pueden transportarse de manera fiable a travs de un


procesador limitado a caracteres de un byte.

Una cadena de caracteres o un fragmento de documento aparece de


manera repetida y puede abreviarse.

Para representar contenido, XML proporciona un nmero de construcciones


sintcticas que comienzan por una Y comercial (&) y terminan por un punto y coma
(;).
Las referencias de caracteres proporcionan un modo de incluir caracteres Unicode
que se identifican mediante un nmero que seala un punto de cdigo Unicode.
Los puntos de cdigos pueden identificarse mediante una notacin decimal o
hexadecimal.
& #value;
Sintaxis utilizada para referencias decimales.
&# xvalue;
Sintaxis utilizada para referencias hexadecimales.
Por ejemplo, para incluir el smbolo del euro, un carcter que an no est presente
en muchos teclados, puede incluir &#x20AC; o &#8364; en un documento.
La siguiente tabla enumera las cinco entidades integradas para los caracteres que
se utilizan para marcado de XML.
Entity

Referencia de
entidad

Significado

lt

&lt;

< (menos que)

gt

&gt;

> (mayor que)

amp

&amp;

apos

&apos;

quot

&quot;

& (smbolo de Y comercial)


' (apstrofe o comilla
simple)
" (comilla doble)

En casos en los que el carcter puede provocar que el analizador de XML


interprete de forma errnea la estructura del documento, utilice la entidad en lugar
de escribir el carcter. Las referencias de entidades &apos; y &quot; suelen ser
ms habituales en valores de atributo.
Para escribir Me & You, por ejemplo, utilice Me&amp;You. Para a<b, use
a&lt;b. Para b>c, use b&gt;c.
Tambin puede definir sus propias entidades, de modo muy parecido a
como HTML define un conjunto de entidades para usar en HTML. &apos no es
reconocido como un archivo HTML; debe usarse $#.... cuando se transforma a
HTML.

1.4. Documentos XML


1.4.1. Estructura de un documento XML

Prlogo. Se trata de la primera zona del documento y sirve para describir


qu tipo de documento es. Es similar al apartado head de HTML. Puede
contener
Declaracin del documento, que permite indicar el tipo de documento
XML que es.
Instrucciones para el procesado del documento
Comentarios
Indicacin del documento DTD, XSD o Relax NG para comprobar si el
mismo es vlido segn las reglas impuestas por dicho documento.
Indicacin de otros documentos que afectan al actual, como por
ejemplo los documentos XSLT que permiten especificar la forma en la
que el documento se debe mostrar en pantalla.
Elemento raz. Todo el contenido del documento debe de estar incluido en
el llamado elemento raz, se trata de un elemento obligatorio que se abre
tras el prlogo y se debe cerrar justo al final. De este modo cualquier
elemento est dentro del elemento raz. Contiene:
Ms elementos
Atributos
Texto normal
Entidades
Comentarios
1.4.2. Ejemplo de un documento XML

<?xml version="1.0"?>
<!DOCTYPE MENSAJE SYSTEM "mensaje.dtd">
<mensaje>
<remite>
<nombre>Alfredo Reino</nombre>
<email>alf@myemail.com</email>
</remite>
<destinatario>
<nombre>Bill Clinton</nombre>
<email>president@whitehouse.gov</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>
De forma grfica seria de la siguiente manera:

1.5.

Declaracin XML

1.5.1. Sintaxis

Los documentos XML pueden empezar con unas lnea que describen
la versin de XML, el tipo de documento, y otras cosas.
La primera, o "declaracin XML", define la versin de XML usada.
Hasta ahora slo hay una, la "1.0" Adems, en la "declaracin XML"
especificamos la codificacin del documento, que puede ser, por ejemplo,

US-ASCII (7 bits) o UTF-8 (cdigo Unicode del que el ASCII es un


subconjunto), UCS-2, EUC-JP, Shift_JIS, Big5, ISO-8859-1 hasta ISO8859-7. En general, y para uso con lenguajes europeos (incluyendo el
juego de caracteres especiales del castellano, usamos UTF-7 o ISO-88591).
Adems, se puede incluir una declaracin de documento autnomo
( standalone), que controla qu componentes de la DTD son necesarios
para completar el procesamiento del documento.
<?xml version="1.0" encoding="UTF-7" standalone="yes"?>
La segunda, o "declaracin de tipo de documento", define qu tipo de
documento estamos creando para ser procesado correctamente. Es decir,
definimos que Declaracin de Tipo de Documento (DTD Document Type
Definition) valida y define los datos que contiene nuestro documento XML.
En ella se define el tipo de documento, y dnde encontrar la informacin
sobre su Definicin de Tipo de Documento, mediante un identificador
pblico (PUBLIC) que hace referencia a dicha DTD, o mediante un
Identificador Universal de Recursos (URI) precedido por la palabra
SYSTEM.
1.5.2. Reglas

Los documentos XML slo permiten un elemento raiz, del que todos los dems
sean parte.
Es decir, la jerarqua de elementos de un documento XML bien-formado slo
puede tener un elemento inicial.
1.5.3. Ejemplos

<!DOCTYPE MENSAJE SYSTEM "mensaje.dtd">


<!DOCTYPE HTML PUBLIC "-/ /W3C/ /DTD HTML 3.2 Final/ /EN">
<!DOCTYPE LABEL SYSTEM "http://www.empresa.com/dtds/label.dtd">
1.6.

Tags

1.6.1. Inicio Fin

Siempre empieza con una <etiqueta> que puede contener atributos o


no, y termina con una </etiqueta> que debe tener el mismo nombre.
1.6.2. Tag Vaco

La etiqueta debe ser de la siguiente forma: <elemento-sincontenido/>


<LI>En XML, somos<BR/> ms restrictivos.</LI>
1.6.3. Reglas

El XML es sensible al tipo de letra utilizado, es decir, trata las


maysculas y minsculas como caracteres diferentes. Si un elemento de
XML est definido como "ELEMENTO", no podemos usar "elemento", ni
"Elemento", ni "eleMENto" para referirnos a l.

1.7.

Elementos
Los elementos XML pueden tener contenido (ms elementos,

caracteres, o ambos a la vez), o bien ser elementos vacos.


1.7.1. Sintaxis

Siempre empieza con una <etiqueta> que puede contener atributos o


no, y termina con una </etiqueta> que debe tener el mismo nombre.
1.7.2. Elemento vaco

Un elemento vaco, es el que no tiene contenido (claro).


1.7.3. Reglas

Al no tener una etiqueta de "cierre" que delimite un contenido, se utiliza


la forma <etiqueta/>, que puede contener atributos o no.
1.8.

Atributos

1.8.1. Sintaxis

Como se ha mencionado antes, los elementos pueden tener atributos,


que son una manera de incorporar caractersticas o propiedades a los
elementos de un documento.

Por ejemplo, un elemento "chiste" puede tener un atributo "tipo" y un


atributo "calidad", con valores "vascos" y "bueno" respectivamente.
<chiste tipo="vascos" calidad="bueno">Esto es un dia que Patxi y Josu van
paseando</chiste>
1.8.2. Tipos

En una Definicin de Tipo de Documento, se especifican los atributos


que puede tener cada tipo de elemento, as como sus valores y tipos de
valor posible.
1.8.3. Reglas

Al igual que en otras cadenas literales de XML, los atributos pueden


estar marcados entre comillas verticales ( ' ) o dobles ( " ). Cuando se usa
uno para delimitar el valor del atributo, el otro tipo se puede usar dentro.
<verdura clase="zanahoria" longitud='15" y media'>
<cita texto="'Hola buenos dias', dijo l">

1.9.

Comentarios en XML

1.9.1. Sintaxis

Comienzan por la cadena "<!--" y terminan con "-->".


1.9.2. Reglas

Se pueden introducir comentarios en cualquier lugar de la instancia o del


prlogo, pero nunca dentro de las declaraciones, etiquetas, u otros
comentarios.
1.9.3. Ejemplo

<?xml version="1.0"?>
<!-- Aqu va el tipo de documento -->
<!DOCTYPE EJEMPLO [
<!-- Esto es un comentario -->
<!ELEMENTO EJEMPLO (#PCDATA)>
<!-- Eso es todo por ahora! -->
]>

<EJEMPLO>texto texto texto bla bla bla


<!-- Otro comentario -->
</EJEMPLO>
<!-- Ya acabamos -->
1.10.

Entidades Carcter de XML

1.10.1.

Tipos de entidades carcter

Se define cinco entidades para representar caracteres especiales:


Entidades Caracteres

1.11.

&amp

&

&lt

<

&gt

>

&apos

&quot

Secciones CDATA

1.11.1.

Sintaxis

Existe otra construccin en XML que permite especificar datos,


utilizando cualquier carcter, especial o no, sin que se interprete como
marcado XML. La razn de esta construccin llamada CDATA (Character
Data) es que a veces es necesario para los autores de documentos XML,
poder leerlo facilmente sin tener que descifrar los cdigos de entidades.
Especialmente cuando son muchas.
1.11.2.

Reglas

Existe empero una excepcin, y es la cadena "]]>" con la que termina


el bloque CDATA. Esta cadena no puede utilizarse dentro de una seccin
CDATA.
1.11.3.

Ejemplo

<ejemplo>
<![CDATA[
<HTML>
<HEAD><TITLE>Rock & Roll</TITLE></HEAD>
]]>
</ejemplo>
1.12.

Procesamiento de Instrucciones

1.12.1.

Uso

Las instrucciones de procesamiento pueden utilizarse para pasar


informacin a las aplicaciones de tal modo que burle la mayora de las
reglas XML

1.12.2. Sintaxis

Las instrucciones de procesamiento no tienen que seguir una gran


sintaxis interna, pueden incluir caracteres de marcado sin tener que
burlarlos, y pueden aparecer en cualquier lugar del documento fuera de otro
elemento de marcado. Pueden aparecer en el prlogo, incluyendo la
definicin de tipo de documento (DTD), en el contenido textual o despus
del documento. Los procesadores de esquema o DTD no notan su
presencia.
1.12.3.

Reglas

Sigue reglas similares a las de los nombres de atributos y elementos.


Los destinos de las instrucciones de procesamiento distinguen maysculas
y minsculas y deben empezar por una letra o un carcter de subrayado. El
resto del destino puede contener letras, nmeros, guiones, caracteres de
subrayado, puntos y dos puntos. Despus del destino puede aparecer
cualquier carcter textual XML vlido.
1.12.4.

Ejemplo

<?xml-stylesheet type="text/xsl" href="show_book.xsl"?>


El procesamiento de los contenidos finaliza justo despus de que se
encuentre la cadena ?>.
1.13.

Codificacin XML

1.13.1.

Uso

La codificacin de caracteres proporciona una asignacin entre una


serie de nmeros y los caracteres que se esperan ver al introducir texto en
un equipo. Por ejemplo, la letra mayscula "A" se representa mediante el
nmero decimal 65 (41 en hexadecimal) en diferentes codificaciones de

caracteres, incluidos el texto ASCII conocido por muchos programadores


de idiomas occidentales y la pgina de cdigos de Windows 1252, la
codificacin predeterminada que se utiliza en la mayora de los sistemas de
idiomas occidentales con Microsoft Windows.
Las codificaciones de caracteres no son fuentes que proporcionan
representaciones grficas ni glifos que se asignan a una codificacin de
caracteres determinada. Por ejemplo, Microsoft Word incluye una versin
de Arial (Arial Unicode MS) con muchos miles de caracteres.
.
Tipos

1.13.2.

Todos los procesadores XML son necesarios para entender dos


transformaciones de la codificacin de caracteres Unicode: UTF-8 y UTF16.
Sintaxis

1.13.3.

Declaracion sencilla:
<?xml version="1.0"?>

1.13.4.

Ejemplo

Se muestra el uso de los atributos opcionales encoding y standalone:


<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

1.14.

DTD

1.14.1.

Uso

Crear una definicin del tipo de documento (DTD) es como crear


nuestro propio lenguaje de marcado, para una aplicacin especfica.
1.14.2.

Sintaxis

La DTD define los tipos de elementos, atributos y entidades permitidas,


y puede expresar algunas limitaciones para combinarlos.
1.14.3.

DTD Interna, uso, sintaxis, reglas y ejemplo

La DTD puede residir en un fichero externo, y quiz compartido por


varios (puede que miles) de documentos.

<?xml version="1.0"?>
<!DOCTYPE coche SYSTEM "http://sitio.com/coche.dtd">
<coche>
<modelo>...</modelo>
...
</coche>
1.14.4.

DTD Externa, uso, sintaxis, tipos, reglas y ejemplo

DTD puede estar contenida en el propio documento XML, como parte


de su declaracin 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 Mengnez</nombre>
<calle>c/ Mayor, 27</calle>
<ciudad>Valderredible</ciudad>
<pais>Espaa</pais>
<codigo>39343</codigo>
</etiqueta>

1.15.

DOM

1.15.1.

Definicin, Uso

La clase Modelo de objetos de documento XML (DOM) es una


representacin en la memoria de un documento XML. DOM permite
leer, manipular y modificar un documento XML mediante programacin.
1.15.2.

Ejemplo

<?xml version="1.0"?>
<books>
<book>
<author>Carson</author>
<price format="dollar">31.95</price>
<pubdate>05/01/2001</pubdate>
</book>
<pubinfo>
<publisher>MSPress</publisher>

<state>WA</state>
</pubinfo>
</books>

Se muestra cmo se estructura la memoria cuando se leen estos datos


XML en la estructura DOM.
1.16.

Espacios de nombres (Namespace)

1.16.1.

Uso

Un espacio de nombres XML es una recomendacin W3C para


proporcionar elementos y atributos con nombre nico en un archivo XML.
Un archivo XML puede contener nombres de elementos o atributos
procedentes de ms de un vocabulario XML
1.16.2.

Declaracin y sintaxis

Un espacio de nombres se declara usando el atributo XML reservado


xmlns, cuyo valor debe ser un identificador uniforme de recurso.
1.16.3.

Ejemplo
xmlns="http://www.w3.org/1999/xhtml"

1.17.

Bases de datos
Una base de datos XML constituye un sistema software que da

persistencia a datos almacenados en formato XML. Estos datos pueden


ser interrogados, exportados y serializados. Las bases de datos XML estn
generalmente asociadas con las bases de datos documentales.

1.17.1.

Tipos

XML habilitado: stas bien pueden mapear XML en estructuras


tradicionales de bases de datos (como las relacionales ), aceptando XML
como entrada y formateando en XML la salida, o ms recientemente
soportando tipos XML nativos en la propia base de datos. Esto implica que
la base de datos procesa el XML internamente (lo opuesto a soportarlo
mediante middleware).

XML nativo (NXD): el modelo interno de estas bases de datos usa


documentos XML como la unidad elemental de almacenamiento, los cuales
no han de almacenarse necesariamente en formato de texto.
1.17.2.

Ejemplo de XML con Bases de datos

SELECT
id, vol, xmlquery('$j/name', procesando revista "j") AS name
FROM
revistas
WHERE
xmlexists('$j[publica="Elsevier"]', procesando revista "j")

Вам также может понравиться