// FIXME: Needs support for xml, xmlns, xlink, and namespaced elements.
if (!
$ele->
hasAttributes()) { return $this;
} // TODO: Currently, this always writes name="value", and does not do
// value-less attributes.
$map =
$ele->attributes;
$len =
$map->length;
for ($i = 0;
$i <
$len; ++
$i) { $node =
$map->
item($i);
$val =
$this->
enc($node->value, true
);
// XXX: The spec says that we need to ensure that anything in
// the XML, XMLNS, or XLink NS's should use the canonical
// prefix. It seems that DOM does this for us already, but there
// may be exceptions.
$name =
$node->nodeName;
// Special handling for attributes in SVG and MathML.
// Using if/elseif instead of switch because it's faster in PHP.
if ($this->outputMode ==
static::IM_IN_SVG
) {