[jdom-interest] SaxParserException comparison

Lopez, William william.lopez at eds.com
Tue Oct 30 15:48:45 PST 2001


I want to compare a Throwable object obtained from the
JDOMException.getCause( ) method to a SaxParserException so I can flag the
source table of the XML file I'm retrieving as "bogus".

Here's the error:

org.jdom.JDOMException: Error on line 753: The element type
"OrganizationHierarchyNode" must be terminated by the matching end-tag
"</OrganizationHierarchyNode>".
	at org.jdom.input.SAXBuilder.build(SAXBuilder.java:300)
	at dtdmap.helpers.xml.JDOMReader.startBillParse(JDOMReader.java:134)
	at dtdmap.ProcessXML.main(ProcessXML.java:126)
Root cause: org.xml.sax.SAXParseException: The element type
"OrganizationHierarchyNode" must be terminated by the matching end-tag
"</OrganizationHierarchyNode>".
	at
org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1016)
	at
org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError(XMLDocume
ntScanner.java:634)
	at
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.endOfInput(
XMLDocumentScanner.java:1457)
	at
org.apache.xerces.framework.XMLDocumentScanner.endOfInput(XMLDocumentScanner
.java:417)
	at
org.apache.xerces.validators.common.XMLValidator.sendEndOfInputNotifications
(XMLValidator.java:570)
	at
org.apache.xerces.readers.DefaultEntityHandler.changeReaders(DefaultEntityHa
ndler.java:1026)
	at
org.apache.xerces.readers.XMLEntityReader.changeReaders(XMLEntityReader.java
:168)
	at
org.apache.xerces.readers.UTF8Reader.changeReaders(UTF8Reader.java:182)
	at
org.apache.xerces.readers.UTF8Reader.lookingAtChar(UTF8Reader.java:197)
	at
org.apache.xerces.framework.XMLDocumentScanner.scanAttributeName(XMLDocument
Scanner.java:2119)
	at
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanne
r.java:1797)
	at
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XM
LDocumentScanner.java:1233)
	at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.
java:380)
	at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:908)
	at org.jdom.input.SAXBuilder.build(SAXBuilder.java:287)


Here's my lame attempt to do so:

catch (JDOMException je)
    {
      je.printStackTrace();
      
      Throwable rootCause = je.getCause();

        boolean saxExp =
rootCause.equals(Class.forName("org.xml.sax.SAXParseException"));
        if(saxExp)
        {
          ...do something
        }
     }

How can I compare a Class (org.xml.sax.SAXParseException) to an Object
(Throwable). 

Also, I can't seem to find the error the parser is complaining about. The
element in question does have an  end-tag. Everything else appears to be
correct. DOH!

element:
<OrganizationHierarchyNode cancelDate="9999-12-31" bankAccountCode=""
bankAccountDescription="" duplicateRuleCode="3"
duplicateRuleDescription="Duplicate Rule 3" effectiveDate="1582-10-15" id=""
name="FIRST HEALTH" maintenanceDocumentation="" produceChecks="false">
	<OrganizationTreatmentParameters treatmentPercentileCode=""
treatmentPercentileDescription="" treatmentVisits="" treatmentWarning=""/>
	<OrganizationDrugSupplyDetail drugCutback="1.00" drugMarkup="1.50"
maximumDrugMarkup="10.00" maximumSupplyMarkup="20.00"
minimumDrugMarkup="5.00" minimumSupplyMarkup="5.00" 	supplyMarkup="1.50"
supplyCutback="1.00"/>
	<CommentCollection nbrComment="0"/>
</OrganizationHierarchyNode>

DTD def:
<!ELEMENT OrganizationHierarchyNode (OrganizationTreatmentParameters,
OrganizationDrugSupplyDetail, CommentCollection)>
<!ATTLIST OrganizationHierarchyNode
	cancelDate CDATA #REQUIRED
	bankAccountCode CDATA #REQUIRED
	bankAccountDescription CDATA #REQUIRED
	duplicateRuleCode CDATA #REQUIRED
	duplicateRuleDescription CDATA #REQUIRED
	effectiveDate CDATA #REQUIRED
	id CDATA #REQUIRED
	name CDATA #REQUIRED
	maintenanceDocumentation CDATA #REQUIRED
	produceChecks CDATA #REQUIRED
>


Thanks,


William Lopez
EDS - Health and Insurance Solution Centre
MS C3-1C-37
5400 Legacy Drive
Plano, TX 75024

* phone: +01-972-604-3372 (834-3372)
* mailto:william.lopez at eds.com
www.eds.com





More information about the jdom-interest mailing list