Java XML & JAX*

  • Java Web Services at Sun
    Web services are Web based applications that use open, XML-based standards and transport protocols to exchange data with clients.
  • The J2EE 1.4 Tutorial
    For Sun Java System Application Server Platform Edition 8.2, by Eric Armstrong et al., December 2005, Sun Microsystems.
    J2EE 1.4 Tutorial PDF.
    Chapter 2: Understanding XML, Chapter 4: Java API for XML Processing (XAJP), Chapter 5: Simple API for XML (SAX), Chapter 6: Document Object Model (DOM), Chapter 7: Extensible Stylesheet Language Transformations (XSL, XSLT, XPath).
  • JAXP Referece Implementation
    The JAXP Reference Implementation project is part of Project GlassFish and is in the JWSDP subcommunity on Web Services and XML at java.net. This project develops and evolves the code base for the reference implementation of the JAXP specification. The current code base supports JAXP 1.3 and 1.4 and the project will track future versions of the JAXP specifications.
  • XML Parser Benchmarks: Part 1
    Article by Matthias Farwick, Michael Hafner. 2007-05-10. O'Reilly XML.com.
    Tested Event-Driven Parsers: LIBXML2 Stream Pull-Parser + SAX-like 2.6.27 (C), Java 1.5 Default SAX (Java), Woodstox StAX Pull-Parser 3.1.0 (Java), Sun SJSXP StAX Pull-Parser 1.0-b26 [shipped with the Java 6 SDK] (Java), BEA StAX implementation 1.1.2 (Java), Javolution StAX-like implementation 4.0 (Java), Oracle StAX implementation XDK 10.1.0.1 (Java).
    XML Parser Benchmarks: Part 2, 2007-05-16. Tested Object Model Parsers: LIBXML2 Tree 2.6.27 (C), Java 1.5 Default DOM (Java), Apache AXIOM Java 1.1.2, C 0.96 (Java & C), DOM4J 1.6.1 (Java), JDOM 1.0 (Java), Oracle XDK DOM implementation (C).
  • XProc - XML Pipeline Processor
    This project is an XML Pipeline Processor, an implementation of XProc: An XML Pipeline Language defined by the XML Processing Model Working Group at the W3C.
  • Introduction to XML and XML With Java
    This small tutorial introduces you to the basic concepts of XML and DOM/SAX, using Xerces parser for Java to generate and parse XML.
  • Kohsuke Kawaguchi's Blog
    Kohsuke Kawaguchi is a staff engineer at Sun Microsystems. He has been working on XML and XML schema languages since 2001, in particular RELAX NG, W3C XML Schema, JAXB, and JAXP. He also hosts many projects on java.net.
  • A simple way to read an XML file in Java
    By Kiran Pai, India, at Developer Fusion. Uses JAXP DOM.
  • JAXB for simple Java-XML serialization
    By Teera, Sun, 2007-09-02. Uses JAXB.
  • What is the relationship between Xerces and JAXP?
    JAXP is a set of interfaces and Xerces is one of JAXP implementations. The Java API for XML Processing (JAXP) enables applications to parse and transform XML documents, using DOM, SAX, and XSLT.
    Xerces, by Apache XML Project, is a great and widely used implementation of the JAXP standard, as well as the current default JAXP parser. Sun recommends that all XML processing in Java should use the JAXP API, which in turn uses environment varibables to determine which parser implementation to use.
  • Streaming API for XML (StAX)
    Java Specification Request JSR-173.
  • Apache XML Project
    Apache XML Project goals commercial-quality standards-based XML solutions that are developed in an open and cooperative fashion, as well as provides feedback to standards bodies (such as IETF and W3C) from an implementation perspective.
    • Xerces: XML parsers in Java and C++ (plus Perl and COM wrappers), provide standard XML APIs implementations: Java API for XML Processing (JAXP), Document Object Model (DOM), Simple API for XML (SAX); besides internal Xerces Native Interface (XNI). Xerces2 Java (Xerces-J), Xerces C++, Xerces Perl (XML::Xerces).
    • Xalan: XSL stylesheet processors in Java & C++. Xalan-Java, Xalan C++.
    • FOP: XSL Formatting Object processor in Java.
    • Batik: Java toolkit for Scalable Vector Graphics (SVG).
    • AxKit, Forrest, Xindice.
  • Apache Commons - XML Components
    reusable Java components, part of Apache Commons project, for various uses dealing with XML.
    • Betwixt
      Services for mapping JavaBeans to XML documents, and vice versa.
    • Digester
      XML-to-Java-object mapping utility.
    • JXPath
      By Apache Jakarta Commons project - .
      The org.apache.commons.jxpath package defines a simple interpreter of an expression language called XPath. JXPath applies XPath expressions to graphs of objects of all kinds: JavaBeans, Maps, Servlet contexts, DOM etc, including mixtures thereof. XPath was standardized by W3C and is used in both XSLT and XPointer.
    • SCXML
      An implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine. It is capable of executing a state machine defined using a SCXML document, and abstracts out the environment interfaces.
    • Jelly
      XML based scripting and processing engine.
    • Configuration
      Reading of configuration/preferences files in various formats, including XML.
  • Simple Framework
    Simple XML configuration framework: a high performance XML serialization and configuration framework for Java. Supports Java SE 5 (StAX required) and 6. Free and open source under LGPL license.
  • Processing XML with Java
    By Elliotte Rusty Harold, 2001-2002. A complete tutorial about writing Java programs that read and write XML documents. This is the most comprehensive and up-to-date book about integrating XML with Java (and vice versa) you can buy. It contains over 1000 pages of detailed information on SAX, DOM, JDOM, JAXP, TrAX, XPath, XSLT, SOAP, and lots of other juicy acronyms.
  • The Castor Project
    Castor is an Open Source data binding framework for Java[tm]. It's the shortest path between Java objects, XML documents and relational tables. Castor provides Java-to-XML binding, Java-to-SQL persistence, and more.
  • Apache Cocoon
    Cocoon is a XML-based web development framework. Apache Lenya is a Java-based Open-Source Content Management System (CMS), built over Cocoon. They is based on open standards such as XML and XSLT.
  • Cocoon Center
    This site is intended to provide tutorials, how-to's, best practice guides and other information not covered by the official Cocoon documentation. It is directed mainly to new Cocoon users, but if you're working with Cocoon for some time you may find some useful information here, too.
  • JDOM
    JDOM Project mission is to build a complete, Java-based solution for accessing, manipulating, and outputting XML data from Java code. JDOM is currently a JCP especification proposal (JSR) for the official Java Platform. JDOM Project founders and managers: Jason Hunter (author of "Java Servlet Programming" and publisher of servlets.com) and Brett McLaughlin (author of "Java and XML" and publisher of newInstance.com).
  • dom4j: the flexible XML framework for Java
    dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP.
    SourceForge Project: dom4j.
  • Embedded Java and XML - MinML
    MinML2 is a small footprint namespace aware minimal XML parser with SAX2 support. Open source software available under a BSD style licence.
  • Piccolo XML Parser for Java
    Open source software project by Yuval Oren, at SourceForge.
  • xmltools: Adding Source Highlighting to XHTML
    xmltools is a simple utility for blending highighlighted source code with XHTML. It currently supports: Java, C/C++, Prolog, Perl, PHP, Python, flex, ChangeLog, Ruby. By Kyle F. Downey, Amber Archer Open Source.

Java Web Services (WS) & Sun WSDP

The Sun Java Web Services Developer Pack (WSDP) is a bunch of interfaces for XML use in Java (APIs), like JDBC is for database access.