((Element)currentNode).setAttributeNS(nameInfo.getNamespaceURI(), nameInfo.getQualifiedName(), buffer.toString());
Attr attr = document.createAttributeNS(nameInfo.getNamespaceURI(), nameInfo.getQualifiedName()); attr.setNodeValue(buffer.toString()); ((Element)currentNode).setAttributeNodeNS(attr); handler.recordValues(attr, o, f, values);
  protected void saveEObjectMany(EObject o, EStructuralFeature f)  {    InternalEList values = (InternalEList)helper.getValue(o, f);    if (!values.isEmpty())    {      buffer.setLength(0);      for (Iterator i = values.basicIterator();;)      {        EObject value = (EObject)i.next();        String id = helper.getHREF(value);        if (id != null)        {          if (escapeURI != null)          {            id = escapeURI.convert(id);          }          if (!id.startsWith("#"))          {            EClass eClass = value.eClass();            EClass expectedType = (EClass)f.getEType();            if (eClass != expectedType && (saveTypeInfo || expectedType.isAbstract()))            {              buffer.append(helper.getQName(eClass));              buffer.append(" ");            }          }          buffer.append(id);        }        if (i.hasNext())        {          buffer.append(" ");        }        else        {          break;        }      }      if (!toDOM)      {        String name = helper.getQName(f);        doc.startAttribute(name);        doc.addAttributeContent(buffer.toString());        doc.endAttribute();      }      else      {        helper.populateNameInfo(nameInfo, f);        ((Element)currentNode).setAttributeNS(nameInfo.getNamespaceURI(), nameInfo.getQualifiedName(), buffer.toString());      }    }  }