|
XML se está convirtiendo en el formato de representación estándar para intercambio y verificación de datos, configuración, interacción RDBMS, invocación de procedimientos remotos y representación de procesos de transformación. En todos estos campos el lenguaje Java proporciona las interfaces y herramientas de programación necesarias para gobernar los mecanismos subyacentes. La intersección entre los lenguajes Java y XML es muy amplia y el conocimiento necesario para combinarlos eficazmente no deja de aumentar de día en día.
Este libro es un recurso fundamental para los programadores de Java que trabajen con XML. Proporciona la referencia de las API estándar y muestra ejemplos y técnicas que necesitan los programadores de Java con relativa experiencia para conocer y desarrollar las aplicaciones XML.
El objetivo de Java y XML es proporcionar una herramienta de referencia rápida a los programadores de Java que trabajen con XML sobre las interfaces, herramientas y técnicas de programación que precisan utilizar en el curso de la escritura de aplicaciones adaptadas al XML.
ÍNDICE
Acerca de los autores
Mohammad Akif
Steven Brodhead
Andrei Cioroianu
James Hart
Eric Jung
Dave Writz
Introducción
¿Para quién es este libro?
Temas tratados en este libro
¿Como está estructurado el libro?
¿Qué es necesario utilizar con este libro?
Convenciones
Código
Muestra
Salida
Soporte al cliente
Erratas
Listas P2P
Soporte vía e-mail
Díganos qué opina
Capítulo 1: XML mediante ejemplos
Organizaciones XML
Análisis de XML
API Simple para XML (SAX)
SAX 1.0
SAX 2.0
DOM
Manipulación de errores
¿SAX o DOM?
JAXP
TrAX
JDOM
Otras técnicas de análisis
Espacios de nombres
El prefijo del espacio de nombres
El espacio de nombres predeterminado
Ejemplo
Namespace.java
namespace.xml
Salida
Transformación
Ejemplo
TrAXUtil.java
supportticket.xml
supportticket.xsl
Salida
Instrucciones de procesamiento
Ejemplo
MailPI.java
mailpi.xml
Salida
Codificación de caracteres
Ejemplo
Fuente Encoding.java
Salida
La DTD y las entidades
Ejemplo
mixedbooks.xml
mixedbooks.dtd
anotherdtd.dtd
anotherbook.xml
comment.xml
Salida
Espacios de nombres y DTD
El Esquema XML
Ejemplo
Muestra de supportticket.xsd
Fuente SchemaParserXerces.java
Salida
Resumen
Informes técnicos del W3C
Recursos en la web
Listas
Capítulo 2: SAX 2.0
Uso de SAX
Ejemplo inicial de SAX
Código FirstSample.java
Muestra first.xml
Salida
Paquete org.xml.sax
Manipulación de atributos
Manipulación de errores
Análisis
Excepciones
Clase InputSource
Constructores
Métodos
Código InputSourceUtils.java
Interfaz Locator
Métodos
Excepción SAXException
Constructores
Métodos
Excepción SAXParseException
Constructores
Métodos
Interfaz ErrorHandler
Métodos
Código PrintErrorHandler.java
Interfaz Attributes
Métodos
Código AttributesUtils.java
Interfaz AttributeList
Métodos
Interfaz ContentHandler
Método setDocumentLocator()
Métodos startDocument() y endDocument()
Métodos startPrefixMapping() y endPrefixMapping()
Métodos startElement() y endElement()
Métodos characters() e ignorableWhitespace()
Método processingInstruction()
Método skippedEntity()
Código SmartContentHandler.java
Interfaz desaprobada DocumentHandler
Método setDocumentLocator()
Métodos startDocument() y endDocument()
Métodos startElement() y endElement()
Recepción de datos de caracteres
Método processingInstruction()
Interfaz DTDHandler
Métodos
Código TableDTDHandler.java
Interfaz SAXNotRecognizedException
Constructor
Interfaz SAXNotSupportedException
Constructor
Interfaz XMLReader
Métodos para obtener y establecer características y propiedades
Métodos setDTDHandler() y getDTDHandler()
Métodos setContentHandler() y getContentHandler()
Métodos setErrorHandler() y getErrorHandler()
Métodos parse()
Muestra invoice.ent
Entidades no analizadas
Muestra invoice.dtd
Muestra invoice.xml
Muestra XMLReaderSample.java
Salida
Interfaz XMLFilter
Métodos
Interfaz desaprobada Parser
Método setLocale()
Método setEntityResolver()
Método setDTDHandler()
Método setDocumentHandler()
Método setErrorHandler()
Métodos parse()
Interfaz EntityResolver
Métodos
Código ClasspathEntityResolver.java
Clase HandlerBase
Constructor
Métodos definidos por org.xml.sax.EntityResolver
Métodos definidos por org.xml.sax.DTDHandler
Métodos definidos por org.xml.sax.DocumentHandler
Métodos definidos por org.xml.sax.ErrorHandler
Paquete org.xml.sax.ext
Interfaz HandlerBase
Método elementDecl()
Método attributeDecl()
Método internalEntityDecl()
Método externalEntityDecl()
Código DeclHandlerSample.java
Salida
Interfaz LexicalHandler
Métodos startDTD() y endDTD()
Métodos startEntity() y endEntity()
Métodos startCDATA() y endCDATA()
Método comment()
Código LexicalHandlerSample.java
Salida
Paquete org.xml.sax.helpers
Clase NamespaceSupport
Campos
Constructor
Métodos
Código invoice_ns.dtd
Código invoice_ns.xml
Salida
Clase LocatorImpl
Constructores
Métodos
Métodos definidos por org.xml.sax.Locator
Clase AttributesImpl
Constructores
Métodos
Métodos definidos por org.xml.sax.Attributes
Clase desaprobada AttributeListImpl
Constructores
Métodos
Métodos definidos por org.xml.sax.AttributeList
Clase DefaultHandler
Constructor
Métodos definidos por org.xml.sax.EntityResolver
Métodos definidos por org.xml.sax.DTDHandler
Métodos definidos por org.xml.sax.ContentHandler
Métodos definidos por org.xml.sax.ErrorHandler
Código DefaultHandlerCode.java
Código DefaultHandlerProxy.java
Clase desaprobada ParserFactory
Métodos
Clase ParserAdapter
Constructores
Métodos definidos por org.xml.sax.XMLReader
Métodos definidos por org.xml.sax.DocumentHandler
Clase XMLReaderFactory
Métodos
Clase XMLReaderAdapter
Constructores
Métodos definidos por org.xml.sax.Parser
Métodos definidos por org.xml.sax.ContentHandler
Clase XMLFilterImpl
Constructores
Métodos para establecer y obtener características y propiedades
Métodos setEntityResolver() y getEntityResolver()
Métodos setDTDHandler() y getDTDHandler()
Métodos setContentHandler() y getContentHandler()
Métodos setErrorHandler() y getErrorHandler()
Métodos parse()
Métodos definidos por org.xml.sax.XMLFilter
Métodos definidos por org.xml.sax.EntityResolver
Métodos definidos por org.xml.sax.DTDHandler
Métodos definidos por org.xml.sax.ContentHandler
Métodos definidos por org.xml.sax.ErrorHandler
Resumen
Capítulo 3: Núcleo DOM
Uso de DOM
Ejemplo inicial de DOM
Código DOMPrinter.java
Muestra nodes.xml
Salida
Paquete org.w3c.dom
Interfaz Node
Subinterfaces Node
CharacterData
Miscelánea
Excepción DOMException
Campos
Constructor
Interfaz Node
Campos
Métodos para obtener las propiedades del nodo
Métodos para obtener el documento propietario, padre, hermanos, hijos y atributos del nodo
Métodos para insertar, añadir, reemplazar y eliminar nodos hijo
Clonación de nodos
El método normalize()
El método isSupported()
Interfaz NodeList
Métodos
Interfaz NamedNodeMap
Métodos
Interfaz Notation
Métodos
Interfaz Entity
Métodos
Interfaz EntityReference
Interfaz DocumentType
Métodos
Código DoctypeSample.java
Muestra doctype.ent
Muestra doctype.dtd
Muestra doctype.xml
Salida
Interfaz CharacterData
Métodos
Código DataUtils.java
Código DataSample.java
Muestra data.xml
Salida
Interfaz Text
Métodos
Interfaz CDATASection
Interfaz Comment
Interfaz Element
Método getTagName()
Métodos para establecer, obtener y eliminar atributos
Obtención de elementos por nombre de etiqueta
Código ElementUtils.java
Código ElementSample.java
Muestra element.xml
Salida
Interfaz Attr
Métodos
Código AttrUtils.java
Código AttrSample.java
Muestra attr.xml
Salida
Interfaz ProcessingInstruction
Métodos
Interfaz DocumentFragment
Interfaz Document
Obtención de DocumentType
Obtención del elemento documento
Obtención de elementos por nombre de etiqueta
Obtención de elemento por identificador
Creación de elementos
Creación de atributos
Creación de nodos de texto, secciones CDATA y comentarios
Método createEntityReference()
Creación de una instrucción de procesamiento
Creación de un fragmento de documento
Importación de un nodo
Método getImplementation()
Salida
Interfaz DOMIplementation
Método hasFeature()
Creación de tipos de documento
Creación de objetos documento XML
Núcleo DOM Nivel 3
Resumen
Capítulo 4: Extensiones del DOM
Paquete org.w3c.dom.views
Interfaces
Interfaz AbstractView
Método getDocument()
Interfaz DocumentView
Método getDefaultView()
Paquete org.w3c.dom.events
Modelo de sucesos DOM
Interfaces
Excepciones
Excepción EventException
Campos
Constructor
Interfaz Event
Campos
Métodos para obtener las propiedades de Event
Método stopPropagation()
Método preventDefault()
Método initEvent()
Interfaz MutationEvent
Campos
Métodos para obtener las propiedades de MutationEvent
Método initMutationEvent()
Interfaz UIEvent
Métodos para obtener las propiedades de UIEvent
Método initUIEvent()
Interfaz MouseEvent
Métodos para obtener las propiedades de MouseEvent
Método initMouseEvent()
Interfaz EventListener
Método handleEvent()
Código PrintEventListener.java
Interfaz EventTarget
Métodos para añadir y eliminar sistemas de escucha
Método dispatchEvent()
Código EventsSample.java
Salida
Interfaz DocumentEvent
Método createEvent()
Sucesos en DOM Nivel 3
Interfaces
Paquete org.w3c.traversal
Interfaces
Interfaz NodeFilter
Campos
Método acceptNode()
Código FilterFactory.java
Interfaz NodeIterator
Métodos para obtener las propiedades de NodeIterator
Métodos nextNode() y previousNode()
Método detach()
Código NodeIteratorSample.java
Muestra iterator.xml
Salida
Interfaz TreeWalker
Métodos para obtener las propiedades de TreeWalker
Metodos para establecer y obtener el nodo actual
Método parentNode()
Métodos firstChild() y lastChild()
Métodos previousSibling() y nextSibling()
Métodos previousNode() y nextNode
Código TreeWalkerSample.java
Muestra walker.xml
Salida
Interfaz DocumentTraversal
Método createNodeIterator()
Método createTreeWalker()
Paquete org.w3c.dom.range
Interfaces
Excepciones
Excepción RangeException
Campos
Constructor
Interfaz Range
Campos
Métodos setStart() y setEnd()
Métodos setStartBefore() y setEndBefore()
Métodos setStartAfter() y setEndAfter()
Métodos getStartContainer y getEndContainer()
Métodos getStartOffset() y getEndOffset()
Método getCommonAncestorContainer()
Método compareBoundaryPoints()
Métodos collapse() y getCollapsed()
Métodos selectNode() y selectNodeContents()
Método InsertNode()
Método surroundContents()
Método extractContents()
Método deleteContents()
Método cloneContents()
Método cloneRange()
Método detach()
Método toString()
Código RangesSample.java
Muestra ranges.xml
Salida
Interfaz DocumentRange
Método createRange()
Resumen
Capítulo 5: JAXP 1.1
Paquete javax.xml.parsers
Excepciones y errores
Error FactoryConfigurationError
Constructores
Métodos
Excepción ParserConfigurationException
Constructores
Clase SAXParserFactory
Constructor
Método newInstance()
Métodos para establecer y obtener propiedades
Método newSAXParser()
Clase SAXParser
Constructor
Métodos getXMLReader() y getParser()
Métodos para establecer y obtener propiedades
Métodos para analizar
Código SAXValidator.java
Muestra invalid.xml
Salida
Clase DocumentBuilderFactory
Constructor
Método newInstance()
Métodos para establecer y obtener propiedades
Método newDocumentBuilder()
Clase DocumentBuilder
Constructor
Métodos para establecer y obtener propiedades
Método setEntityResolver()
Método setErrorHandler()
Método getDOMImplementation()
Método newDocument()
Métodos para analizar
Código DOMPrinter.java
Paquete javax.xml.transform
Transformación
Utilidades
Excepciones y errores
Interfaz Source
Métodos
Interfaz Result
Campos
Métodos
Interfaz SourceLocator
Métodos
Error TransformerFactoryConfigurationError
Constructores
Métodos
Excepción TransformerException
Constructores
Métodos
Excepción TransformerConfigurationException
Constructores
Interfaz URIResolver
Método resolve()
Interfaz ErrorListener
Métodos
Código PrintErrorListener.java
Clase OutputKeys
Campos
Clase TransformerFactory
Constructor
Método newInstance()
Métodos para establecer y obtener propiedades
Métodos setURIResolver() y getURIResolver
Métodos setErrorListener() y getErrorListener()
Método newTransformer()
Método newTemplates()
Código SerializationSample.java
Salida saved.xml
Clase Transformer
Constructor
Métodos para establecer y obtener propiedades
Métodos setURIResolver() y getURIResolver()
Métodos setErrorListener() y getErrorListener()
Método transform()
Código TransformationSample.java
Muestra invoice.dtd
Muestra invoice.xml
Muestra invoice.xsl
Salida invoice.html
Interfaz Templates
Método getOutputProperties()
Método newTransformer()
Código ChainedTransformationSample.java
Muestra sorter.xsl
Salida
Salida sorted.html
Paquete javax.xml.transform.stream
Clases
Clase StreamSource
Campos
Constructores
Métodos
Métodos definidos por javax.xml.transform.Source
Clase StreamResult
Campos
Constructores
Métodos
Métodos definidos por javax.xml.transform.Result
Paquete javax.xml.transform.sax
Interfaces
Clases
Clase SAXSource
Campos
Constructores
Métodos para establecer y obtener propiedades
Métodos
Métodos definidos por javax.xml.transform.Source
Clase SAXResult
Campos
Constructores
Métodos
Métodos definidos por javax.xml.transform.Result
Interfaz TemplatesHandler
Métodos
Interfaz TransformerHandler
Métodos
Clase SAXTransformerFactory
Campos
Constructor
Método newTransformerHandler()
Método newTemplatesHandler()
Métodos newXMLFilter
Paquete javax.xml.transform.dom
Interfaces
Clases
Clase DOMSource
Campos
Constructores
Métodos
Métodos definidos por javax.xml.transform.Source
Clase DOMResult
Campos
Constructores
Métodos
Métodos definidos por javax.xml.transform.Result
Interfaz DOMLocator
Método getOriginatingNode()
Resumen
Capítulo 6: Ejemplos JDOM
|