From: "Gary ." on
I need to do essentially do what can be found in the "XML Tag Mapping
example" (http://www.php.net/manual/en/example.xml-map-tags.php) -
transform the names of some XML elements. Normally I'd use XSLT for
this kind of thing, but due to environmental considerations I can't. I
would prefer to do this in a somewhat OO manner so I can hide this
nastiness from the rest of the code.

Obviously I can't pass any of my XML handler's to
xml_set_element_handler as handlers. Nor can I find a way of
encapsulating the "map_array" (at least not without duplicating the
map).

Any ideas? Is there an equivalent for DOM or SimpleXML or something?
From: "Gary ." on
On 6/4/10, Gary wrote:
> I need to do essentially do what can be found in the "XML Tag Mapping
> example" (http://www.php.net/manual/en/example.xml-map-tags.php)
....
> I would prefer to do this in a somewhat OO manner so I can hide this
> nastiness from the rest of the code.
>
> Obviously I can't pass any of my XML handler's to
> xml_set_element_handler as handlers.

Oh. Hum. Of course, I can (where "//..." == elided code):
class Foo {
//...
public function bar() {
//...
xml_set_element_handler($parser,
array(&$this, "startElement"),
array(&$this, "endElement"));
//...
}

public function startElement($parser, $name, $attrs) {
//...
}
}
So just ignore me, I'm having a bad day.