You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Harvinder Singh <ha...@mindtree.com> on 2002/09/04 14:10:22 UTC
Help Required - In Debugging Digester code
Hi,
I am trying to parse following XML using Digester But getting an Exception
trace. Could anybody tell me how do I debug the code?
====================================
<?xml version="1.0"?>
<services>
<service name="Request" home_page_action="/action/Request/edit">
<title>
<element order="2">
<key>Name</key>
<size>10</size>
<display>Name</display>
<display-type>3</display-type>
<action-link></action-link>
</element>
<element order="3">
<key> Description </key>
<size> 20 </size>
<display> Description </display>
<display-type>3</display-type>
<action-link></action-link>
</element>
<element order="7">
<key>Create</key>
<size> 10 </size>
<display></display>
<display-type>2</display-type>
<action-link></action-link>
<image>
<identifier>0</identifier>
<url>ImageURL0</url>
<tip>Tip0</tip>
<action-link>/myApp/create</action-link>
<size>10</size>
</image>
<image>
<identifier>1</identifier>
<url>Image1</url>
<tip>Tip1</tip>
<action-link></action-link>
<size>10</size>
</image>
</element>
<element order="8">
<key>Help</key>
<size> 5 </size>
<display></display>
<display-type>2</display-type>
<action-link></action-link>
</element>
</title>
<body>
<element order="2">
<key>Name</key>
<size> 10 </size>
<display></display>
<display-type>1</display-type>
<action-link>/action/edit</action-link>
</element>
<element order="3">
<key>Description</key>
<size> 20 </size>
<display></display>
<display-type>0</display-type>
<action-link></action-link>
</element>
<element order="7">
<key>EDIT</key>
<size> 10 </size>
<display></display>
<display-type>2</display-type>
<action-link>/myApp/edit</action-link>
</element>
<element order="9">
<key>vicky</key>
<size> 10 </size>
<display></display>
<display-type>2</display-type>
<action-link>/myApp/edit</action-link>
</element>
<element order="10">
<key>Harvinder</key>
<size> 10 </size>
<display></display>
<display-type>2</display-type>
<action-link>/myApp/edit</action-link>
</element>
</body>
</service>
</services>
====================================
The Eception trace is :
=====================================
The exception trace is :-
java.lang.reflect.InvocationTargetException
at
org.apache.commons.digester.Digester.createSAXException(Digester.java
:2033)
at
org.apache.commons.digester.Digester.createSAXException(Digester.java
:2053)
at org.apache.commons.digester.Digester.endElement(Digester.java:833)
at
org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403)
at
org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLVa
lidator.java:1337)
at
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.disp
atch(XMLDocumentScanner.java:1256)
at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentS
canner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:952)
at org.apache.commons.digester.Digester.parse(Digester.java:1302)
at
org.apache.commons.digester.rss.MetaDataDigester.parse(MetaDataDigest
er.java:141)
at
org.apache.commons.digester.rss.MetaDataDigester.main(MetaDataDigeste
r.java:269)
=====================================
The java code is :
=====================================
protected void configure() {
if (configured) {
return;
}
// FIXME - validate the "version" attribute of the rss element?
// Add the rules for the Channel object
addObjectCreate("services/service", serviceClass);
// Add the rules for the Title object
addObjectCreate("services/service/title/element", titleClass);
addSetNext("services/service/title/element", "addTitleMetaData",
"com.ispheres.zen.web.designcenter.framework.TitleMetaData");
addCallMethod("services/service/title/element", "setOrder", 1,
new Class[]{ Integer.TYPE });
addCallParam("services/service/title/element",0,"order");
addCallMethod("services/service/title/element/key", "setKey", 0);
addCallMethod("services/service/title/element/size", "setSize", 0,
new Class[]{ Integer.TYPE });
addCallMethod("services/service/title/element/display", "setDisplay",
0);
addCallMethod("services/service/title/element/display-type",
"setDisplayType", 0,
new Class[]{ Integer.TYPE });
addCallMethod("services/service/title/element/action-link",
"setActionLink", 0);
// Add the rules for the Image object
addObjectCreate("services/service/title/element/image",
imageClass);
addSetProperties("services/service/title/element/image");
addSetNext("services/service/title/element/image", "addImage",
"com.ispheres.zen.web.designcenter.framework.ImageObject");
addCallMethod("services/service/title/element/image/identifier",
"setImageIdentifier", 0,
new Class[]{ Integer.TYPE });
addCallMethod("services/service/title/element/image/url",
"setImageUrl", 0);
addCallMethod("services/service/title/element/image/tip",
"setImageTip", 0);
addCallMethod("services/service/title/element/image/action-link",
"setImageActionLink", 0);
addCallMethod("services/service/title/element/image/size",
"setImageSize", 0,
new Class[]{ Integer.TYPE });
// Add the rules for the body object
addObjectCreate("services/service/body/element", bodyClass);
addSetNext("services/service/body/element", "addBodyMetaData",
"com.ispheres.zen.web.designcenter.framework.BodyMetaData");
addCallMethod("services/service/body/element", "setOrder", 1,
new Class[]{ Integer.TYPE });
addCallParam("services/service/body/element",0,"order");
addCallMethod("services/service/body/element/key", "setKey", 0);
addCallMethod("services/service/body/element/size", "setSize", 0,
new Class[]{ Integer.TYPE });
addCallMethod("services/service/body/element/display", "setDisplay",
0);
addCallMethod("services/service/body/element/display-type",
"setDisplayType", 0,
new Class[]{ Integer.TYPE });
addCallMethod("services/service/body/element/action-link",
"setActionLink", 0);
// Add the rules for the Image object
/* addObjectCreate("services/service/body/element/image",
imageClass);
addSetNext("services/service/body/element/image", "addImageData",
"com.ispheres.zen.web.designcenter.framework.ImageObject");
addCallMethod("services/service/body/element/image/identifier",
"setImageIdentifier", 0,
new Class[]{ Integer.TYPE });
addCallMethod("services/service/body/element/image/url",
"setImageUrl", 0);
addCallMethod("services/service/body/element/image/tip",
"setImageTip", 0);
addCallMethod("services/service/body/element/image/action-link",
"setImageActionLink", 0);
addCallMethod("services/service/body/element/image/size",
"setImageSize", 0,
new Class[]{ Integer.TYPE });
*/
// Mark this digester as having been configured
configured = true;
}
=====================================
If I remove <image> tag code works fine. Thansks.
Regards,
Harvinder
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>