Reply to Re: [PHP] Re: Using DOM object, how?

Your name:

Reply:


Posted by Ken Tozier on 09/20/05 02:04

Even better, you can just extend the DOMDocument class, which is
perfect, since I'm basically just adding convenience methods.

Thanks all for your help

Ken


<?php
$x = new MyDom();

$x->createScriptElement('howdy.js');
$x->createCSSLinkElement('howdy.css');
$x->createStyledDivElement('bugColumnTitle', "I'm a styled piece
of text!");

print($x->saveXML());

class MyDom extends DOMDocument
{
function createScriptElement($inPath)
{
$new_elem = $this->createElementAndAppend('script', null);
$new_elem->setAttribute('type', 'text/javascript');
$new_elem->setAttribute('src', $inPath);
}

function createCSSLinkElement($inPath)
{
$new_elem = $this->createElementAndAppend('link', null);
$new_elem->setAttribute('href', $inPath);
$new_elem->setAttribute('rel', 'stylesheet');
$new_elem->setAttribute('media', 'screen');
}

function createStyledDivElement($inStyle, $inData)
{
$new_elem = $this->createElementAndAppend('div', $inData);
$new_elem->setAttribute('class', $inStyle);
}


function createElementAndAppend($inType, $inData)
{
// setting null inData to an empty string forces a close
tag which is what we want
$elem_data = ($inData == null) ? '' : $inData ;
$new_elem = $this->createElement($inType, $elem_data);
$this->appendChild($new_elem);
return $new_elem;
}
}
?>



On Sep 19, 2005, at 6:13 PM, Ken Tozier wrote:

> Thanks Jasper
>
> Works perfectly on my Mac now as well.
>
> Ken
>
> On Sep 19, 2005, at 4:58 PM, Jasper Bryant-Greene wrote:
>
>
>> <?php
>> $x = new MyDom();
>> $x->createScriptElement('howdy.js');
>> print($x->saveXML());
>>
>> class MyDom {
>> private $dom;
>>
>> /* __construct() = PHP5 constructor */
>> function __construct() {
>> $this->dom = new DOMDocument('1.0', 'iso-8859-1');
>> /* No need to return $this from a constructor */
>> }
>>
>> function createScriptElement($scriptPath) {
>> $script = $this->dom->createElement('script', '');
>> $script->setAttribute('type', 'text/javascript');
>> $script->setAttribute('src', $scriptPath);
>> $this->dom->appendChild($script);
>> /*
>> Doesn't make sense for a createScriptElement()
>> method to also print out the XML, so I made a
>> separate method and called that from the
>> mainline code.
>> */
>> }
>>
>> function saveXML() {
>> return $this->dom->saveXML();
>> }
>> }
>> ?>
>>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация