loadXML() and namespace

[email protected] ("Michael A. Peters")
Newsgroups php.general
Message-ID <[email protected]>
It seems that if I use loadXML($string) and the $string has a namespace 
defined in it, domdocument is nuking the namespace and changing the 
nodenames from whatever to defaultwhatever.

Example -

<math xmlns="http://www.w3.org/1998/Math/MathML">
   <mrow>
     <mrow>
       <msup>
         <mi>x</mi>
         <mn>2</mn>
       </msup>
       <mo>+</mo>
       <mrow>
         <mn>4</mn>
         <mo></mo>
         <mi>x</mi>
       </mrow>
       <mo>+</mo>
       <mn>4</mn>
     </mrow>
     <mo>=</mo>
     <mn>0</mn>
   </mrow>
</math>

would get changed to

<defaultmath>
   <defaultmrow>
     <defaultmrow>
       <defaultmsup>
         <defaultmi>x</defaultmi>
         <defaultmn>2</defaultmn>
       </defaultmsup>
       <defaultmo>+</defaultmo>
       <defaultmrow>
         <defaultmn>4</defaultmn>
         <defaultmo></defaultmo>
         <defaultmi>x</defaultmi>
       </defaultmrow>
       <defaultmo>+</defaultmo>
       <defaultmn>4</defaultmn>
     </defaultmrow>
     <defaultmo>=</defaultmo>
     <defaultmn>0</defaultmn>
   </defaultmrow>
</defaultmath>

which of course breaks the page.
So it seems I need to somehow tell loadXML() about the namespace so it 
doesn't do that, but I'm not having much luck with the php manual, 
DOMDocument documentation seems a little on the "not written" side.

When I create the nodes and add them to the dom via domdocument it works 
fine, but the issue is I like to cache the content div as a string and 
load it when the page is requested (stuff outside the content div needs 
to be dynamic and not cached) but this namespace issue prevents that.

Any tips would be appreciated, caching makes a huge difference.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.