- Welcome to the Apache XML Project
- Xerces: XML parsers in Java and C++ (plus Perl and COM)
- Xalan: XSL stylesheet processors in Java & C++
- AxKit: XML-based web publishing in mod_perl
- FOP: XSL Formatting Object processor in Java
- Apache Forrest: Standards-based documentation framework
- SOAP: Simple Object Access Protocol
- Crimson: A Java XML parser derived from the Sun Project X Parser
- XML-Security: providing security functionality for XML data
- Xindice: A native XML database
- XML Commons: focussed on common code and guidelines for xml projects
- XMLBeans: XML-Java binding tool
- Anyone Can Participate
Welcome to the Apache XML Project
The goals of the Apache XML Project (part of The Apache Software Foundation) are:
- to provide commercial-quality standards-based XML solutions that are developed in an open and cooperative fashion,
- to provide feedback to standards bodies (such as IETF and W3C) from an implementation perspective, and
- to be a focus for XML-related activities within Apache projects
The Apache XML Project currently consists of the following sub- projects, each focused on a different aspect of XML:
- Xerces - XML parsers in Java, C++ (with Perl and COM bindings)
- Xalan - XSLT stylesheet processors, in Java and C++
- AxKit - XML-based web publishing, in mod_perl
- FOP - XSL formatting objects, in Java
- Forrest - XML/XSLT-based framework for project documentation and website development, based on Cocoon
- SOAP - Simple Object Access Protocol
- Batik - A Java based toolkit for Scalable Vector Graphics (SVG)
- Crimson - A Java XML parser derived from the Sun Project X Parser.
- XML Security - Java and C++ implementations of the XML signature and encryption standards
- Xindice - A native XML database.
- XML Commons - focussed on common code and guidelines for xml projects
- XMLBeans - XML-Java binding tool with 100% support of XML Schema.
Xerces: XML parsers in Java and C++ (plus Perl and COM)
Xerces (named after the Xerces Blue butterfly) provides world-class XML parsing and generation. Fully-validating parsers are available for both Java and C++, implementing the W3C XML and DOM (Level 1 and 2) standards, as well as the de facto SAX (version 2) standard. The parsers are highly modular and configurable. Initial support for XML Schema (draft W3C standard) is also provided.
A Perl wrapper is provided for the C++ version of Xerces, which allows access to a fully validating DOM XML parser from Perl. It also provides for full access to Unicode strings, since Unicode is a key part of the XML standard.
A COM wrapper (also for Xerces-C) provides compatibility with the Microsoft MSXML parser.
Xalan: XSL stylesheet processors in Java & C++
Xalan (named after a rare musical instrument) provides high-performance XSLT stylesheet processing. Xalan fully implements the W3C XSLT and XPath recommendations. The stylesheet processor is feature-rich and robust. The XPath Processor is useable as a stand-alone unit. Xalan uses the Bean Scripting Framework (BSF) to implement Java and script extensions, features EXSLT extensions, nodeset extension, multiple document output extensions and SQL extension.
Xalan is currently available in Java, and C++.
AxKit: XML-based web publishing in mod_perl
AxKit brings the power of XML web publishing and dynamic XML based applications to the Apache web server using the mod_perl framework and the Apache C API to combine the power of XML with the performance of a native Apache solution.
FOP: XSL Formatting Object processor in Java
FOP is the world's first print formatter driven by XSL formatting objects. It is a Java 1.2 application that reads a formatting object tree and then turns it into a PDF document. The formatting object tree, can be in the form of an XML document (output by an XSLT engine like Xalan) or can be passed in memory as a DOM Document or (in the case of Xalan) SAX events.
Apache Forrest: Standards-based documentation framework
Apache Forrest is an XML standards-oriented documentation framework based upon Apache Cocoon, providing XSLT stylesheets and schemas, images and other resources. Forrest uses these to render the source content into a website via command-line, robot, or dynamic application. Apache Forrest is the system used to generate this site (xml.apache.org).
SOAP: Simple Object Access Protocol
The Apache Soap project is an implementation of the draft W3C protocol by the same name. It is based on, and supersedes, the IBM SOAP4J implementation.
From the draft W3C specification: SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses.
Crimson: A Java XML parser derived from the Sun Project X Parser
The source code for Crimson is available under the xml-crimson CVS module. Please visit the Crimson pages for more information.
XML-Security: providing security functionality for XML data
XML-Security is a collection of Java and C++ libraries that provide security functionality for XML data. Both libraries provide an implementation of the W3C XML Digital Signature standards, and implementations of the W3C XML Encryption standard are currently being developed.
Xindice: A native XML database
Apache Xindice is a database designed from the ground up to store XML data or what is more commonly referred to as a native XML database.
XML Commons: focussed on common code and guidelines for xml projects
The first focus will be to organize and have common packaging for the various externally-defined standards code relating to XML - things like the DOM, SAX, and JAXP interfaces.
As the xml-commons community forms, we also hope to serve as a holding area for other common xml-related utilities and code, and to help promulgate common packaging, testing, documentation, and other guidelines across all xml.apache.org subprojects.
XMLBeans: XML-Java binding tool
XMLBeans is a tool that allows you to access the full power of XML in a Java friendly way. The idea is that you can take advantage the richness and features of XML and XML Schema and have these features mapped as naturally as possible to the equivalent Java language and typing constructs. XMLBeans uses XML Schema to compile Java interfaces and classes that you can then use to access and modify XML instance data. Using XMLBeans is similar to using any other Java interface/class, you will see things like getFoo or setFoo just as you would expect when working with Java. While a major use of XMLBeans is to access your XML instance data with strongly typed Java classes there are also API's that allow you access to the full XML infoset (XMLBeans keeps full XML Infoset fidelity) as well as to allow you to reflect into the XML schema itself through an XML Schema Object model.
Anyone Can Participate
The xml.apache.org Project is composed of developers from all around the world, both individuals and engineers from major corporations. All interested developers are welcome to join and participate. Learn more about how to get involved.