Класс DOMAttr

(PHP 5, PHP 7, PHP 8)

Введение

DOMAttr представляет атрибут в объекте DOMElement.

Обзор классов

class DOMAttr extends DOMNode {
/* Свойства */
public readonly string $name;
public readonly bool $specified = true;
public string $value;
public readonly ?DOMElement $ownerElement;
public readonly mixed $schemaTypeInfo = null;
/* Наследуемые свойства */
public readonly string $nodeName;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly ?DOMElement $parentElement;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly bool $isConnected;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
/* Методы */
public __construct(string $name, string $value = "")
public isId(): bool
/* Наследуемые методы */
public DOMNode::C14N(
    bool $exclusive = false,
    bool $withComments = false,
    ?array $xpath = null,
    ?array $nsPrefixes = null
): string|false
public DOMNode::C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    ?array $xpath = null,
    ?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $deep = false): DOMNode|false
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::insertBefore(DOMNode $node, ?DOMNode $child = null): DOMNode|false
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $otherNode): bool
public DOMNode::isSupported(string $feature, string $version): bool
}

Свойства

name

Имя атрибута.

ownerElement

Элемент, который содержит атрибут или null.

schemaTypeInfo

Ещё не реализовано, возвращает null.

specified

Ещё не реализовано, возвращает null.

value

Значение атрибута.

Замечание:

Обратите внимание, что сущности XML расширяются при установке значения. Поэтому символ & имеет особое значение. Установка значения (value) в само себя приведёт к ошибке, если значение (value) содержит символ &. Чтобы избежать расширения сущности, вместо этого вызывают метод DOMElement::setAttribute().

Содержание

  • DOMAttr::__construct — Создаёт экземпляр класса DOMAttr
  • DOMAttr::isId — Проверяет, является ли атрибут определённым идентификатором
add a note add a note

User Contributed Notes 2 notes

up
2
greubel at nkey dot de
10 years ago
Please take care on debugging DOMAttr related code. This will cause an E_WARNING that retrieving schemaTypeInfo attribute is not implemented yet. An IDE like Eclipse will inspect the object and its member elements. In conjunction with registered error handlers, which will translate the E_WARNING into Exception your debugging session will end unexpectedly. This has caused me some trouble while debugging my PHPUnit test case in eclipse using "Makegood" plugin.

A possible workarround is to deactivate the error handling during debugging using error_reporting(0). Remove the statement after finishing your debugging session.

Notable ticket in Bugtracker: https://bugs.php.net/bug.php?id=61858
And a xdebug tracker ticket: http://bugs.xdebug.org/view.php?id=910
up
1
chregu at php dot net
15 years ago
See also the properties from the inherited class DOMNode ( http://php.net/manual/en/class.domnode.php ), eg. namespaceURI, prefix, localName, etc, especially if you have to deal with namespaced attributes
To Top