DOMElement::hasAttributeNS

(PHP 5)

DOMElement::hasAttributeNS Проверяет, существует ли заданный атрибут

Описание

public bool DOMElement::hasAttributeNS ( string $namespaceURI , string $localName )

Показывает, существует ли атрибут в пространстве имен namespaceURI с именем localName в составе элемента.

Список параметров

namespaceURI

URI пространства имен.

localName

Локальное имя.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

Коментарии

This does not work as expected (at least on 5.2.5) with attributes in the default namespace. For instance:

<?php
$dom 
= new DOMDocument();
$dom->loadXML('<?xml version="1.0"?><element xmlns="testns" attr="testval" />');
var_dump($dom->documentElement->hasAttributeNS('testns''attr'));
?>

returns bool(false) whereas:

<?php
$dom 
= new DOMDocument();
$dom->loadXML('<?xml version="1.0"?><element xmlns:ns1="testns" ns1:attr="testval" />');
var_dump($dom->documentElement->hasAttributeNS('testns''attr'));
?>

returns bool(true). NULL does work properly in the namespaceURI parameter, so changing my initial example to:

<?php
$dom 
= new DOMDocument();
$dom->loadXML('<?xml version="1.0"?><element xmlns="testns" attr="testval" />');
var_dump($dom->documentElement->hasAttributeNS(NULL'attr'));
?>

returns bool(true) as expected. Or even better for when you don't know whether the NS will be default:

<?php
$dom 
= new DOMDocument();
$dom->loadXML('<?xml version="1.0"?><element xmlns="testns" attr="testval" />');
var_dump($dom->documentElement->hasAttributeNS(
   
is_null($dom->documentElement->lookupPrefix('testns')) ? NULL 'testns''attr'));
?>
2008-05-11 03:38:36
http://php5.kiev.ua/manual/ru/domelement.hasattributens.html

    Поддержать сайт на родительском проекте КГБ