Welcome to xml-commons (original) (raw)

Overview

xml-commons is 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.

Commons Guidelines

As the community forms, we need to formalize these guidelines, especially to differentiate "requirements" from suggested "guidelines".

Shane's starting proposals:

xml-commons is an unusual project in several ways.

First, it encompasses two kinds of code: External and Apache.

Secondly, xml-commons mainly focuses on providing code and services to other xml.apache.org projects instead of shipping it's own 'standalone' project.

Third, it will also tend to be more focussed on smaller, interoperable modules of code and a very high degree of stability.

In some ways, the forming of xml-commons is the seed of a catalyst to improve cross-project coordination throughout xml.apache.org. One potential goal is to get all xml.apache.org projects to take their xml standards oriented code - like DOM, SAX and JAXP - from specific marked builds of xml-commons, instead of each project using different versions of these files.

External code: xml-commons will serve as an Apache-controlled copy of externally-defined standards-based files. This way, we can try to manage common versions of these important xml standards-based files and interfaces. Read more.

Apache code: xml-commons will serve as a shared repository for common xml-oriented utilities or building blocks that several other xml.apache.org projects wish to use. The first example is org.apache.env.Which, and environment checking utility that scans your environment and reports common versions of xml-related files. The next likely submission is an entity resolver that could be plugged into any xml parsing, transforming, or processing project. Read more.

Directory tree (proposed)

Fixme (open)

This needs to be updated to reflect the current tree. It also needs to go into a section of its own or perhaps a separate document.

xml-commons/ README.html - this file build.xml - overall build file for top-level items xdocs/ - top-level xml format docs about this project itself and our guidelines (in whatever format xml.apache.org uses for site)

docs/ - (not checked in) html format docs created by 'build docs' from xdocs
java/ - root of all java-related files

    external/ - src root of all source files in java that come from external sources
        for example: the DOM, SAX, and JAXP files
        org/xml/sax/*
        org/w3c/dom/*
        javax/xml/*
    external/build.xml - Ant build file for all external sources

    xdocs/ - xml format docs describing any java files, as needed

    {name}.xml - Ant build file for Apache-defined subproject(s)
        future: resolver.xml: for Norm Walsh's entity resolver submission, when done

    src/ - root of Apache-defined Java code
        src/org/apache/... etc

    which.xml - Ant build file for org.apache.env.Which utility


c/ - root of all C/C++ related files
    external/ - root of all externally-owned C/C++ sources

perl/ - root of all Perl related files
    etc.

External code: DOM, SAX, and JAXP, etc.

xml-commons primary goal is to provide Apache projects with a stable version of XMl-related externally-defined standards-based code. This is mainly the various interfaces that you use when programming XML from JAVA: DOM, SAX and JAXP for now.

This tree is rooted at xml-commons/java/external, and has a build.xml file. Basic documentation from each external project is also checked in.

Issues Jan-02: our current SAX and JAXP code may not pass the current J2EE CTS test suite, since we have bugfixes above what those CTS tests mandate. If you don't know what that is, you don't care; otherwise ask on commons-dev for an update.

Apache-authored code

xml-commons' secondary goal is to provide a project space for small XML-related utilities that are being used in multiple other xml.apache.org projects. In an effort to simplify and reduce dependency headaches, we'll probably accept new projects only fairly slowly (this is in contrast to the much more openjakarta-commons project). In particular, code submitted here should probably have minimal dependencies: possibly only depending on DOM/SAX/JAXP and Ant (for builds).

Where can I download releases?

The xml-commons-resolver-1.0 release 12-Nov-02 is available in ourdistribution directoryand includes:

The xml-commons-1.0.b2 release 06-Feb-02 is available in ourdistribution directoryand includes:

The xml-commons-1.0.b1 release 11-Jan-02 is available in ourdistribution directoryand includes the following code:

Future 'b' or beta releases leading up to a gold 1.0 release will be discussed on our mailing list. Likely releases might address points such as:

Building from local sources

If you have done 'svn checkout xml-commons' (see below) then you have local sources of all components and all documentation sources. There is a high-level build file that will also call the other sub-build files for each component. Just do 'ant -projecthelp' to get started.

The documentation for the xml-commons project is built using Apache Forrest. If you have Forrest installed then just type 'forrest' in the top-level xml-commons directory. Otherwise see theApache XML Commons website documentation.

How can I find out more?

We have a project mailing list ... xml-commons-devxerces.apache.org ... Ask your questions or bring your suggestions there, or to generalxerces.apache.org

To help you keep up with the changes to the repository, subscribe to ... commitsxerces.apache.org

Where can I get the source code?

The xml-commons source code is available through theASF Subversion repositoryorbrowse. SeeSVN overview. xml-commons source code is also now available on Xerces-J's following GitGub repos branch locations : xml-commons-external, xml-commons-resolver. Any future code changes to xml-commons should now take place on these mentioned GitHub repos branches.

History

See the separate document History of XML Commonsfor the proposal to establish the xml-commons project and for the record of the vote on 2001-04-26.

Licenses