org.objectweb.cjdbc.common.xml
Class XmlValidator

java.lang.Object
  extended byorg.xml.sax.helpers.DefaultHandler
      extended byorg.objectweb.cjdbc.common.xml.XmlValidator
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.ext.LexicalHandler

public class XmlValidator
extends org.xml.sax.helpers.DefaultHandler
implements org.xml.sax.ErrorHandler, org.xml.sax.ext.LexicalHandler

Validate a document and its DTD.

Author:
Nicolas Modrzyk

Field Summary
private  java.util.ArrayList errors
           
private  boolean isDtdValid
           
private  boolean isXmlValid
           
private  org.xml.sax.XMLReader parser
          XML parser.
private  java.lang.String pathToDtd
           
private  java.util.ArrayList warnings
           
private  java.lang.String xmlContent
           
 
Constructor Summary
XmlValidator(java.lang.String pathToDtd, java.io.FileReader file)
           
XmlValidator(java.lang.String pathToDtd, java.lang.String xml)
          Check the given dtd, and the given xml are valid.
 
Method Summary
private  void addError(java.lang.Exception e)
           
 void comment(char[] ch, int start, int length)
           
 void endCDATA()
           
 void endDocument()
           
 void endDTD()
           
 void endEntity(java.lang.String name)
           
 void error(org.xml.sax.SAXParseException exception)
           
 void fatalError(org.xml.sax.SAXParseException exception)
           
 java.util.ArrayList getExceptions()
          Retrieve an ArrayList of all parsing exceptions
 java.lang.Exception getLastException()
          Return the last cause of parsing failure
 java.util.ArrayList getWarnings()
           
 java.lang.String getXmlContent()
          get the xml that was formatted
 boolean isDtdValid()
           
 boolean isValid()
           
 boolean isXmlValid()
           
static void main(java.lang.String[] args)
          Allow to use the xml validator as an external program
 org.xml.sax.InputSource resolveEntity(java.lang.String publicId, java.lang.String systemId)
          Allows to parse the document with a local copy of the DTD whatever the original DOCTYPE found.
 void setDtdValid(boolean isDtdValid)
           
 void setXmlValid(boolean isXmlValid)
           
 void startCDATA()
           
 void startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
           
 void startEntity(java.lang.String name)
           
 void validate(java.lang.String pathToDtd, java.lang.String xml)
          Starts the verification of the xml document AND the dtd
 void warning(org.xml.sax.SAXParseException exception)
           
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
characters, endElement, endPrefixMapping, ignorableWhitespace, notationDecl, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parser

private org.xml.sax.XMLReader parser
XML parser.


pathToDtd

private java.lang.String pathToDtd

isXmlValid

private boolean isXmlValid

isDtdValid

private boolean isDtdValid

xmlContent

private java.lang.String xmlContent

errors

private java.util.ArrayList errors

warnings

private java.util.ArrayList warnings
Constructor Detail

XmlValidator

public XmlValidator(java.lang.String pathToDtd,
                    java.lang.String xml)
Check the given dtd, and the given xml are valid.

Parameters:
pathToDtd - path to dtd
xml - source to parse as a string

XmlValidator

public XmlValidator(java.lang.String pathToDtd,
                    java.io.FileReader file)
             throws java.io.IOException
See Also:
XmlValidator(String pathToDtd,String xml)
Method Detail

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Allow to use the xml validator as an external program

Parameters:
args - the xmlfile and the dtd file
Throws:
java.lang.Exception - if fails

getXmlContent

public java.lang.String getXmlContent()
get the xml that was formatted

Returns:
xml

validate

public void validate(java.lang.String pathToDtd,
                     java.lang.String xml)
Starts the verification of the xml document AND the dtd

Parameters:
pathToDtd - path
xml - content

resolveEntity

public org.xml.sax.InputSource resolveEntity(java.lang.String publicId,
                                             java.lang.String systemId)
                                      throws org.xml.sax.SAXException
