Xerces Java Parser 1.4.4 installation

I tried to install Xerces because I process an XSLT stylesheet.
I installed the latest java 6.0.
In the xerces instructions it says to process these two command line instructions and the first one didn't work.
-- installing instructions----
cvs -d :pserver:[email protected]:/home/cvspublic
login
cvs -d :pserver:[email protected]:/home/cvspublic
checkout -d xerces1 -r xercesj1 xml-xerces
Maybe it doesn't know the path to unwrap Xerces? It is on my desktop.
In any case, I got the error message below:
----error msg----
Usage: cvs [cvs-options] command [command-options-and-arguments]
where cvs-options are -q, -n, etc.
(specify --help-options for a list of options)
where command is add, admin, etc.
(specify --help-commands for a list of commands
or --help-synonyms for a list of command synonyms)
where command-options-and-arguments depend on the specific command
(specify -H followed by a command name for command-specific help)
Specify --help to receive this message
The Concurrent Versions System (CVS) is a tool for version control.
For CVS updates and additional information, see
the CVS home page at http://www.cvshome.org/ or
Pascal Molli's CVS site at http://www.loria.fr/~molli/cvs-index.html
tcsh: [email protected]:/home/cvspublic: Command not found.
what should I do? thanks,

I couldn't figure out what is the difference between the jre 6.0 and the J2SE 5.0 which is already on my Mac. However I think the java works okay because I set the path environment variable and the javac command works.
path="/usr/mike/j2se5.0/bin:$PATH"
I still need to know how to install xerces.
thanks,

