downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

DOMElement::removeAttribute> <DOMElement::hasAttribute
[edit] Last updated: Fri, 24 Jun 2011

view this page in

DOMElement::hasAttributeNS

(PHP 5)

DOMElement::hasAttributeNS بررسی وجود ویژگی

Description

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

مشخص نمودن وجود یک ویژگی در فضای نام namespaceURI به نام localName به عنوان عضو یک جز.

Parameters

namespaceURI

URI فضای نام.

localName

نام محلی.

Return Values

Returns TRUE on success or FALSE on failure.

See Also



add a note add a note User Contributed Notes DOMElement::hasAttributeNS - [1 notes]
up
0
chad dot retz at gmail dot com
5 years ago
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'));
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites