QName name = new QName(qName, uri);
_name = name;
_eltLocation = getLocation();
Item newItem = getStartElement(_item, name);
if (newItem == null) {
Item parentItem = _itemStack.get(_itemStack.size() - 1);
if (parent.getName().equals("#top"))
throw new RelaxException(L.l("<{0}> is an unexpected top-level tag.{1}",
errorNodeName(name, _item, parentItem),
errorMessageDetail(_item, parentItem, null, name)));
else
throw new RelaxException(L.l("<{0}> is an unexpected tag (parent <{1}> starts at {2}).{3}",
errorNodeName(name, _item, parentItem),
parent.getName(), parentLocation,
errorMessageDetail(_item, parentItem, parent.getName(), name)));
}
_item = newItem;
_itemStack.add(newItem);
Item parentItem = newItem;
int len = attrs.getLength();
for (int i = 0; i < len; i++) {
String attrUri = attrs.getURI(i);
String attrQName = attrs.getQName(i);