Monday, November 08, 2010 at 12:05 AM.


on addAttributeValue (adrelement, attributename, attributevalue) {
	if defined (adrelement^.["/atts"].[attributename]) { //check for uniqueness
		scripterror ("Can't add an attribute named \"" + attributename + "\" to the element because an attribute with that name already exists.")};
	if typeOf (adrelement^) != tableType { //convert to table
		local (val = string (adrelement^));
		new (tableType, adrelement);
		xml.addTable (adrelement, "/pcdata")^ = val};
	if not defined (adrelement^.["/atts"]) {
		new (tableType, @adrelement^.["/atts"])};
	adrelement^.["/atts"].[attributename] = string (attributevalue);
	return (true)}

This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.