if (name.equals(META_ATTRIBUTES) || name.equals(EXCEPT_ATTRIBUTES)) continue; // already handled
if (meta.containsKey(name)) {
// if the explicit value is also generated by a map, delete it first.
// this is O(N) operation, but we don't expect there to be a lot of collisions.
int idx = actual.getIndex(name);
if(idx>=0) actual.removeAttribute(idx);
}
Expression expression = e.getValue().exp;
actual.addAttribute("",name,name,"CDATA",expression.evaluateAsString(context));
}