Similar Messages

  • Need Some help on Xerces c Parser installation

    Hi,
    I have downloaded Binary distribution of Xerces c parser for Solaris.Here we need to set the below path for the installation :
    export LD_LIBRARY_PATH=$XERCESCROOT/lib:$LD_LIBRARY_PATH (on Solaris, Linux)
    But there is no $XERCESCROOT in the extracted folder.SO do we need to define it?If so how to define it?
    With Regards,
    Karanth

    Hi
    When  you try to install crystal reports server XI R2, then you need to install designer additionally.
    By default we wont get developer version with crystal server.
    We need to get  a developer version and install it on the server machine.
    Here is the link to down load crystal reports XI R2 with trial version for 30 days.
    http://www.businessobjects.com/forms/datasave2.asp?c=cr_sp2
    If you have the valid license key then you can get the entire product.
    Also you can go with Server installation rather then client installation.
    In server installation you will get all  repository items will be installed like cmc,ccm,businessview manger, etc.
    Regards,
    Naveen.

  • Looking for a Java Parser

    Hi,
    I'm working on a Web Service Project, and i'm trying to deploy Web Services dynamically. Now the problem is, that i have to adapt the Java src-files sometimes before the deployment (Like adding Annotations, Methods or just peaces of code into a Method. So what i'm looking for is some Sort of a Java Parser, that gives me information on where to insert the code i generated.
    Simple example:
    public class WSExample{
         public void doSomething(){
              //do something
    //this class should be changed to something like this:
    public class WSExample{
         @WebMethod       //Annotation added
         public void doSomething(){
              //do something
            //this Method is generated automatically
            @WebMethod
            public void doSomethingDifferent{
                   //like establishing a connection to a different WS
    }All i've found up to now are parser generators like antlr or javacc. But i couldn't find anything about how to use the generated parsers or even manipulate the parsed code, yet. I hope i don't have to write a parser or grammar myself. Maybe someone can link me to some useful tutorial, forum or whatever else might be helpful.

    If you are using Sun's Java 1.4, you already have one. If you are using an ealier version, here are a couple of links:
    Xerces is probably the most feature rich:
    http://xml.apache.org/xerces2-j/index.html
    GNU JAXP is also good and very small:
    http://www.gnu.org/software/classpathx/jaxp/

  • Xerces C++ Parser Library

    Hello everybody. I want to learn two simple issues. If you answer, it will be very nice of you.
    1) I try to develop an application on a Sun workstation having a sparc processor. It runs SunOS 5.9. The IDE that I use is Sun ONE Studio 4 update 1 Enterprise Edition for Java (Build 020923) IDE/1
    spec=1.43.3.1 impl=020923. I use C++ programming language (with the relevant Compiler Collection of Sun). In order to parse XML files, I plan to use Xerces C++ Parser Library. Apache web site says that this library has been developed with Forte C++ Version 6 Update 2 on Solaris 2.7. Will I encounter any incompatibility problems?
    2) Which distribution of Xerces-C++ must I download? Binary or source...
    3) Apache web site ( http://xml.apache.org/xerces-c/build-winunix.html#UNIX ) says that "Xerces-C++ uses GNU tools like Autoconf and GNU Make to build the system." These tools are used to generate a Makefile to build a XML parser executable. But, Sun One Studio already has a tool to build Makefile. Do I really need to use those GNU tools?
    4) I've tried to build a Makefile for Xerces C++ applications. During building Makefile in "Directories to search for include files" window, I've added the directories which reside under /include/xercesc. In "Libraries (filenames and directories) to link with" window, I've added the files residing under lib directory which are libxerces-c.so, libxerces-c.so.25 and libxerces-c.so.25.0. But, at compile time I encounter errors, since I couldn't include the relevant .hpp files successfully.
    Thanks in advance & Regards

    The error message file lpxus.msg has a detailed explanation:
    00252, 00000, "invalid entity replacement-text nesting"
    // *Cause: Markup included from an entity must nest/group properly, that
    // is, open/close markup must occur within the same entity.
    // For example,
    // <!DOCTYPE doc [ <!ENTITY e "</foo><foo>"> ]>
    // <doc><foo>&e;</foo></doc>
    // Is invalid since foo's start-tag occurs in the top-level
    // document, but the close-tag is provided by the "e" entity.
    // Both start and end must be provided by the same source.
    // *Action: Stay away from tricky nonsense such as the above, it's
    // not permitted.
    null

  • Xerces SAX parser don`t initialize a characters array

    Xerces SAX parser don`t initialize a characters array from characters() method in DefaultHandler.
    I use jdk 1.5.12.
    For value "22-11-2009" variables start=1991, length=9.
    Result: "22-11-200"

    My handler:
    package com.epam.xmltask.parsers;
    import com.epam.xmltask.model.Category;
    import com.epam.xmltask.model.Goods;
    import com.epam.xmltask.model.Products;
    import com.epam.xmltask.model.Subcategory;
    import com.epam.xmltask.utils.Constants;
    import com.epam.xmltask.utils.DateConverter;
    import java.text.ParseException;
    import java.util.Date;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    import org.xml.sax.Attributes;
    import org.xml.sax.ErrorHandler;
    import org.xml.sax.SAXException;
    import org.xml.sax.SAXParseException;
    import org.xml.sax.helpers.DefaultHandler;
    public class SAXProductsParser extends DefaultHandler implements IProductsParser {
        private Logger logger = null;
        private SAXParser parser = null;
        private ErrorHandler errorHandler = null;
        private Products products = null;
        private Category category = null;
        private Subcategory subcategory = null;
        private Goods goods = null;
        private String currentField = Constants.EMPTY_STRING;
        protected Logger getLogger() {
            if (logger == null) {
                logger = Logger.getLogger(SAXProductsParser.class.getName());
            return logger;
        protected SAXParser getParser() throws Exception {
            if (parser == null) {
                try {
                    SAXParserFactory parserFactory = SAXParserFactory.newInstance();
                    parserFactory.setNamespaceAware(true);
                    parserFactory.setValidating(true);
                    parser = parserFactory.newSAXParser();
                    parser.setProperty(Constants.SCHEMA_LANGUAGE, Constants.XML_SCHEMA);
                } catch (Exception ex) {
                    getLogger().log(Level.SEVERE, null, ex);
                    throw ex;
            return parser;
        public ErrorHandler getErrorHandler() {
            if (errorHandler == null) {
                errorHandler = new ProductsErrorHandler();
            return errorHandler;
        public Products getProducts(String uri) throws Exception {
            try {
                products = new Products();
                getParser().parse(uri, this);
                return products;
            } catch (Exception ex) {
                getLogger().log(Level.SEVERE, null, ex);
                throw ex;
        @Override
        public void startElement(String uri, String localName,
                String qName, Attributes attributes) {
            if (Constants.CATEGORY.equals(qName)) {
                String name = attributes.getValue(Constants.NAME);
                category = new Category(name);
            } else if (Constants.SUBCATEGORY.equals(qName)) {
                String name = attributes.getValue(Constants.NAME);
                subcategory = new Subcategory(name);
            } else if (Constants.GOODS.equals(qName)) {
                String name = attributes.getValue(Constants.NAME);
                goods = new Goods(name);
            } else if (Constants.NOT_IN_STOCK.equals(qName)) {
                goods.setIsInStock(false);
            } else {
                currentField = qName;
        @Override
        public void endElement(String uri, String localName, String qName) {
            if (Constants.CATEGORY.equals(qName)) {
                products.addCategory(category);
                category = null;
            } else if (Constants.SUBCATEGORY.equals(qName)) {
                category.addSubcategory(subcategory);
                subcategory = null;
            } else if (Constants.GOODS.equals(qName)) {
                subcategory.addGoods(goods);
                goods = null;
            } else {
                currentField = Constants.EMPTY_STRING;
        @Override
        public void characters(char[] chars, int start, int length) throws SAXException {
            String field = new String(chars, start, length).trim();
            if (goods != null) {
                if (Constants.PRODUSER.equals(currentField)) {
                    goods.setProducer(field);
                } else if (Constants.MODEL.equals(currentField)) {
                    goods.setModel(field);
                } else if (Constants.DATE_OF_ISSUE.equals(currentField)) {
                    Date date = null;
                    try {
                        date = DateConverter.getConvertedDate(field);
                    } catch (ParseException ex) {
                        getLogger().log(Level.SEVERE, null, ex);
                        throw new SAXException(ex);
                    goods.setDateOfIssue(date);
                } else if (Constants.COLOR.equals(currentField)) {
                    goods.setColor(field);
                } else if (Constants.PRICE.equals(currentField)) {
                    Float price = Float.valueOf(field);
                    goods.setPrice(price);
        @Override
        public void error(SAXParseException ex) throws SAXException {
            getErrorHandler().error(ex);
        @Override
        public void fatalError(SAXParseException ex) throws SAXException {
            getErrorHandler().fatalError(ex);
        @Override
        public void warning(SAXParseException ex) throws SAXException {
            getErrorHandler().warning(ex);
    }

  • Xerces-J Parser Problems

    Hi, im knew to Java and r currently studying XML. I installed the Java 2 SDK - which went fine & the book told me to install Xerces-J Parser. I followed instructions, i.e setting classpath and path in autoexec.bat, but when i want to test it - it says NoClassDefFoundError...
    The book told me to change to xerces directory and then typing in java sax.SAXCount data/personal.xml - v.
    Also, the book uses Xerces-1_2_3 & im using Xerces-1_4_4. Can i just ignore this & continue or will i have problems with other stuff as well?
    Any suggestions will be greatly appreciated.

    Never mind - fixed it myself :)

  • How to use the build-in Java parser

    Hi All,
    I want do use the build-in Java parser. Is this possible? For example I have the following code:
    package ch.fhnw;
    import javax.tools.*;
    public class JavacExample {
         * @param args
        public static void main(String[] args) {
         JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
         String arguments = "./src/ch/fhnw/JavacExample.java";
         int rc = javac.run(null , null, null, "-verbose", arguments);
         System.out.println("Return value: " + rc);
    }After parsing, it would be great to have an object or similar which contains the methods, arguments used by the methods, etc. The target is to extract method declarations from java files. Is there a simple way to do it without defining my own EBNF like in JavaCC? Or any other way?
    Thank you for your help.
    kind regards,
    wolfgang

    Yep. bootstrap your knowledge here
    [http://java.sun.com/javase/6/docs/technotes/guides/javac/index.html]
    [http://forum.java.sun.com/forum.jspa?forumID=514]
    Bruce

  • Fatal error in Java Parser V2 :Status??

    We still have a problem with entity references
    in V2 of the JAVA XML parser (see Rolf van Deuresen 24-11).
    It is a very urgent problem for us. We think that the XML-team
    is working on it. Can you inform me abouth the status with the
    (bug??)-fix. If you need more information on the problem, please
    ask.
    Greetings,
    Erik van den Berg.
    null

    Attachments: "1|type=text/plain|desc=SAXSample output|17142|file=output.txt|"
    Oracle XML Team wrote:
    : Erik van den Berg (guest) wrote:
    : : Oracle XML Team wrote:
    : : : Erik van den Berg (guest) wrote:
    : : : : We still have a problem with entity references
    : : : : in V2 of the JAVA XML parser (see Rolf van Deuresen 24-
    11).
    : : : : It is a very urgent problem for us. We think that the
    XML-
    : : team
    : : : : is working on it. Can you inform me abouth the status
    with
    : : the
    : : : : (bug??)-fix. If you need more information on the
    problem,
    : : : please
    : : : : ask.
    : : : : Greetings,
    : : : : Erik van den Berg.
    : : : Have you downloaded the latest version 2.0.2.5 that was
    made
    : : : available this week?
    : : : Oracle XML Team
    : : : http://technet.oracle.com
    : : : Oracle Technology Network
    : : I have downloaded the new version 2.0.2.5 of the Java
    parser,
    : : and it stil doesn't work. Please refer to the original
    message
    : : from Rolf van Deursen (24th november 1999) for the details.
    : : Maybe it will help you if I mail you a XML file that fails.
    If
    : : so, please give me your email account.
    : : Greetings,
    : : Erik van den Berg.
    : You can attach files to messages in the forum here.
    : Oracle XML Team
    : http://technet.oracle.com
    : Oracle Technology Network
    Here's the XML that raises the Fatal error. The following
    information is generated by the parser:
    Fatal Error of Java SAX parser v2.0.2.5:
    XML-0121: (Fatal Error) End tag does not match start
    tag 'WOONPLAATS'. at line 517, column 4151 of XML document.
    I attached the output of the SAXSample class, so you can trace
    the line and column where the error occurs. Also attached is the
    XML file (4Mb).
    An other error that occurs with this XML is the following
    situation:
    <VOLGNR_FILM> 001</VOLGNR_FILM>
    this piece of XML is parsed with the following events:
    StartElement:VOLGNR_FILM
    Characters:NR_
    Characters:001
    EndElement:VOLGNR_FILM
    So the spaces are replace with a part of the start tag! This is
    also only with large files. I tested this piece of XML in a
    seperate file. Then it was parsed correctly.
    Kind regards,
    Erik.
    null

  • How can i build a java parser/interpreter

    How can i build a java parser/interpreter
    i know java offers a tokenizer, how can i use it for build a parser or interpreter that recognize tags like this:
    <query db="db1" select="row1, row2">
    and then perform some actions

    how can i use it for build a parser or interpreter that recognize tags like this:A compiler design class would help understand the issues involved.
    Or as suggested if you are merely trying to parse XML then there are variety of existing solutions.
    Of if not XML and you already understand the principles of compiler design (formally or perhaps with experience with lexx/yacc) then you could use JavaCC
    http://www.webgain.com/products/java_cc/

  • Is it possible to configure CF10 or CF11 to use Xerces XML parser instead of Saxon XML parser?

    Could anyone tell me if it is possible to configure CF10 or CF 11 to use the older Xerces XML parser instead of the Saxon XML parser.
    I am in the process of migrating a website from CF8 to CF11. Several sections rely on XML transformation, which no longer work in CF11. After investigating the problem it seems to be that the Saxon Parser is more strict, causing these errors.

    Well I guess Parsers would be better solution. As u said u need to insert node at specific location.
    so now u have to decide which parser u need to choose according to u r requirmnet. DOM or SAX maily.
    Both has adv and di-advs.
    ...yogesh

  • Setting content (Java parser)

    Hi, I'm using a Java parser to take in binary files.
    In windows explorer if I drag and drop on to an ifs
    it works fine, however if the file already exists
    then it is replaced by a 0 byte file of the same name.
    Heres the relevant parser code:
    public LibraryObject parse(InputStream inStream, ParserCallback callback, Hashtable options)
    dis = new DataInputStream(inStream);
    baos = new ByteArrayOutputStream();
    int b = -99;
    byte[] buffer = new byte[1024];
    try
    while((b = dis.read(buffer)) != -1)
    if(b < buffer.length)
    baos.write(buffer, 0, b);
    else
    baos.write(buffer);
    catch(EOFException e)
    DocumentDefinition docDef = new DocumentDefinition (m_librarySession);
    Collection allFormats = m_librarySession.getFormatExtensionCollection();
    docDef.setFormat((Format) allFormats.getItems("bin"));
    docDef.setClassname("BINARYFILE");
    docDef.setAttribute("NAME", AttributeValue.newAttributeValue(options.get(CURRENT_NAME_OPTION)));
    byte[] outbytes = baos.toByteArray();
    bais = new ByteArrayInputStream(outbytes);
    docDef.setContentStream(bais);
    Document newDoc = (Document)
    m_librarySession.createPublicObject(docDef);
    if(options.get(UPDATE_OBJECT_OPTION) != null)
    Document currentDoc = (Document) currentFolder.findPublicObjectByPath
    (docDef.getAttribute("NAME").toString());
    currentDoc.update(docDef);
    else
    currentFolder.addItem(newDoc);
    baos.close();
    //bais.close();
    //dis.close();
    As I said this only causes trouble if the file is already present in the ifs directory I'm placing it in.
    Thanks for your time,
    Cathal

    try moving this line:
    m_librarySession.createPublicObject(docDef);
    into the "else" block of your condition:
    else
    // move the line here
    currentFolder.addItem(newDoc);
    the mistake you're making is that you always create a new document, whether or not you want to update an existing document or not.
    this mistake causes two problems:
    1. when you're updating (i.e. the "if" block of your condition will execute) you leave the new document you created floating around.
    2. when you're updating, the existing document content gets set to 0 bytes. why? because you already sucked out all the bytes from your bais when you created the new document earlier! when you try to update the existing one later, the bais is already "at the end" and there's nothing left to read out. for more info about this you should read up on the java.io package.

  • Java parser for regular expression to java program

    Hi All,
    I am very new to parser technologies .I am looking for a (java)parser which can read the "regular expression" and can convert it into "java program".Please let me know is there any thing related to this.
    Thanks in advance.
    Your will be appriciate.
    Regards,
    Sai.

    Hi Jos,
    Thank you for your quick response .You're welcome.
    If you have any sample code or simple example for how to use those
    classes (Pattern,Match) ,will you please send me .It will be helpful for me.Jverd gave you two nice links already in his reply #3
    If there is any "open source" for parsering regular expressions.
    Please send me I am very new to parser technologies.Note that that Pattern class take care of all the parsing of REs, i.e. there's
    nothing 'interesting' left for you to do any parsing whatsoever. Can you
    elaborate a bit on what you exactly want to do and learn?
    kind regards,
    Jos

  • Java 6.0 update 7 installation problem

    when i try to run the java 6.0 update 7 installation program nothing happens--no error messages or hangs. the program starts (as i can see it in task manager) then stops without doing anything. this also happens with updates 6 and 10-beta. i've never had this problem before.
    - using vista home premium
    - downloaded all the install programs from the sun website
    - closed all browsers before installing
    - can install other programs--both exe and msi installers
    - tried deleting all java folders from my hard disk and java applicable references in the registry
    - turned off UAC
    - turned off firewall
    - turned off av monitoring
    - ran as administrator
    - ran in XP compatibility mode
    - also tried same in safe mode
    nothing worked. any suggestions?
    thanks
    Edited by: mjs99 on Jul 16, 2008 8:16 AM

    ISSUE RESOLVED
    in "C:\Users\mjs\AppData\Roaming\Sun\Java\jre1.6.0_07\"
    i found "jre1.6.0_07.msi"
    i ran it and it installed fine
    that still leaves the mystery of why the exe installer downloaded from sun wouldn't run

  • Is there a way to use a progress bar with Xerces XML Parser?

    My program is parsing very long XML files that take several minutes to parse. I am using Xerces as the parser. I would like to use a progress bar to show the progress, but I haven't found any way to get Xerces to give progress updates. Is this possible?

    Use teh SAX parser and listen to SAX events. Example:
    import java.io.*;
    import java.util.*;
    //jaxp-api.jar:
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
    //sax.jar:
    import org.xml.sax.Attributes;
    import org.xml.sax.InputSource;
    import org.xml.sax.XMLReader;
    import org.xml.sax.helpers.DefaultHandler;
    import mine.IOUtils;
    * Handler to read content from (large) XML sources and send events to registered XMLListeners. Use this class to read
    * big (multiple megabytes) XML files via SAX and listen to XML events to process XML elements.
    * For small (less than a megabyte) XML files, it's more convenient to use the DOM API
    * to read the XML into a DOM document and perform XPath commands. DOM is easier to handle but has
    * the drawback that the complete XML content is stored in one big DOM document object in memory.
    public final class XMLHandler extends DefaultHandler {
        /** (Reusable) XMLReader to parse an XML document. */
        private XMLReader xmlReader = null;
        /** Registered XMLEventListeners. */
        private List<XMLListener> listeners = new ArrayList<XMLListener>();
        /** Value of current element. */
        private StringBuilder elementValue = null;
        /** Stack of current element and all of its parent elements. */
        private Stack<String> elementStack = new Stack<String>();
         * Constructor.
         * @throws Exception
        public XMLHandler() throws Exception {
            super();
            // Create a JAXP SAXParserFactory and configure it
            final SAXParserFactory spf = SAXParserFactory.newInstance(); //Use the default (non-validating) parser
            spf.setValidating(true);
            // Create a JAXP SAXParser
            final SAXParser saxParser = spf.newSAXParser();
            // Get the encapsulated SAX XMLReader
            xmlReader = saxParser.getXMLReader();
            xmlReader.setContentHandler(this);
            xmlReader.setDTDHandler(this);
            xmlReader.setEntityResolver(this);
            xmlReader.setErrorHandler(this);
        }//XMLHandler()
          * Add XMLListener to receive XML events from the current XML document.
         *  If <i>listener</i> is null, no exception is thrown and no action is performed.
          * @param listener XMLListener to add.
         public void addXMLEventListener(final XMLListener listener) {
            if (listener != null) {
                listeners.add(listener);
        }//addXMLEventListener()
         * Parse current XML document. Registered XMLEventListeners will receive events during parsing.
         * @param fileName Name of file to read XML content from.
         * @throws Exception
        public void parse(final String fileName) throws Exception {
            if (fileName != null) {
                parse(IOUtils.openInputStream(fileName));
        }//readXML()
          * Parse current XML document. Registered XMLEventListeners will receive events during parsing.
         * @param inputStream InputStream to read XML content from.
          * @throws Exception
         public void parse(final InputStream inputStream) throws Exception {
            if (inputStream != null) {
                xmlReader.parse(new InputSource(inputStream));
        }//readXML()
         * Overwrite super.
         * Receive notification of the beginning of the document.
        @Override
        public void startDocument() {
            for (XMLListener l : listeners) {
                l.documentStarted();
        }//startDocument()
         * Overwrites super.
         * Receive notification of the start of an element.
        @Override
        public void startElement(final String uri, final String localName, final String qName, final Attributes atts) {
            elementStack.push(qName);
            for (XMLListener l : listeners) {
                l.elementStarted(qName, elementStack);
            elementValue = new StringBuilder(); //element value
            //element attributes:
            if (atts.getLength() > 0) {
                String attName = null;
                for (int i = 0; i < atts.getLength(); i++) {
                    attName = atts.getQName(i);
                    final String attValue = atts.getValue(i);
                    for (XMLListener l : listeners) {
                        l.attributeRead(qName, attName, attValue);
                }//next attribute
            }//else: no attributes
        }//startElement()
         * Overwrites super.
         * Receive notification of character data inside an element. This method can be called multiple times
         * from SAX, so we need to append all results of all calls to the final element value.
        @Override
        public void characters(final char ch[], final int start, final int length) {
            String s = new String(ch, start, length);
            elementValue.append(s);
        }//characters()
         * Overwrites super.
         * Receive notification of the end of an element.
        @Override
        public void endElement(final String uri, final String localName, final String qName) {
            for (XMLListener l : listeners) {
                l.elementEnded(qName, elementValue.toString());
            elementStack.pop();
        }//endElement()
         * Overwrite super.
         * Receive notification of the end of the document.
        @Override
        public void endDocument() {
            for (XMLListener l : listeners) {
                l.documentEnded();
        }//endDocument()
    }//XMLHandler

  • Java parser

    Can anyone tell where can i get an XML->DOM parser for java?
    TIA

    such a parser is part of the jdk 1.4 http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/parsers/DocumentBuilder.html
    another parser is xerces
    http://xml.apache.org/xerces2-j/index.html

Maybe you are looking for