All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xerces-2_12_0.docs.faq-contributing.xml Maven / Gradle / Ivy

Go to download

Xerces2 is the next generation of high performance, fully compliant XML parsers in the Apache Xerces family. This new version of Xerces introduces the Xerces Native Interface (XNI), a complete framework for building parser components and configurations that is extremely modular and easy to program. The Apache Xerces2 parser is the reference implementation of XNI but other parser components, configurations, and parsers can be written using the Xerces Native Interface. For complete design and implementation documents, refer to the XNI Manual. Xerces2 is a fully conforming XML Schema 1.0 processor. A partial experimental implementation of the XML Schema 1.1 Structures and Datatypes Working Drafts (December 2009) and an experimental implementation of the XML Schema Definition Language (XSD): Component Designators (SCD) Candidate Recommendation (January 2010) are provided for evaluation. For more information, refer to the XML Schema page. Xerces2 also provides a complete implementation of the Document Object Model Level 3 Core and Load/Save W3C Recommendations and provides a complete implementation of the XML Inclusions (XInclude) W3C Recommendation. It also provides support for OASIS XML Catalogs v1.1. Xerces2 is able to parse documents written according to the XML 1.1 Recommendation, except that it does not yet provide an option to enable normalization checking as described in section 2.13 of this specification. It also handles namespaces according to the XML Namespaces 1.1 Recommendation, and will correctly serialize XML 1.1 documents if the DOM level 3 load/save APIs are in use.

The newest version!
<?xml version='1.0' encoding='UTF-8'?>
<!--
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
-->
<!DOCTYPE faqs SYSTEM 'dtd/faqs.dtd'>
<faqs title='FAQs for Developers and Prospective Contributors'>
    <faq title="Submitting Patches">
    <q>I have a problem and I think I know how to fix it.  How can I
        communicate my ideas to the Xerces team?
    </q>
    <a>
        <p>To maximize the probability that your ideas will grab the
        attention of one of the Xerces developers who knows about the
        area of the parser you're concerned with, you should follow
        these steps:
    </p>
    <ol>
        <li>Check out and build the most recent Xerces code.  For
            instructions on how to do this, see the <link idref="source-repository">
            Source Repository</link> page. If you do this, you can confirm that your
            bug still exists and has not been fixed since the last
            release.
        </li>
        <li>
            Write up your bug report.  Include a description of your
            system (JDK level and vendor, platform and classpath
            contents) as well as sufficient code to reproduce the
            problem.  This code might involve XML documents,
            accompanying grammars, and the code you are using to
            invoke the parser or use its APIs.
        </li>
        <li>
            Describe why your solution works.
        </li>
        <li>
            Prepare a patch to fix Xerces code.  To do this, when you
            have applied your changes to a local copy of the most
            recent xerces source code, do <code>svn diff
            file</code> for each file you&apos;ve changed.
        </li>
        <li>
            Zip (or tar) up your patches.  If you send them in the
            body of a message or bug report they are very difficult to
            apply.
        </li>
        <li>
            Submit a bug report on <jump
            href="http://issues.apache.org/jira">JIRA</jump>
            (remembering to attach your patches and test code)
            or, if you think your patch might need some discussion,
            post it to the <jump href="http://xml.apache.org/mail.html#xerces-j-dev">[email protected]</jump> list.
        </li>
    </ol>
    </a>
    </faq>
    <faq title="Release Preparation">
    <q>I am a recent committer.  It has fallen to my lot to prepare a Xerces-J
        release; how do I do this?
    </q>
    <a>
        <p>You're in luck--it isn&apos;t at all difficult.  Just
            follow these steps and you&apos;ll be done in no time:
        </p>
        <ol> 
        <li>Ensure that the API code has been properly refreshed.
        That is, make sure that <code>tools/xml-apis.jar</code>
        and <code>tools/xml-apis--src.zip</code> reflect the
        state of the branch of xml-commons that contains the API
        set to which the parser must conform.  At the time of
        writing (September 2, 2007) this was the main
        <code>trunk</code>.
        </li>
        <li>Change the following files:<br/>
            <code>build.xml</code>
                (that is, change the <code>parser.Version</code>,
                <code>parser.version</code>, and 
                <code>parser_version</code> properties as appropriate for the
                release).<br/>  
            <code>docs/releases.xml</code> 
                (contributors should have updated this file as significant 
                changes/patches were applied, but the release manager should verify that 
                nothing has slipped through.
                Also, the release manager should attempt to ensure that appropriate
                credit has been given for contributions).
        </li>
        <li>Tag the release in SVN
            (tags for releases usually have the form Xerces-J_x_y_z
            where x.y.z is the Xerces-J release number)
            You should also tag the current branch of xml-commons
            containing the APIs that the parser needs to conform
            to; see step 1 above.
        </li>
        <li>Do a test build and regression test run;
            i.e., <code>build test</code> at a bare minimum.
            In general, apply as many test suites (OASIS XML
                tests, W3C DOM and Schema tests etc.) as are
                available, particularly with a view to preventing
                regressions since the previous release.
        </li>
        <li>Do the final build based on that tag:<br/>
            windows build to produce <code>.zip</code>
                packages<br/>
            unix build (on a unix machine to make sure no 0x0d's
                appear in documentation of <code>.tar.gz</code>
                packages.  Beware to do the build from within
                X-windows to avoid problems with StyleBook on the
                command-line!
        </li>
        <li>zip and tar the tools directory</li> 
        <li>
            Generate PGP/GNUPG signatures for dist binaries:<br/>
            That is, add public key to the SVN <code>KEYS</code> file if necessary
            and make sure public key is on a key server or two.
        </li>
        <li>Upload the binaries and signatures to the dist section of
            the website</li>
        <li>Update
            <code>/www/xml.apache.org/dist/xerces-j/.htaccess</code>, 
            which directs the user to the most recent release.  Take
            care to move old packages to the <code>old_xerces</code>
            directory so that the package listing is manageable.  
        </li>
        <li>Prepare release e-mail -- be sure to give contributors
            credit for their work</li>
        <li>Send the release e-mail to the xerces-j lists, [email protected] and, 
            if it&apos;s a big enough release, [email protected] and 
            [email protected]
        </li>
        <li>JIRA:<br/>
            Firstly, create new release.  Then,
            remove oldest release (if we are up-to 6
                releases).
        </li>
        <li>Website:<br/>
            Upload generated docs directory to minotaur (until this process 
                matures and becomes SVN-based).
            Commit <code>/www/xerces.apache.org/xerces2-j</code> to SVN;
               i.e., update the xml-site module.
        </li>
        </ol>
    </a>
    </faq>
</faqs>





© 2015 - 2025 Weber Informatics LLC | Privacy Policy