CONTENIDO
INTRODUCCIN
INTRODUCCION - XML
JDOM
EJEMPLO
QUE ES XML?
XML (Extensible Markup Language)
es un lenguaje de etiquetas, es decir, cada paquete de informacin est delimitado por dos etiquetas
XML separa el contenido de la
HTML <H1>Mateo</H1>
presentacin(dato+informacin)
XML no es slo un lenguaje, es una
XML <Nombre>Mateo</Nombre>
QUE ES XML?
Cualquiera puede desarrollar su
propio lenguaje de etiquetas adecuado al tipo de aplicacin que ms le convenga. Hay muchas tecnologas basadas en XML (XPath, XLink, XPointer, XSL, ...).
No pertenece a ninguna compaa XML es texto para estructurar
datos(persistencia)
datos(persistencia) Estndar para el intercambio de datos entre aplicaciones en Internet independiente del formato de almacenamiento de los mismos Hoy en dia muchas aplicaciones requieren el almacenamiento de datos XML
XML- Componentes
Los documentos XML constan de:
Instrucciones de
procesamiento (processing
instructions PI)
Elementos
Comentarios
Referencias a entidades Secciones CDATA
INSTRUCIONES PROC
REF. A ENTIDADES
XML- GRAMATICA
DTD (Document Type Definitions)
La gramtica que restringe los elementos vlidos dentro de un nuevo derivado de XML puede expresarse en forma de:
*Define de la construccin del xml. *Permiten definir qu significa exactamente cada una de las marcas. *Permitre disear modelos jerarquicos *Describe el contenido en forma precisa y evita repeticiones.
XML Schemas *Schema vence las limitaciones de los DTDs *Schema, permite definir estructuras mas complejas que en los DTDs *Se puede definir tipos de datos especficos, por
ejemplo no slo NMTOKEN , #PCDATA o CDATA.
*XML Schema, se puede manipular de manera sencilla via VBScript o en Pginas ASP o JSP.
documento aparte con extensin .XSD En los documentos XML que se basen en ese esquema, incluiremos una referencia al archivo .XSD
Zottola Pareja Darwin Rodrigo Ing. en Computacin - UNT 2012 Argentina
aquellos que cumplen las reglas sintcticas de XML Vlidos: son aquellos que, adems de ser bien formados, siguen las reglas de una gramtica (definida en un DTD o XML Schema)
Debe tener una etiqueta raz Las etiquetas se hallan correctamente anidadas Se usan caracteres vlidos y bien aplicados
Los valores de los atributos vienen encerrados entre comillas Una etiqueta de apertura siempre tiene su contraparte de cierre con /
10
(JAXP)
Java API for XML/Java Binding
(JAXB)
Long Term JavaBeans Persistence Java API for XML Messaging
(JAXM)
Java API for XML RPC (JAX RPC) Java API for XML Registry (JAXR)
11
12
memoria, pero no necesitan las capacidades de manipulacin de rboles Procesar slo los datos que son vlidos Convertir los datos en diferentes tipos Generar clases basadas en un DTD Construir representaciones de objetos de datos XML.
datos XML
13
14
XML- PARSING
15
16
QUE ES JDOM ?
JAVA + XML = JDOM Es una librera de codigo abierto creada para la
manipulacion de archivos XML y optimizada para java.(posee licencia Apache(2000) ) Modelo de programacin para representar datos en xml Modelo similar a DOM pero no esta hecho o modelado en base al mismo. Lo mejor de Ambos mundos-
API sencillo de usar Modelo de acceso aleatorio como DOM Aprovecha las ventajas de Sax Utiliza Clases y no interfaces
17
JDOM - FILOSOFIA
Poder ser directamente reconocido y asimilado por cualquier programador JAVA Utilizar las ventajas del poder del lenguaje java (method overloading, collections, reflection) Ocultar lo complejo del lenjuage XML lo mayor posible
Integrarse de manera eficiente con SAX y
DOM
Zottola Pareja Darwin Rodrigo Ing. en Computacin - UNT 2012 Argentina
18
org.jdom.output
org.jdom.adapters org.jdom.transform
Zottola Pareja Darwin Rodrigo Ing. en Computacin - UNT 2012 Argentina
19
JDOM - CLASES
org.jdom Package
Attribute
CDATA Comment DocType
org.jdom.transform Package
JDOMSource JDOMResult
Document
Element EntityRef Namespace
ProcessingInstruction
Text
org.jdom.Document
Pueden ser creados desde cero :
21
22
23
reemplazados con es () mtodos como isExpandEntities () Para los mtodos obsoletos booleanas / constructores, XMLReaderJDOMFactory usa XMLReaders.DTDVALIDATION o XMLReaders.NOVALIDATION
Para los constructores de String en desuso, usa
XMLReaderSAX2Factory
24
chequea la estructura del Arbol: No de haber lazos Solamente un root Consistencia en los espacios de nombres
25
JDOM - ATRIBUTOS
Todo elemento puede tener atributos:
<table width="100%" border="0"> </table> // Obtener un atributo String width = table.getAttributeValue("width"); int border = table.getAttribute("width") .getIntValue(); // agregar un Atributo table.setAttribute("vspace", "0"); // Borrar un atributo o todos ellos table.removeAttribute("vspace");
table.getAttributes().clear();
Zottola Pareja Darwin Rodrigo Ing. en Computacin - UNT 2012 Argentina
26
JDOM 2 - AttributeType
En la enumeracin JDOM2 AttributeType nueva contiene todos
los tipos de atributos mismas 1.x JDOM, pero son valores enumerados, no ints. Adems, la clase atributo tiene constantes referencias que los miembros de la enumeracin AttributeType.
// JDOM2 example same as JDOM 1.x
27
28
29
ProcessingInstruction ,y EntityRef
Zottola Pareja Darwin Rodrigo Ing. en Computacin - UNT 2012 Argentina
30
//Moving
Element movable = new Element("movable"); parent1.addContent(movable); // place parent1.removeContent(movable); // remove parent2.addContent(movable); // add
31
Formato y FormatStack . Aplicar formato a la salida - Walker . Escapar de la salida apropiadamente - EscapeStrategy Gestin del proceso de produccin, y la entrega de la salida al destino - OutputProcessor *
33
JDOM - NAMESPACE
JDOM soporta namespace en forma nativa.
<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml <xhtml:title>Home Page</xhtml:title> </xhtml:html> Namespace xhtml = Namespace.getNamespace( "xhtml", "http://www.w3.org/1999/xhtml"); List kids = html.getChildren("title", xhtml); Element kid = html.getChild("title", xhtml); kid.addContent(new Element("table", xhtml));
34
35
CONCLUSIONES
JDOM es una Liberia de codigo abierto optimizada para java y la
36
37