private void validateAttributes()
{try { __CLOVER_368_0.M[1871]++;
__CLOVER_368_0.S[8232]++;Iterator i = _attributes.keySet().iterator();
__CLOVER_368_0.S[8233]++;ElementParseInfo epi = getElementParseInfo(_elementName);
// First, check that each attribute is in the set of expected attributes.
__CLOVER_368_0.S[8234]++;while ((((i.hasNext()) && (++__CLOVER_368_0.CT[1396] != 0)) || (++__CLOVER_368_0.CF[1396] == 0))){
{
__CLOVER_368_0.S[8235]++;String name = (String) i.next();
__CLOVER_368_0.S[8236]++;if ((((!epi.isKnown(name)) && (++__CLOVER_368_0.CT[1397] != 0)) || (++__CLOVER_368_0.CF[1397] == 0))){
__CLOVER_368_0.S[8237]++;throw new DocumentParseException(
ScriptMessages.unexpectedAttributeInElement(name, _elementName),
getLocation(),
null);}
}}
// Now check that all required attributes have been specified.
__CLOVER_368_0.S[8238]++;i = epi.getRequiredNames();
__CLOVER_368_0.S[8239]++;while ((((i.hasNext()) && (++__CLOVER_368_0.CT[1398] != 0)) || (++__CLOVER_368_0.CF[1398] == 0))){
{
__CLOVER_368_0.S[8240]++;String name = (String) i.next();
__CLOVER_368_0.S[8241]++;if ((((!_attributes.containsKey(name)) && (++__CLOVER_368_0.CT[1399] != 0)) || (++__CLOVER_368_0.CF[1399] == 0))){