Allows to parse the document with a local copy of the DTD whatever the original DOCTYPE found. Warning, this method is called only if the XML document contains a DOCTYPE.

Specified by:
resolveEntity in interface org.xml.sax.EntityResolver
Throws:
org.xml.sax.SAXException
See Also:
EntityResolver.resolveEntity(java.lang.String, java.lang.String)

error

public void error(org.xml.sax.SAXParseException exception)
           throws org.xml.sax.SAXException
Specified by:
error in interface org.xml.sax.ErrorHandler
Throws:
org.xml.sax.SAXException
See Also:
ErrorHandler.error(org.xml.sax.SAXParseException)

fatalError

public void fatalError(org.xml.sax.SAXParseException exception)
                throws org.xml.sax.SAXException
Specified by:
fatalError in interface org.xml.sax.ErrorHandler
Throws:
org.xml.sax.SAXException
See Also:
ErrorHandler.fatalError(org.xml.sax.SAXParseException)

warning

public void warning(org.xml.sax.SAXParseException exception)
             throws org.xml.sax.SAXException
Specified by:
warning in interface org.xml.sax.ErrorHandler
Throws:
org.xml.sax.SAXException
See Also:
ErrorHandler.warning(org.xml.sax.SAXParseException)

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Specified by:
endDocument in interface org.xml.sax.ContentHandler
Throws:
org.xml.sax.SAXException
See Also:
ContentHandler.endDocument()

isValid

public boolean isValid()
Returns:
Returns the isXmlValid.

getLastException

public java.lang.Exception getLastException()
Return the last cause of parsing failure

Returns:
exception, null if no exception

getExceptions

public java.util.ArrayList getExceptions()
Retrieve an ArrayList of all parsing exceptions

Returns:
an ArrayList of Exception

comment

public void comment(char[] ch,
                    int start,
                    int length)
             throws org.xml.sax.SAXException
Specified by:
comment in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException
See Also:
LexicalHandler.comment(char[], int, int)

endCDATA

public void endCDATA()
              throws org.xml.sax.SAXException
Specified by:
endCDATA in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException
See Also:
LexicalHandler.endCDATA()

endDTD

public void endDTD()
            throws org.xml.sax.SAXException
Specified by:
endDTD in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException
See Also:
LexicalHandler.endDTD()

endEntity

public void endEntity(java.lang.String name)
               throws org.xml.sax.SAXException
Specified by:
endEntity in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException
See Also:
LexicalHandler.endEntity(java.lang.String)

startCDATA

public void startCDATA()
                throws org.xml.sax.SAXException
Specified by:
startCDATA in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException
See Also:
LexicalHandler.startCDATA()

startDTD

public void startDTD(java.lang.String name,
                     java.lang.String publicId,
                     java.lang.String systemId)
              throws org.xml.sax.SAXException
Specified by:
startDTD in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException
See Also:
LexicalHandler.startDTD(java.lang.String, java.lang.String, java.lang.String)

startEntity

public void startEntity(java.lang.String name)
                 throws org.xml.sax.SAXException
Specified by:
startEntity in interface org.xml.sax.ext.LexicalHandler
Throws:
org.xml.sax.SAXException
See Also:
LexicalHandler.startEntity(java.lang.String)

isDtdValid

public boolean isDtdValid()
Returns:
Returns the isDtdValid.

setDtdValid

public void setDtdValid(boolean isDtdValid)
Parameters:
isDtdValid - The isDtdValid to set.

isXmlValid

public boolean isXmlValid()
Returns:
Returns the isXmlValid.

setXmlValid

public void setXmlValid(boolean isXmlValid)
Parameters:
isXmlValid - The isXmlValid to set.

addError

private void addError(java.lang.Exception e)

getWarnings

public java.util.ArrayList getWarnings()
Returns:
Returns the warnings.


Copyright © 2002, 2005 - ObjectWeb Consortium - All Rights Reserved.