Reply to Re: How to call a class function from XML

Your name:

Reply:


Posted by Patrick Brunmayr on 10/03/07 20:07

On 3 Okt., 21:44, salmobytes <Sandy.Pittendr...@gmail.com> wrote:
> Let's say I have some XML that looks vaguely like:
>
> <template>
> <div id="displayDivOne" src="mkNav()" />
> ......etc.
> </template>
>
> I want to use the div line to call a class function, I.E. $this->mkNav();
>
> without creating a hard-coded switch statement.
>
> ....I'd like to say something like:
> $cnt=0;
> foreach ($xml->xpath("/template/div") as $adiv)
> {
> $this->divs[$cnt] = '<div id="'.$adiv[@id].'">';
> $myfunc = $adiv[@src];
>
> $this->divs[$cnt] .= $myfunc;
> .....or maybe something like:
> eval ("$this->divs[$cnt] .= $myfunc");
>
> $this->divs[$cnt] .= '</div>';
> $cnt++;
> }
>
> ...but of course none of the above works.
> I don't want to have to remember to modify a switch
> statement every time I add a new function to the class,
> that might end up specified in the XML.

Hi

You could parse the xml file with php xslt processor. The Xslt
Processor class has
a function called registerPHPFunction(). You can find it in the doc!
The you you
could do something like this

<xsl:foreach select="template/div">
// this line calls the php function
$this->divs[$cnt] = <xsl:value-of select="php:function(@func)"/>;
</xsl:foreach>

Maybe this is a solution of your problem

[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

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