code: public function setAttributes($attr)
      {
          if ($attr instanceof ArrayMap) {
              $this->setAttributes($attr->asArray());
              return;
          }
          if (!is_array($attr)) {
              throw new InvalidArgumentException("Array required.");
          }
          foreach ($attr as $key => $value) {
              if (is_numeric($key)) {
                  $attrName  = $value;
                  $attrValue = null;
              } else {
                  $attrName  = $key;
                  $attrValue = $value;
              }
              $this->setAttribute($attrName, $attrValue);
          }
      }
docs: この要素に複数の属性を一括して設定します.
  <code>
  $element->setAttributes(array("id" => "foo", "class" => "bar"));
  </code>
  のように, キーに属性名, 値に属性の値を指定してください.
  
  キーが省略された場合 (具体的にはキーに整数が指定された場合) は,
  その値を属性名とする Boolean 属性を設定します.
  
  @param array|ArrayMap $attr 属性の一覧