Está en la página 1de 51

ARCHIVOS XML EN

JAVA
Andrs Parra
Anyara Rojas
Julio Henrquez
Emerson Pichardo
Janne Luciano

20151057
20150610
20151023
20150437
20150472

<?XML?>

QUE ES XML?
XML, siglas en ingls deeXtensibleMarkupLanguage('lenguaje
de marcasextensible'), es unlenguajede marcas desarrollado por
elWorld Wide Web Consortium(W3C) utilizado para almacenar
datos en forma legible. Proviene del lenguajeSGMLy permite
definir la gramtica de lenguajes especficos (de la misma manera
queHTMLes a su vez un lenguaje definido por SGML) para
estructurar documentos grandes. A diferencia de otros lenguajes,
XML da soporte a bases de datos, siendo til cuando varias
aplicaciones deben comunicarse entre s o integrar informacin.

XML no ha nacido slo para su aplicacin paraInternet, sino que


se propone como un estndar para el intercambio de informacin
estructurada entre diferentes plataformas. Se puede usar en
bases de datos, editores de texto, hojas de clculo y casi
cualquier cosa imaginable.
XML es unatecnologasencilla que tiene a su alrededor otras
que la complementan y la hacen mucho ms grande y con unas
posibilidades mucho mayores.

HISTORIA DE XML
XML proviene de un lenguaje inventado porIBMen los aos
setenta, llamadoGML(Generalized Markup Language), que
surgi por la necesidad que tena la empresa de almacenar
grandes cantidades de informacin y compartirla en otros SO
y plataformas. Este lenguaje gust a laISO, por lo que en
1986 trabajaron para normalizarlo, creando SGML(Standard
Generalized Markup Language), capaz de adaptarse a un
gran abanico de problemas. A partir de l se han creado otros
sistemas para almacenar informacin.

En el ao 1989Tim Berners Leecre laweb, y junto con ella el


lenguaje HTML. Este lenguaje se defini en el marco de SGML y fue
de lejos la aplicacin ms conocida de este estndar.
Losnavegadoresweb sin embargo siempre han puesto pocas
exigencias al cdigo HTML que interpretan y as laspginas
webson caticas y no cumplen con la sintaxis. Estas pginas web
dependen fuertemente de una forma especfica de lidiar con los
errores y las ambigedades, lo que hace a las pginas ms frgiles
y a los navegadores ms complejos.

VENTAJAS DEL XML

Es extensible: Despus de diseado y puesto en produccin, es posible


extender XML con la adicin de nuevas etiquetas, de modo que se pueda
continuar utilizando sin complicacin alguna.
El analizador es un componente estndar, no es necesario crear un
analizador especfico para cada versin de lenguaje XML. Esto
posibilita el empleo de cualquiera de los analizadores disponibles. De esta
manera se evitanbugsy se acelera el desarrollo de aplicaciones.
Si un tercero decide usar un documento creado en XML, es sencillo
entender su estructura y procesarla. Mejora la compatibilidad entre
aplicaciones. Podemos comunicar aplicaciones de distintas plataformas, sin
que importe el origen de los datos, es decir, podramos tener una aplicacin
en Linux con una base de datosPostgres y comunicarla con otra aplicacin en
Windows y Base de Datos MS-SQL Server.

CRITICAS
XML y sus extensiones han sido regularmente criticadas por su
nivel de detalle y complejidad. El mapeo del modelo de rbol
bsico de XML hacia lossistema de tiposde lenguajes de
programacin o bases de datos puede ser difcil, especialmente
cuando se utiliza XML para el intercambio de datos altamente
estructurados entre aplicaciones, lo que no era su objetivo
primario de diseo. Otras crticas intentan refutar la afirmacin de
que XML es un lenguajeauto descriptivo(aunque la especificacin
XML no hace ninguna afirmacin de este tipo). Se propone
aJSONyYAMLfrecuentemente como alternativas, centrndose
ambas en la representacin de datos estructurados, en lugar de
documentos narrativos.

Estructura de un archive XML


La tecnologa XML busca dar solucin al problema de expresar
informacin estructurada de la manera ms abstracta y reutilizable
posible. Que la informacin sea estructurada quiere decir que se
compone de partes bien definidas, y que esas partes se componen
a su vez de otras partes. Entonces se tiene un rbol de trozos de
informacin. Ejemplos son un tema musical, que se compone de
compases, que estn formados a su vez por notas. Estas partes se
llamanelementos, y se las seala medianteetiquetas
Una etiqueta consiste en una marca hecha en el documento, que
seala una porcin de ste como un elemento. Un pedazo de
informacin con un sentido claro y definido. Las etiquetas tienen la
forma <nombre>, donde nombre es el nombre del elemento que
se est sealando.

Ejemplo de estructura:

Documentos XML bien formados


y control de errores
Los documentos denominados como bien formados (del ingls
well formed) son aquellos que cumplen con todas las definiciones
bsicas de formato y pueden, por lo tanto, analizarse
correctamente por cualquier analizador sintctico (parser) que
cumpla con la norma. Se separa esto del concepto de validez que
se explica ms adelante.
Los documentos han de seguir una estructura estrictamente
jerrquica con lo que respecta a las etiquetas que delimitan sus
elementos. Una etiqueta debe estar correctamente incluida en
otra, es decir, las etiquetas deben estar correctamente anidadas.
Los elementos con contenido deben estar correctamente
cerrados.
Los documentos XML slo permiten un elemento raz del que
todos los dems sean parte, es decir, solo pueden tener un

El XML es sensible a maysculas y minsculas. Existe un


conjunto de caracteres llamados espacios en blanco (espacios,
tabuladores, retornos de carro, saltos de lnea) que los
procesadores XML tratan de forma diferente en el marcado XML.
Es necesario asignar nombres a las estructuras, tipos de
elementos, entidades, elementos particulares, etc. En XML los
nombres tienen alguna caracterstica en comn.
Las construcciones como etiquetas, referencias de entidad y
declaraciones se denominan marcas; son partes del documento
que el procesador XML espera entender. El resto del documento
entre marcas son los datos entendibles por las personas.

Partes de un archivo XML

Prlogo:

Aunque no es obligatorio, los documentos XML pueden


empezar con unas lneas que describen la versin XML, el
tipo de documento y otras cosas.

Cuerpo:

A diferencia del prlogo, el cuerpo no es opcional en un


documento XML, el cuerpo debe contener un y solo un
elemento raz, caracterstica indispensable tambin para
que el documento est bien formado.

Elementos:

Los elementos XML pueden tener contenido (ms elementos,


caracteres o ambos), o bien ser elementos vacos.


Atributos:
Los elementos pueden tener atributos, que son una manera de incorporar
caractersticas o
propiedades a los elementos de un documento.
Deben ir entre comillas.
Entidades predefinidas:
Entidades para representar caracteres especiales para que, de esta
forma, no sean interpretados
como marcado en el procesador XML.

Secciones CDATA

Es una construccin en XML para especificar datos utilizando cualquier


carcter sin que se
interprete como marcado XML. No confundir con
2(#PCDATA) que es para los elementos. Permite
que caracteres
especiales no rompan la estructura.

ELEMENTOS DE XML

Los elementos componen la espina dorsal de los documentos XML,


ya que crean estructuras que pueden se manipular con programas
u hojas de estilos. Los elementos identifican secciones de
informacin con nombres y se crean mediante etiquetas de
marcado que identifican el nombre, el inicio y el final del elemento.

Los elementos tambin pueden incluir valores y nombres de


atributos, que proporcionan informacin adicional sobre el
contenido

ELEMENTOS DE XML

Un elemento suele incluir las etiquetas de apertura y cierre, y todo el


contenido queda delimitado dentro de ellas.
<person><Name>Peter</Name>
<Family>Kress</Family></person>

En este caso, el elemento <person> contiene otros dos elementos,


<Name> y <Family>, junto con un espacio que los separa. El
elemento <Name> contiene el texto Peter mientras que el elemento
<Family> contiene el texto Kress.

ATRIBUTO

Un atributo es una definicin de tipo simple con nombre que no


puede contener otros elementos. Los atributos tambin pueden
asignarse a un valor predeterminado opcional y deben aparecer
en la parte inferior de las definiciones de tipo complejo.

Por ejemplo, un elemento estudiante puede tener un atributo


Mario y un atributo tipo, con valores come croquetas
y taleno respectivamente.

REGLAS DE ATRIBUTOS
ELEMENTO

XML distingue entre maysculas y minsculas. As, un


elemento denominado "statecode" es distinto de un elemento
denominado "stateCode."

Los valores de atributos deben estar siempre entre comillas.

Los nombres de elementos no pueden empezar por un nmero


o un signo de subrayado ni por las letras "XML".

Los nombres de elementos no pueden contener espacios.

ENTIDADES PREDEFINIDAS

Entidades para representar caracteres especiales para que, de


esta forma, no sean interpretados como marcado en el procesador
XML.
Ejemplo: entidad predefinida: & carcter: &.
< !ENTITY nom "Juan Prez Lpez">
Si escribo en mi documento (en el cdigo fuente, si estas dentro
de un editor wysiwyg): &nom; es como si estuviera escribiendo
Juan Prez Lpez.

ENTIDADES PREDEFINIDAS

Las entidades pueden incluir referencias a otras entidades


internas, con la salvedad de q se forme un ciclo entre ellas. XML
tiene 5 entidades internas predefinidas:
&
&
&
&
&

lt; Es sustitdo por el smbolo <


gt; Es sustitdo por el smbolo >
amp; Es sustitdo por el smbolo &
apos; Es sustitdo por el smbolo '
quot; Es sustitdo por el smbolo "

SECCIONES CDATA

Es una construccin en XML para especificar datos utilizando


cualquier carcter sin que se interprete como marcado .

<![CDATA[contenido especial: \n &]]>


Seccin CData - Personajes entre estos dos recintos son
interpretados como caracteres, y no como el markup. Esta
seccin puede contener caracteres de markup ( <, >, y & ), pero
son ignoradas por el procesador XML.

CDATA REGLAS

Las normas son necesarias para ser seguido para XML


CDATA:

CDATA no puede contener la cadena "]]>" en cualquier parte


del documento XML.

Anidacin no est permitido en seccin CDATA.

COMENTARIOS

El contenido que no es apto para el analizador de XML, como


notas sobre la estructura o edicin del documento, puede
incluirse en un comentario. Los comentarios comienzan por <!-y terminan por -->; por ejemplo

Los comentarios pueden aparecer en el prlogo del documento,


incluyendo la definicin de tipo de documento (DTD), en el
contenido textual o despus del documento. Los comentarios no
aparecen dentro de valores de atributo. Tampoco pueden
aparecer dentro de etiquetas.

VALIDEZ

Que un documento est bien formado solamente se refiere a


su estructura sintctica bsica, es decir, que se componga de
elementos, atributos y comentarios como XML especifica que
se escriban. Ahora bien, cada aplicacin de XML, es decir, cada
lenguaje definido con esta tecnologa, necesitar especificar
cul es exactamente la relacin que debe verificarse entre los
distintos elementos presentes en el documento.
Esta relacin entre elementos se especifica en un documento
externo o definicin (expresada comoDTDDocument Type
Definition, 'Definicin de Tipo de Documento' o
comoXSchema). Crear una definicin equivale a crear un
nuevo lenguaje de marcado, para una aplicacin especfica.

DOCUMENT TYPE DEFINITION


La Document Type Definition o DTD (en espaol
"definicin de tipo de documento") 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 vlidos.

Una DTD establece tanto los elementos que forman un tipo de documento
dado, como las relaciones que se dan entre ellos.
El conjunto de reglas que define los documentos del tipo correo electrnico
puede ser el siguiente, escrito en el fichero www.sitio.es/DTDs/email.dtd:

<!element email (head, body)>


<!attlist email id ID #REQUIRED>
<!element head
(from, to+, cc*, subject)>
<!element from
(name?, address)>
<!element
<!element
<!element
<!element
<!element

to
(name?, address)>
cc
(name?, address)>
name
(#PCDATA)>
address (#PCDATA)>
subject (#PCDATA)>

<!element body
(p | attach)*>
<!element p
(#PCDATA)>
<!element attach EMPTY>
<!attlist attach encoding (mime|binhex) "mime"
name
CDATA
#REQUIRED>

Existen cuatro tipos de declaraciones: tipos de elemento, listas de atributos,


entidades y de notacin:

declaracin de elementos: identifican los nombres de los elementos, su


contenido y las relaciones entre los distintos elementos.

declaracin de atributos: identifican los elementos que tienen atributos, qu


atributos tendrn y cules son los valores por defecto.

declaracin de entidades: permiten asociar nombres con contenidos que por


ejemplo se repiten mucho

<!entity uva "Universidad de Valladolid">

declaracin de notacin: identifican tipos especficos de datos binarios


externos:

<!notation GIF87A system "gif">


Una DTD puede estar en la misma mquina que el documento asociado o en otra
distinta.

Un documento XML puede estr distribuido a lo largo de varios ficheros:


<!doctype libro system "libro.dtd"
[
<!entity indice system "indice.xml">
<!entity cap1 system "capitulos/cap1.xml">
<!entity cap2 system "capitulos/cap2.xml">
]>
<libro>
<cabecera>
&indice;
</cabecera>
<cuerpo>
&cap1;
&cap2;
</cuerpo>
</libro>

Declaraciones tipo elemento


Los elementos deben ajustarse a un tipo de documento
declarado en una DTD para que el documento sea
considerado como vlido.
Modelos de contenido
Un modelo de contenido es un patrn que establece los
subelementos aceptados, y el orden en que se aceptan.
Declaraciones de lista de atributos
Los atributos se usan para aadir informacin adicional a los
elementos de un documento.
Tipos de atributos
AtributosCDATAyNMTOKEN
Atributos enumerados y notaciones
AtributosIDeIDREF

Declaracin de entidades
XML hace referencia a objetos que no deben ser
analizados sintcticamente segn las reglas XML,
mediante el uso de entidades. Las entidades pueden
ser:
Internas o externas
Analizadas o no analizadas
Generales o parametrizadas
Espacios de nombres
Losespacios de nombres XMLpermiten separar
semnticamente los elementos que forman un
documento XML.

XML Schemas (XSD)


UnSchemaes algo similar a un DTD. Define qu elementos
puede contener un documento XML, cmo estn organizados y
qu atributos y de qu tipo pueden tener sus elementos.
Ventajas de los Schemas frente a los DTD
Usan sintaxis de XML, al contrario que los DTD.
Permiten especificar los tipos de datos.
Son extensibles.

LIBRERAS PARA EL TRATAMIENTO DE XML EN


JAVA

XML, es un metalenguaje extensible de etiquetas


desarrollado por el World Wide Web Consortium (W3C) que
permite definir la gramtica de lenguajes especficos. Por lo
tanto XML no es realmente un lenguaje en particular, sino
una manera de definir lenguajes para diferentes
necesidades. Algunos de estos lenguajes que usan XML para
su definicin son XHTML, SVG, MathML.
XML no ha nacido slo para su aplicacin en Internet, sino
que se propone como un estndar para el intercambio de
informacin estructurada entre diferentes plataformas. Se
puede usar en bases de datos, editores de texto, hojas de
clculo y casi cualquier cosa imaginable. Tiene un papel muy
importante en la actualidad ya que permite la compatibilidad
entre sistemas para compartir la informacin de una manera
segura, fiable y fcil.

Usar las librerasXerces2,JDOMyJAXPpara el procesamiento de


documentos XML
Es necesario tener claro qu librera se adapta con mayor facilidad a nuestras
necesidades.

Xerces2permite el procesamiento de documentos XML tanto con el estndar


DOM o con el estndar SAX, y errores.Adems, integra a otras libreras
independientes de parseado.
JDOMpermite leer, escribir, crear y manipular ficheros XML de forma sencilla
e intuitiva. Est totalmente programada en Java, lo que le permite utilizar las
capacidades particulares del lenguaje, simplificando significativamente su
manejo para programadores expertos en Java. Se basa en el procesamiento de
un documento XML y la construccin de un rbol. Una vez construido el rbol
se puede acceder directamente a cualquiera de sus componentes.

JAXP(Java API for XML Processing) permite procesar


tanto el estndar DOM como el estndar SAX. Este
API est diseado para ser flexible y uniformar el
desarrollo de aplicaciones Java con Xml. Adems,
proporciona una capa intermedia que nos permite
usar cualquier analizador XML compatible dentro de
nuestra aplicacin, reduciendo el acoplamiento de
los coponentes de la aplicacin con la
implementacin del analizador.

Emplear las librerasJiXB, JAXBoXMLBeanspara vincular los documentos XML


con objetos Java

UsandoJiBX, JAXB o XMLBeanspodemos vincular datos en XML con objetos


Java. Con cualquiera de las tres libreras podemos, o partir de un esquema XML
generar cdigo Java. Se recomienda utilizar una de estas tres libreras para la
vinculacin de los documentos XML con los objetos Java.

Paraleer un fichero XMLexisten dos formas bsicas (dos APIs):SAXyDOM.

Por medio deSAX, una clase standard de java se va encargando de leer el


fichero y nos va avisando segn va leyendo tags deXML. Nosotros debemos
hacer unas clases con unos mtodos concretos que son los que van recibiendo
estos tags.

Por medio deDOM, una clase standar de java se encarga de leer todo el
ficheroXMLde golpe. Luego nos lo da en forma deDocumentpara que
nosotros lo vayamos analizando y haciendo lo que debamos con l.

CREACIN
DE
ARCHIVOS XML EN JAVA

DECLARACIN DE UN XML

La declaracin XML que se puede escribir al principio de un


documento XML, empieza con los caracteres "<?" y termina con "?
>" al igual que lasinstrucciones de procesamiento. Sin embargo,la
declaracin XML no es una instruccin de procesamiento (o
proceso).
En un documento XML, una instruccin de procesamiento
(processing instruction) sirve para indicar cierta informacin
al programa que procese dicho documento. Las instrucciones
de proceso se escriben empezando con la pareja de caracteres
"<?" y finalizando con "?>".

<?xml version="1.0" encoding="UTF-8"?>


En esta declaracin XML, se est indicando que 1.0 es la versin de XML
utilizada en el documento y UTF-8 (8-bit Unicode Transformation Format,
Formato de Transformacin Unicode de 8 bits) es la codificacin de
caracteres empleada.
En un documento XML no es obligatorio que aparezca la declaracin
XML.Ahora bien, si se incluye, tiene que aparecer en la primera lnea del
documento, y el carcter "<" debe ser el primero de dicha lnea, es decir,
antes no pueden aparecer espacios en blanco.

<?xml-stylesheet type="text/css" href="estilo-animales.css"?>

También podría gustarte