}
else if ((qName != null) && (qName.length() != 0))
{
name = qName;
}
ElementProcessor processor;
try
{
processor =
getElementProcessorFactory().createElementProcessor(name);
}
catch (CannotCreateElementProcessorException e)
{
throw SAXExceptionFactory("could not process startElement event",
e);
}
doPreInitialization(processor);
Attribute[] attributes = (atts == null) ? new Attribute[ 0 ]
: new Attribute[ atts.getLength() ];
for (int j = 0; j < attributes.length; j++)
{
attributes[ j ] = new Attribute(atts.getQName(j),
atts.getValue(j));
}
try
{
processor.initialize(attributes, getCurrentElementProcessor());
}
catch (IOException e)
{
throw SAXExceptionFactory("Exception processing startElement", e);
}