in commons-digester3-core/src/main/java/org/apache/commons/digester3/NodeCreateRule.java [256:295]
public void startElement( final String namespaceURI, final String localName, final String qName, final Attributes atts )
throws SAXException
{
addTextIfPresent();
try
{
final Node previousTop = top;
if ( ( localName == null ) || ( localName.isEmpty() ) )
{
top = doc.createElement( qName );
}
else
{
top = doc.createElementNS( namespaceURI, localName );
}
for ( int i = 0; i < atts.getLength(); i++ )
{
Attr attr = null;
if ( ( atts.getLocalName( i ) == null ) || ( atts.getLocalName( i ).isEmpty() ) )
{
attr = doc.createAttribute( atts.getQName( i ) );
attr.setNodeValue( atts.getValue( i ) );
( (Element) top ).setAttributeNode( attr );
}
else
{
attr = doc.createAttributeNS( atts.getURI( i ), atts.getLocalName( i ) );
attr.setNodeValue( atts.getValue( i ) );
( (Element) top ).setAttributeNodeNS( attr );
}
}
previousTop.appendChild( top );
depth++;
}
catch ( final DOMException e )
{
throw new SAXException( e.getMessage() );
}
}