Forum OpenACS Development: New arguments passed to ns_xml not working for me

I'm trying to merge over APM enhancments made on HEAD to the 4.6 branch and I'm having problems with the new ns_xml arguments that are used. I get the error message "unknown command" when the format "ns_xml node get attr" and "ns_xml node get content" is used so I had to switch back to the old getattr/getcontent args.

Anyone know what the difference is?


Posted by Peter Marklund on
Jeff forwarded me an email from Don that sheds light on this issue:

"The latest nsxml module dies when compiled with a somewhat older gcc,
apparently due to a bug in gcc, if you use the old-style "getattr" etc
rather than "get attr".

This version of nsxml has been out for ... ummm ... a long time so I
changed to the newer form (which avoids the bug).  Does anyone think
this will be a problem?  If anyone runs into trouble they just need to
upgrade to the latest nsxml module."

The requirement of a new nsxml module should probably be added to the release notes of 4.6.1.

Posted by Don Baccus on
Actually I've figured out how to tell the difference between the two (though an "ns_xml version" command would've made this task much simpler!) and am changing the code to make the proper call depending on whether or not the new form is supported.

You'll get one of those "ns_xml is old you oughtta update" messages you've seen if you've ever used a REALLY REALLY old version of ns_xml along with notification that the code works around the issue.

Posted by Don Baccus on
I've committed the changes described above and have been able to install using the AOLserver3.3+ad13 nsxml and the latest nsxml with AOLserver4.

Please let me know if their are any more problems.

Posted by Ola Hansson on
Hi Don,

I got this error on a check-out from HEAD that I did today:

[19/Mar/2003:17:17:52][11935.65541][-conn1-] Error: Error sourcing /home/ola/web/dotlrntest/packages/acs-bootstrap-installer/installer/install-data-model.tcl:
unknown command
    while executing
"ns_xml node get attr $element $attribute"
    (procedure "apm_attribute_value" line 3)
    invoked from within
"apm_attribute_value $element $attribute"
    (procedure "apm_required_attribute_value" line 2)
I am installing on Oracle and I'm using Mat's AOLserver-ad13 bundle. I also did not get the "ns_xml is old you oughtta update" message ...