Tema 3. XML 
Processing APIs 
Web Services 6. 
Tema 3. XML Processing APIs 12/02/2013 
1
Índice 
1. JAXP 
1.1 SAX 2 
1.2 DOM 2 
1.3 XSLT 
1.4 StAX 
2. JAXB 
2.1 XML-to-Java 
2.2 Java-to-XML 
2.3 SAAJ 
Tema 3. XM...
3.1. JAXP 
Introducción 
• Java API for XML Processing (JAXP) se utiliza para el 
procesamiento de datos XML. 
• Utiliza 
...
3.1.1 SAX 
Introducción 
• Arquitectura basada en eventos. 
• Un analizador SAX lee un XML como un flujo de datos. 
• Segú...
3.1.1 SAX 
Eventos I 
• startDocument() 
• Evento producido al empezar el documento. 
• endDocument() 
• Evento producido ...
3.1.1 SAX 
Eventos y II 
• endElement(String uri, String localName, String qName) 
• Finaliza la lectura de un elemento 
•...
3.1.1 SAX 
Como parsear un XML con SAX. 
XMLReader reader = XMLReaderFactory.createXMLReader(); 
ContentHandler handler = ...
3.1.2 DOM 
Introducción 
• Conjunto de clases e interfaces que modela XML como un 
árbol de objetos(nodos). 
• Cuando DOM ...
3.1.2 DOM 
Elementos 
• Cada elemento en el documento XML se representa mediante 
una instancia de tipo Element. 
• Cada u...
• Utiliza DocumentBuilderFactory y DocumentBuilder. 
• Estas clases proporcionan abstracciones para los parseadores 
DOM y...
3.1.2 DOM 
Como parsear un XML (II) 
DocumentBuilder builder factory.newDocumentBuilder = (); 
DOMImplementation domImpl b...
• Tipo de dato primario de DOM. 
• Representa un nodo en el árbol del documento 
• Posee estas constantes que indican el t...
3.1.2 DOM 
La interfaz Node. Métodos. (I) 
• Métodos que dependen del tipo de nodo 
• getNodeType (): Nos indica el tipo d...
• Metodos de nombres XML 
• Sólo se asignan nombres XML a los tipos Element y Attr. 
• getLocalName() 
• getNamespaceURI 
...
• Metodos para navegar 
• getParent(): devueleve el padre de un elemento. Puede ser otro 
elemento o, en el caso del eleme...
• Metidos de gestión de hijos. 
• appendChild() agrega un nodo al final de la lista de hijos de un 
Node. 
• insertBefore(...
• API de parseo por “pull” del flujo XML, orientada a 
eventos, capaz de leer y escribir XML. 
• “pull” significa que es l...
• Representa un cursor con el que se puede recorrer un documento XML. 
• Siempre se mueve hacia adelante, nunca hacia atrá...
• Representa un flujo de un documento XML como un 
conjunto discreto de eventos. 
• Estos eventos son lanzados por el pars...
• Cosas que se pueden hacer con iterator y no con cursor: 
• Los objetos creados a partir de las subclases XMLEvent son 
i...
• Define 
• una gramática: hojas estilo XSLT 
• reglas de procesado para el mapeo de documentos en un formato 
a documento...
Comparativa 
Feature StAX SAX DOM 
API Type Pull, streaming Push, streaming In memory tree 
Ease of Use High Medium High 
...
• Mapear XML a objetos y cargarlos en memoria 
• Este mapeo se realiza de acuerdo a un esquema. 
• Generar clases que repr...
• Crear/Leer/Modificar XML 
• Validar entradas de usuario basado en las restricciones 
impuestas en un XML schema. 
Tema 3...
• Dado un Schema “hello.xsd” 
• Ejecutamos comando xjc –p hello hello.xsd -p para 
indicar el directorio de destino hello ...
• Clases generadas 
Tema 3. XML Processing APIs 12/02/2013 
26 
3.1.4 JAXB 
HELLO WORLD
• Usar las clases y obtener resultado 
Tema 3. XML Processing APIs 12/02/2013 
27 
3.1.4 JAXB 
HELLO WORLD
• Con las anotaciones defines el XML Schema 
Tema 3. XML Processing APIs 12/02/2013 
28 
3.1.4 JAXB 
EJEMPLO CON ANOTACION...
• Objeto a XML 
Tema 3. XML Processing APIs 12/02/2013 
29 
3.1.4 JAXB 
EJEMPLO CON ANOTACIONES
• XML a Objeto 
Tema 3. XML Processing APIs 12/02/2013 
30 
3.1.4 JAXB 
EJEMPLO CON ANOTACIONES
Tema 3. XML Processing APIs 12/02/2013 
31 
3.1.4 JAXB 
EJEMPLO CON ANOTACIONES
Tema 3. XML Processing APIs 12/02/2013 
32 
3.1.4 JAXB 
SAAJ 
• API que permite la construcción y lectura de mensajes SOAP...
Tema 3. XML Processing APIs 12/02/2013 
33 
3.1.4 JAXB 
SAAJ -Mensaje SOAP sin adjuntos
Tema 3. XML Processing APIs 12/02/2013 
34 
3.1.4 JAXB 
SAAJ -Mensaje SOAP con adjuntos
Tema 3. XML Processing APIs 12/02/2013 
35 
3.1.4 JAXB 
SAAJ - CREANDO UN MENSAJE SOAP 
• CLASE: javax.xml.soap.MessageFac...
Tema 3. XML Processing APIs 12/02/2013 
36 
3.1.4 JAXB 
SAAJ - CREANDO UN MENSAJE SOAP 
• CLASE: javax.xml.soap.MessageFac...
Tema 3. XML Processing APIs 12/02/2013 
37 
3.1.4 JAXB 
SAAJ - CREANDO UN MENSAJE SOAP 
• Añadir elemento al Body del mens...
Tema 3. XML Processing APIs 12/02/2013 
38 
3.1.4 JAXB 
SAAJ - CREANDO UNA CONEXIÓN PARA EL 
MENSAJE SOAP 
connection.clos...
Tema 3. XML Processing APIs 12/02/2013 
39 
3.1.4 JAXB 
SAAJ - CREANDO UN MENSAJE SOAP 
• Añadir elemento al Body del mens...
Tema 3. XML Processing APIs 12/02/2013 
40 
3.1.4 JAXB 
SAAJ - AÑADIENDO ADJUNTOS AL MENSAJE 
SOAP 
• Se puede añadir cual...
Tema 3. XML Processing APIs 12/02/2013 
41 
3.1.4 JAXB 
Referencias 
• Referencias: 
• JAXB 
• http://docs.oracle.com/java...
Preguntas 
Tema 3. Stateful Session Beans 13/03/12 
42 
XSLT
Preguntas 
Tema 3. Stateful Session Beans 13/03/12 
43 
DOM
Preguntas 
Tema 3. Stateful Session Beans 13/03/12 
44 
SAX
Preguntas 
Tema 3. Stateful Session Beans 13/03/12 
45 
TRUE
Preguntas 
Tema 3. Stateful Session Beans 13/03/12 
Short 
Int 
46
Preguntas 
Tema 3. Stateful Session Beans 13/03/12 
XMLGregorianCalendar 
XMLGregorianCalendar 
Object 
47
Preguntas 
Tema 3. Stateful Session Beans 13/03/12 
48 
JAXB
Preguntas 
Tema 3. Stateful Session Beans 13/03/12 
49 
TRUE
Preguntas 
Tema 3. Stateful Session Beans 13/03/12 
50 
TRUE
Preguntas 
Tema 3. Stateful Session Beans 13/03/12 
51 
TRUE
Preguntas 
Tema 3. Stateful Session Beans 13/03/12 
52 
TRUE
Tema 3. Stateful Session Beans 13/03/12 
53
Próxima SlideShare
Cargando en…5
×

Tema 3 xml processing ap is

247 visualizaciones

Publicado el

Tema 3 WS

Publicado en: Tecnología
0 comentarios
2 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
247
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
0
Comentarios
0
Recomendaciones
2
Insertados 0
No insertados

No hay notas en la diapositiva.

Tema 3 xml processing ap is

  1. 1. Tema 3. XML Processing APIs Web Services 6. Tema 3. XML Processing APIs 12/02/2013 1
  2. 2. Índice 1. JAXP 1.1 SAX 2 1.2 DOM 2 1.3 XSLT 1.4 StAX 2. JAXB 2.1 XML-to-Java 2.2 Java-to-XML 2.3 SAAJ Tema 3. XML Processing APIs 12/02/2013 2
  3. 3. 3.1. JAXP Introducción • Java API for XML Processing (JAXP) se utiliza para el procesamiento de datos XML. • Utiliza • SAX (Simple API for) • DOM (Document Object Model • Compatilbe con el estándar eXtensible Stylesheet Language Transformations (XSLT) • proporciona soporte para namespaces -> DTDs • A partir de la versión 1.4, implementa el estándar Streaming API for XML (StAX). Tema 3. XML Processing APIs 12/02/2013 3
  4. 4. 3.1.1 SAX Introducción • Arquitectura basada en eventos. • Un analizador SAX lee un XML como un flujo de datos. • Según va leyendo envía eventos a un objeto de una clase que implemente la interfaz SAX. • Utiliza varias interfaces, como ContentHandler Tema 3. XML Processing APIs 12/02/2013 4
  5. 5. 3.1.1 SAX Eventos I • startDocument() • Evento producido al empezar el documento. • endDocument() • Evento producido al finalizar el documento. • startPrefixMapping(String prefix, String uri) • Empieza la lectura de un prefijo. • endPrefixMapping(String prefix) • Finaliza la lectura de un prefijo. • startElement(String uri, String localName, String qName, Attributes atts) • Empieza la lectura de un elemento. Los parámetros que recibe son: • uri: URI del espacio de nombres al que pertenece el elemento. • localName: nombre del elemento sin el prefijo. • qName : nombre completo del elemento, es decir, el prefijo más el localName. • atts: conjunto de atributos del elemento. Tema 3. XML Processing APIs 12/02/2013 5
  6. 6. 3.1.1 SAX Eventos y II • endElement(String uri, String localName, String qName) • Finaliza la lectura de un elemento • characters(char[] ch, int start, int length) • Lectura del contenido de un elemento. Recibe un array de chars con una posición inicial y la longitud. • ignorableWhitespace(char[] ch, int start, int length) • Evento lanzado cuando se leen un character en blanco que se puede ignorar • processingInstruction(String target, String data) • Evento lanzado al procesar una instrucción • skippedEntity(String name) Tema 3. XML Processing APIs 12/02/2013 • Tiene lugar en algunos analizadores que se saltan las entidades cuando no están validando, pero es difícil encontrar casos así. 6
  7. 7. 3.1.1 SAX Como parsear un XML con SAX. XMLReader reader = XMLReaderFactory.createXMLReader(); ContentHandler handler = new MiHandler(); reader.setContentHandler(handler); reader.parse(ARCHIVO_XML); Tema 3. XML Processing APIs 12/02/2013 7
  8. 8. 3.1.2 DOM Introducción • Conjunto de clases e interfaces que modela XML como un árbol de objetos(nodos). • Cuando DOM analiza un documento XML, lee el contenido y construye un grafo de objetos que refleja la estructura del XML. Tema 3. XML Processing APIs 12/02/2013 8
  9. 9. 3.1.2 DOM Elementos • Cada elemento en el documento XML se representa mediante una instancia de tipo Element. • Cada uno de los componentes XML tiene su correspondiente tipo DOM. Su supertipo común es la interfaz org.w3c.dom.Node. • atributos - Attr • comentarios – Comment • texto - Text, secciones CDATA a CDATASection, y así sucesivament • Cuando un parseador DOM procesa un documento XML con éxito, devuelve un objeto org.w3c.dom.Document. • Document proporciona acceso al elemento raíz, que a su vez da acceso a todos los elementos Tema 3. XML Processing APIs 12/02/2013 9
  10. 10. • Utiliza DocumentBuilderFactory y DocumentBuilder. • Estas clases proporcionan abstracciones para los parseadores DOM y cómo proporcionarles documentos XML. • DocumentBuilderFactory es una factoría utilizada para crear parseadores DOM. • devuelve una instancia de DocumentBuilder, que representa el parseador, mediante su método el DocumentBuilderFactory.newInstance(). • En el caso de querer crear un documento utilizamos DOMImplementation,. • Se obtiene con DocumentBuilder • Prepara el nuevo Document con el nombre cualificado y el espacio de nombres XML del Element raíz. Tema 3. XML Processing APIs 12/02/2013 10 3.1.2 DOM Como parsear un XML (I)
  11. 11. 3.1.2 DOM Como parsear un XML (II) DocumentBuilder builder factory.newDocumentBuilder = (); DOMImplementation domImpl builder.getDOMImplementation = (); Documento xmlDoc domImpl.createDocument = (SOAP_NS, "soap: Envelope", null); Element root = xmlDoc.getDocumentElement(); • Una vez obtenido root podemos empezar a añadirle otros elementos. Tema 3. XML Processing APIs 12/02/2013 11
  12. 12. • Tipo de dato primario de DOM. • Representa un nodo en el árbol del documento • Posee estas constantes que indican el tipo de nodo: • public static final short ATTRIBUTE_NODE; • public static final short CDATA_SECTION_NODE; • public static final short COMMENT_NODE; • public static final short DOCUMENT_FRAGMENT_NODE; • public static final short DOCUMENT_NODE; • public static final short DOCUMENT_TYPE_NODE; • public static final short ELEMENT_NODE; • public static final short ENTITY_NODE; • public static final short ENTITY_REFERENCE_NODE; • public static final short NOTATION_NODE; • public static final short PROCESSING_INSTRUCTION_NODE; Tema 3. XML Processing APIs 12/02/2013 12 3.1.2 DOM La interfaz Node
  13. 13. 3.1.2 DOM La interfaz Node. Métodos. (I) • Métodos que dependen del tipo de nodo • getNodeType (): Nos indica el tipo de nodo. • Node.getNodeName() y Node.getNodeValue(): Nos devuelven diferentes valores en función de la siguiente tabla. Tema 3. XML Processing APIs 12/02/2013 13 Interface nodeName nodeValue Attr name of attribute value of attribute CDATASection "#cdata-section" content of the CDATA Section Comment "#comment" content of the comment Document "#document" null DocumentFragment "#document-fragment" null DocumentType document type name null Element tag name null Entity entity name null EntityReference name of entity referenced null Notation notation name null ProcessingInstructio n target entire content excluding the target Text "#text" content of the text node
  14. 14. • Metodos de nombres XML • Sólo se asignan nombres XML a los tipos Element y Attr. • getLocalName() • getNamespaceURI • getPrefix() • setPrefix() • Métodos para los atributos • hasAttributes(): devuelve true si el nodo tiene atributos. solo los nodos Element devolverán true; el resto false. • getAttributes(): devuelve un mapa de los atributos de un elemento específico, junto con sus valores Tema 3. XML Processing APIs 12/02/2013 14 3.1.2 DOM La interfaz Node. Métodos. (II)
  15. 15. • Metodos para navegar • getParent(): devueleve el padre de un elemento. Puede ser otro elemento o, en el caso del elemento raíz, un documento. • getPreviousSibling() o getNextSibling(): devuelve el hermano anterior o siguiente. (Nodos que comparten padre) • getChildNodes(): devuelve la lista de nodos hijos en un NodeList. • getLastChild(): devuelve el ultimo hijo • getFirstChild().: devuelve el primer hijo. Tema 3. XML Processing APIs 12/02/2013 15 3.1.2 DOM La interfaz Node. Métodos. (III)
  16. 16. • Metidos de gestión de hijos. • appendChild() agrega un nodo al final de la lista de hijos de un Node. • insertBefore(): inserta un nuevo nodo en la lista de hijos justo antes del hermano designado. • removeChild() elimina el nodo del árbol • replaceNodes() reemplaza un nodo a otro. • no se puede asignar a un objeto de otro documento. • No son visibles en el árbol, pero son todavía propiedad del mismo documento. Tema 3. XML Processing APIs 12/02/2013 16 3.1.2 DOM La interfaz Node. Métodos. (IV)
  17. 17. • API de parseo por “pull” del flujo XML, orientada a eventos, capaz de leer y escribir XML. • “pull” significa que es la clase manejador (handle) llama al parseador, y no al revés. En otras palabras, el manejador de "tira" de los eventos XML del analizador. • Se puede detener el análisis en cualquier momento. • StAX es más simple que SAX y también tiene una gestión de memoria más eficiente que DOM. • Stax se combina de dos APIs diferentes: API cursor y API iterator. Tema 3. XML Processing APIs 12/02/2013 17 3.1.3 StAX Introducción.
  18. 18. • Representa un cursor con el que se puede recorrer un documento XML. • Siempre se mueve hacia adelante, nunca hacia atrás. • Utiliza XMLStreamReader y XMLStreamWriter. • XMLStreamReader incluye métodos para acceder a toda la información posible del XML public interface XMLStreamReader { public int next() throws XMLStreamException; public boolean hasNext() throws XMLStreamException; public String getText(); public String getLocalName(); public String getNamespaceURI(); // ... other methods not shown } • XMLStreamWriter public interface XMLStreamWriter { public void writeStartElement(String localName) throws XMLStreamException; public void writeEndElement() throws XMLStreamException; public void writeCharacters(String text) throws XMLStreamException; // ... other methods not shown } • La API cursor tiene cierto parecido con SAX. • dispone de métodos para acceder directamente al flujo de caracteres. • Los métodos de la API devolven información XML como string, lo que minimiza los requisitos de memoria. Tema 3. XML Processing APIs 12/02/2013 18 CURSOR API 3.1.3 StAX API Cursor
  19. 19. • Representa un flujo de un documento XML como un conjunto discreto de eventos. • Estos eventos son lanzados por el parseador en el orden en que se leen del XML. • El evento base se denomina XMLEvent, existiendo subinterfaces para cada tipo de evento. • XMLEventReader: XMLEventReader contiene cinco métodos, el más importante es nextEvent(). implementa java.util.Iterator • XMLEventWriter. Implementa java.util.Iterator. Tema 3. XML Processing APIs 12/02/2013 19 3.1.3 StAX API Iterator
  20. 20. • Cosas que se pueden hacer con iterator y no con cursor: • Los objetos creados a partir de las subclases XMLEvent son inmutables, y pueden ser utilizados en arrays, listas y mapas, y puede transmitirse a través de la aplicación, incluso después de que el parser haya azanzado a eventos posteriores. • Se puede crear subtipos de XMLEvent que, o sean completamente nuevos, o ampliaciones de elementos existentes, pero con métodos adicionales. • Se puede agregar y quitar eventos de una secuencia de eventos XML de una manera mucho más simple que con la API cursor. • Recomendaciones generales • Si el rendimiento es una prioridad importante, la API cursor es más eficiente. • Si desea crear flujos de procesamiento de XML, utilice la API iterator. • Si desea modificar la secuencia de eventos, utilice la API iterator. • En general se recomienda utilizar la API de iterator porque es más flexible y extensible. Tema 3. XML Processing APIs 12/02/2013 20 3.1.3 StAX Comparativa
  21. 21. • Define • una gramática: hojas estilo XSLT • reglas de procesado para el mapeo de documentos en un formato a documentos en otro formato. • Lo importante de XSLT es quedarnos con que permite la escritura de datos XML en un archivo, convertir datos XML a otros formatos y, junto con SAX, la conversión de los datos heredados a XML. Tema 3. XML Processing APIs 12/02/2013 21 3.1.4 XSLT Introducción
  22. 22. Comparativa Feature StAX SAX DOM API Type Pull, streaming Push, streaming In memory tree Ease of Use High Medium High XPath Capability No No Yes CPU and Memory Efficiency Good Good Varies Forward Only Yes Yes No Read XML Yes Yes Yes Write XML Yes No Yes Create, Read, Update, Delete No No Yes Tema 3. XML Processing APIs 12/02/2013 22
  23. 23. • Mapear XML a objetos y cargarlos en memoria • Este mapeo se realiza de acuerdo a un esquema. • Generar clases que representan elementos de un XML • Desarrolladores no tienen que escribir los objetos • Básicamente nos permite realizar las operaciones que se muestran a continuación: • Con JAXB ya no tenemos que aprender lo que nos ha explicado Chema de SAX y DOM. Lo siento Chema!! Tema 3. XML Processing APIs 12/02/2013 23 3.1.4 JAXB ¿XML BINDING?
  24. 24. • Crear/Leer/Modificar XML • Validar entradas de usuario basado en las restricciones impuestas en un XML schema. Tema 3. XML Processing APIs 12/02/2013 24 3.1.4 JAXB CASOS DE USO
  25. 25. • Dado un Schema “hello.xsd” • Ejecutamos comando xjc –p hello hello.xsd -p para indicar el directorio de destino hello Tema 3. XML Processing APIs 12/02/2013 25 3.1.4 JAXB HELLO WORLD
  26. 26. • Clases generadas Tema 3. XML Processing APIs 12/02/2013 26 3.1.4 JAXB HELLO WORLD
  27. 27. • Usar las clases y obtener resultado Tema 3. XML Processing APIs 12/02/2013 27 3.1.4 JAXB HELLO WORLD
  28. 28. • Con las anotaciones defines el XML Schema Tema 3. XML Processing APIs 12/02/2013 28 3.1.4 JAXB EJEMPLO CON ANOTACIONES
  29. 29. • Objeto a XML Tema 3. XML Processing APIs 12/02/2013 29 3.1.4 JAXB EJEMPLO CON ANOTACIONES
  30. 30. • XML a Objeto Tema 3. XML Processing APIs 12/02/2013 30 3.1.4 JAXB EJEMPLO CON ANOTACIONES
  31. 31. Tema 3. XML Processing APIs 12/02/2013 31 3.1.4 JAXB EJEMPLO CON ANOTACIONES
  32. 32. Tema 3. XML Processing APIs 12/02/2013 32 3.1.4 JAXB SAAJ • API que permite la construcción y lectura de mensajes SOAP • Es una API de más bajo nivel que JAX-RPC y JAX-WS • Permite el envío de adjuntos en el mensaje SOAP. Una imagen jpg por ejemplo.
  33. 33. Tema 3. XML Processing APIs 12/02/2013 33 3.1.4 JAXB SAAJ -Mensaje SOAP sin adjuntos
  34. 34. Tema 3. XML Processing APIs 12/02/2013 34 3.1.4 JAXB SAAJ -Mensaje SOAP con adjuntos
  35. 35. Tema 3. XML Processing APIs 12/02/2013 35 3.1.4 JAXB SAAJ - CREANDO UN MENSAJE SOAP • CLASE: javax.xml.soap.MessageFactory • Resultado: • Acceder a los elementos del mensaje • A través del objeto SOAPEnvelope(javax.xml.soap) • A través del objeto SOAPMessage
  36. 36. Tema 3. XML Processing APIs 12/02/2013 36 3.1.4 JAXB SAAJ - CREANDO UN MENSAJE SOAP • CLASE: javax.xml.soap.MessageFactory • Resultado: • Acceder a los elementos del mensaje • A través del objeto SOAPEnvelope(javax.xml.soap) • A través del objeto SOAPMessage
  37. 37. Tema 3. XML Processing APIs 12/02/2013 37 3.1.4 JAXB SAAJ - CREANDO UN MENSAJE SOAP • Añadir elemento al Body del mensaje • Resultado:
  38. 38. Tema 3. XML Processing APIs 12/02/2013 38 3.1.4 JAXB SAAJ - CREANDO UNA CONEXIÓN PARA EL MENSAJE SOAP connection.close(); • Recuperar el mensaje while (iterator.hasNext()) { SOAPBodyElement bodyElement =(SOAPBodyElement)iterator.next(); String lastPrice = bodyElement.getValue(); System.out.print("The last price for SUNW is "); System.out.println(lastPrice); }
  39. 39. Tema 3. XML Processing APIs 12/02/2013 39 3.1.4 JAXB SAAJ - CREANDO UN MENSAJE SOAP • Añadir elemento al Body del mensaje • Resultado:
  40. 40. Tema 3. XML Processing APIs 12/02/2013 40 3.1.4 JAXB SAAJ - AÑADIENDO ADJUNTOS AL MENSAJE SOAP • Se puede añadir cualquier contenido • Añadiendo una imagen:
  41. 41. Tema 3. XML Processing APIs 12/02/2013 41 3.1.4 JAXB Referencias • Referencias: • JAXB • http://docs.oracle.com/javase/tutorial/jaxb/intro/index.html • http://jaxb.java.net/tutorial/ • http://javapapers.com/jee/jaxb-tutorial • SAAJ • http://docs.oracle.com/cd/E19575-01/819-3669/bnbhr/index.html • http://oreilly.com/catalog/javawsian/chapter/ch03.pdf
  42. 42. Preguntas Tema 3. Stateful Session Beans 13/03/12 42 XSLT
  43. 43. Preguntas Tema 3. Stateful Session Beans 13/03/12 43 DOM
  44. 44. Preguntas Tema 3. Stateful Session Beans 13/03/12 44 SAX
  45. 45. Preguntas Tema 3. Stateful Session Beans 13/03/12 45 TRUE
  46. 46. Preguntas Tema 3. Stateful Session Beans 13/03/12 Short Int 46
  47. 47. Preguntas Tema 3. Stateful Session Beans 13/03/12 XMLGregorianCalendar XMLGregorianCalendar Object 47
  48. 48. Preguntas Tema 3. Stateful Session Beans 13/03/12 48 JAXB
  49. 49. Preguntas Tema 3. Stateful Session Beans 13/03/12 49 TRUE
  50. 50. Preguntas Tema 3. Stateful Session Beans 13/03/12 50 TRUE
  51. 51. Preguntas Tema 3. Stateful Session Beans 13/03/12 51 TRUE
  52. 52. Preguntas Tema 3. Stateful Session Beans 13/03/12 52 TRUE
  53. 53. Tema 3. Stateful Session Beans 13/03/12 53

×