You kind of have to have a custom php build anyway because DOMXML stuff
isn't part of the RH php installation.  I've got rpms for RH 7.2 if that
will help.  They don't have the get_content stuff, but I could add that to
my custom patch (that fixes bug #14934) no problem.  Besides, it'll be in
the next release; it's not "custom code" in the purest definition of the
term.

Joseph

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, February 13, 2002 11:04 AM
> To: [EMAIL PROTECTED]
> Subject: Bug #15530 Updated: conent of node node correct reading new DOM
> value after set_content of node
>
>
>  ID:               15530
>  Updated by:       [EMAIL PROTECTED]
>  Reported By:      [EMAIL PROTECTED]
>  Status:           Open
>  Bug Type:         DOM XML related
>  Operating System: RedHat 7.2
>  PHP Version:      4.1.1
>  New Comment:
>
> Any other workaround for the get_content problem?  We can use a custom
> php build on our development machines, but cant on the server where the
> code will actually be going.
>
> Thanks
>
>
> Previous Comments:
> ------------------------------------------------------------------------
>
> [2002-02-13 10:43:55] [EMAIL PROTECTED]
>
> The problem is that the content property is going away, so that
> property is not set.  This is why it's not being updated.  It's being
> replaced by a get_content() function.  This is in CVS at this very
> moment.
>
> As for the appending of xml contents, the comment in the code is as
> follows:
> // FIXME: another gotcha. If node has children, calling
> // xmlNodeSetContent will remove the children -> we loose the zval's
> // To prevent crash, append content if children are set
>
>
> I think if you just used the get_content() function instead of the
> ->content property that your problem would go away.  Of course you're
> going to have to pull it from CVS.
>
> ------------------------------------------------------------------------
>
> [2002-02-12 16:18:23] [EMAIL PROTECTED]
>
> The following simplied script shows that when we update the value of a
> node, the DOM is updated as shown through the dump.  When you try to
> read the content of the node however, it returns the origional value.
>
>
> If this is a bug, is there any known workaround to get the desired
> result?
>
> Also, we had to use the set_content as provided in the script because
> if a node already has a value and we try to call set_content directly
> on the node rather than on the the text element (value node), it
> appends the data to the node rather than overwriting the exisitng
> value.
>
> XPath is used in here as our real XML data is quite complex so needed
> to illustrate how we were finding the correct node.
>
> <?
> $xmltest = "<root_node><node1>ORG VALUE</node1></root_node>";
> $mydoc = xmldoc($xmltest);
> echo "<pre>".$mydoc->dumpmem()."</pre><br>";
> $ctx=$mydoc->xpath_new_context();
> $query_xo = xpath_eval($ctx,"/root_node/node1");
> $oNode = $query_xo->nodeset[0];
> if (is_null($oNode)) {
>       $root = $$mydoc->root();
>       $root->new_child("node1", "empty");
> } else {
>       $tNode = $oNode->first_child();
>       $tNode->set_content("VALUE1");
> }
> echo "<pre>".$mydoc->dumpmem()."</pre><br>";
> $ctx2=$mydoc->xpath_new_context();
> $query_xo = xpath_eval($ctx2,"/root_node/node1");
> $oNode = $query_xo->nodeset[0];
> if (! is_null($oNode)) {
>       $tNode = $oNode->first_child();
>       $strValue = $tNode->content;
> }
> echo "<br>GET VAL".$strValue."<br>";
> echo "<pre>".$mydoc->dumpmem()."</pre>";
> ?>
>
>
> ------------------------------------------------------------------------
>
>
> --
> Edit this bug report at http://bugs.php.net/?id=15530&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to