anchor.diff:  
     // Internal method to build a name.
     XmlName _buildName(String name, String uri) {
  -    return uri == null || uri.isEmpty
  -        ? new XmlName.fromString(name)
  -        : new XmlName(name, _lookup(uri).prefix);
  +    if (uri != null && !uri.isEmpty) {
  +      var meta = _lookup(uri);
  +      meta.used = true;
  +      return new XmlName(name, meta.prefix);
  +    } else {
  +      return new XmlName.fromString(name);
  +    }
     }
   
     // Internal method to lookup an namespace prefix.
  
positive.code:     if (prefix == _XMLNS || prefix == _XML) {
        throw new ArgumentError('The "$prefix" prefix cannot be bound.');
      }
      if (_stack.any((builder) => builder.namespaces[uri] != null && builder.namespaces[uri].prefix == prefix)) {
        // namespace prefix already correctly specified
        return;
      }
      if (_stack.last.namespaces.values.any((meta) => meta.prefix == prefix)) {
  
negative.code:   void attribute(String name, value, {String namespace}) {
      _stack.last.attributes
          .add(new XmlAttribute(_buildName(name, namespace), value.toString()));
    }
  
    /**
  