code: public void updateAttributes(String targetId, Map<String, String> attributes)
              throws IOException {
          startChangesIfNecessary();
          ResponseWriter writer = getWrapped();
          writer.startElement("attributes", null);
          writer.writeAttribute("id", targetId, null);
          for (Map.Entry<String, String> entry : attributes.entrySet()) {
              writer.startElement("attribute", null);
              writer.writeAttribute("name", entry.getKey(), null);
              writer.writeAttribute("value", entry.getValue(), null);
              writer.endElement("attribute");
          }
          writer.endElement("attributes");
      }
docs: <p class="changed_added_2_0">Write an attribute update operation.</p>
  
  @param targetId   ID of the node to be updated
  @param attributes Map of attribute name/value pairs to be updated
  @throws IOException if an input/output error occurs
  @since 2.0