final String dfRelPath = "/{" + XPDLUtil.XPDL_NS + "}DataFields";
final String partiRelPath
= "/{" + XPDLUtil.XPDL_NS + "}Participants"
+ "/{" + XPDLUtil.XPDL_NS + "}Participant";
try {
DelegatingHandler dh = new MyDelegatingHandler ();
processHeader = new DefaultProcessHeader();
dh.addHandler
(packagePath + "/{" + XPDLUtil.XPDL_NS + "}PackageHeader",
((DefaultPackageHeader)processHeader.packageHeader())
.saxInitializer());
dh.addHandler
(processPath + "/{" + XPDLUtil.XPDL_NS + "}ProcessHeader",
((DefaultProcessHeader)processHeader).saxInitializer());
dh.addHandler
(packagePath + "/{" + XPDLUtil.XPDL_NS + "}RedefinableHeader",
((DefaultProcessHeader)processHeader).saxInitializer());
dh.addHandler
(processPath + "/{" + XPDLUtil.XPDL_NS + "}RedefinableHeader",
((DefaultProcessHeader)processHeader).saxInitializer());
StackedHandler dfh = new SAXDataFieldHandler ();
contextSignature = new DefaultProcessDataInfo();
dh.addHandler (packagePath + dfRelPath, dfh);
dh.addHandler (processPath + dfRelPath, dfh);
resultSignature = new DefaultProcessDataInfo();
dh.addHandler
(processPath + "/{" + XPDLUtil.XPDL_NS + "}FormalParameters",
new SAXFormalParameterHandler ());
participants = new HashMap();
dh.addHandler (packagePath + partiRelPath,
DefaultParticipant.SAXInitializer.class);
dh.addHandler (processPath + partiRelPath,
DefaultParticipant.SAXInitializer.class);
StackedHandler extAttrHandler = new SAXExtAttrHandler ();
dh.addHandler (packagePath + extAttrRelPath, extAttrHandler);
dh.addHandler (processPath + extAttrRelPath, extAttrHandler);
applications = new HashMap ();
HandlerStack hs = new HandlerStack (dh);
procDef.emit(hs.contentHandler(), null);
for (Iterator i = applications().iterator(); i.hasNext();) {
ApplicationDefinition applDef