|
|
DOMElement->setAttribute() (no version information, might be only in CVS) DOMElement->setAttribute() -- Adds new attribute Описаниеclass DOMElement { bool setAttribute ( string name, string value ) }
Sets an attribute with name name to the given
value. If the attribute does not exist, it will be created.
Список параметров
name
The name of the attribute.
value
The value of the attribute.
Возвращаемые значения
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Errors/Exceptions
- DOM_NO_MODIFICATION_ALLOWED_ERR
Raised if the node is readonly.
Примеры
Пример 1. Setting an attribute |
<?php
$doc = new DOMDocument("1.0");
$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);
$newnode->setAttribute("align", "left");
?>
|
|
add a note
User Contributed Notes
DOMElement->setAttribute()
Vasil Rangelov
31-Jul-2007 04:44
@karvjorm,
Using this method is not exactly a good practice. Infact, I think it may be a bug.
Names beginning with "xml" are reserved (for namespaces in this case).
setAttribute() should return false in this case I think, but I suppose it doesn't.
Still, the right way to do it is with createElementNS().
It lets you specify the namespace when creating the element node.
So the equivalent to yours ($html added to allow word wrapping) is:
$dom = new DomDocument('1.0','iso-8859-15');
$html = $dom->createElementNS('http://www.w3.org/1999/xhtml', 'html');
$ht_ml = $dom->appendChild($html);
$ht_ml->setAttribute('xml:lang','fi');
$ht_ml->setAttribute('lang','fi');
karvjorm at users.sourceforge.net
02-Mar-2007 03:05
$dom = new DomDocument('1.0','iso-8859-15');
$ht_ml = $dom->appendChild($dom->createElement('html'));
$ht_ml->setAttribute('xmlns','http://www.w3.org/1999/xhtml');
$ht_ml->setAttribute('xml:lang','fi');
$ht_ml->setAttribute('lang','fi');
Result:
<?xml version="1.0" encoding="iso-8859-15"?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi" lang="fi">
|