Acerca de los autores
Mohammad Akif
Steven Brodhead
Andrei Cioroianu
James Hart
Eric Jung
Dave WritzIntroducció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
Ejemplos
Uso de JDOM
Código JDOMPrinter.java
Muestra nodes.xml
Salida
Código ElementUtils.java
Código ElementsSample.java
Muestra element.xml
Salida
Código DataUtils.java
Código Data.java
Muestra data.xml
Salida
Código CreationSample.java
Salida
Salida created.xml
Código FilteringSample.java
Muestra filtering.xml
Salida
Resumen
Capítulo 7: Oracle XDK
Cómo obtener el Oracle XDK
Los componentes del XDK
Herramientas relacionadas con el analizador de XML
XSU: Utilidad SQL XML
XSQL Pages y Servlet
Generador de clases XML Oracle para Java
Versiones del XDK y diferencias
Soporte a JDOM (Beta 6)
Temas de ruta de clases
Indicios de problemas en la ruta de clases
El Núcleo XML Parser
Clase XMLParser
Métodos de análisis
Validación
Métodos SAX
Clase SAXParser
Métodos SAX
Uso de SAX con el XDK
Código Xdk.SAX.java
Clase DOMParser
Código XdkDOM.java
Extensiones XPath del XDK para DOM
Métodos relacionados con XPath en la clase XMLNode
Clase XMLNode
Métodos relacionados con XPath
Métodos de extensión XPath
Código XpathDemo.java
Muestra classifiedAds.xml
Ejemplo expresión: /ClassifiedAds//category
Ejemplo expresión: /ClassifiedAds/category
Ejemplo expresión: /ClassifiedAds/category[@type='Rentals']
Validación de esquema XML y el XDK
Código XdkXSchema.java
Uso de JDOM (beta 6) con el XDK
Código XdkJDOM.java
Traducción XSL tradicional
Un ejemplo XSL
Muestra findAds.xsl
Prueba del ejemplo XSL XDK
Utilidad SQL XML (XSU)
Instalación
Conexiones JDBC
Uso de la línea de comandos
OracleXML getXML
OracleXML putXML
Base de datos Oracle de ejemplo
Ejemplo de línea de comandos XSU
Uso de programa Java
Clase OracleXMLQuery
Construtores
Métodos de obtención seleccionados
Código ListEmployeesXML.java
Dar formato a la salida - Añadir extensiones XSL
Declaración de extensiones XSL
Una clase de extensión para rellenar cadenas
XSQL Pages
Instalación
Instalación de XSQL con Tomcat 4.0
Configuración de la utilidad xsql.bat
Conexiones JDBC y XSQLConfig.xml
Uso de navegador de XSQL Pages
Uso de línea de comandos de XSQL Pages
Línea de comandos XSQL Pages
Uso de XSQL Pages y Servlet desde programas Java
Clase XSQLRequest
Construtores
Métodos seleccionados
Código JavaXSQL.java
Temas de rendimiento y escalabilidad
Trabajo por lotes y tamaño máximo de los lotes
Cómo enfocar los problemas de escala
Utilice hardware adecuado
Utilice muchos servidores baratos en configuración de cluster
Prototipos y puntos de partida
Cómo evitar las transformaciones XSL
No ignore los enfoques heredados no XML
Resumen
Capítulo 8: Herramientas XML Apache
Xerces
Código SParser.java
Muestra result1.xml
Sample result.dtd
Muestra result2.xml
Código DParser.java
Configuración de características
Características de validación
Codificación Java
Manipulación de errores
Características DOM
Características SAX
Configuración de propiedades
Propiedades de analizador DOM
Propiedades de analizador SAX
Apache SOAP
Descarga e instalación de Apache SOAP
Configuración de SOAP
Llamadas de procedimiento remoto a través de HTTP
Código DistanceConverter.java
Despliegue remoto
Escritura del cliente convertidor de distancias
RPC sobre SMTP
Axis
Xalan: Procesador de hojas de estilos XSL
Xalan-Java
Arquitectura y diseño
Ejemplo con puntuaciones de estudiantes
Código SearchRecords.java
Código TransformStudentSSN.java
Muestra de hoja de estilos
Salida
Configuración de propiedades
Uso de la utilidad de línea de comandos
Resumen
Capítulo 9: Herramientas de servicios Web de IBM
Estándares de los servicios web
Fabricantes y servicios web
El Web Services Toolkit
El kit de herramientas WSDL
Sintaxis WSDL
Sintaxis WSDL
Atributos
Elementos hijo
Atributos
Elementos hijo
Esquema
Archivo WSDL
Elementos hijo
Atributos
Elementos hijo
Atributos
Atributos
Elementos hijo
(dentro de )
Atributos
Elementos hijo
y