Hi all, I associated a Z SQL Method to a class. This class MUST have attributes but I obtain a Zope error on them. Did anyone know why and what I can do ??? Thanks Fred HERE IS THE ERROR ---------------------------------------- Error Zope has encountered an error while publishing this resource. See below for details. Error Type: AttributeError Error Value: interests_founded Troubleshooting Suggestions The URL may be incorrect. The parameters passed to this resource may be incorrect. A resource that this resource relies on may be encountering an error. For more detailed information about the error, please refer to the HTML source for this page. If the error persists please contact the site maintainer. Thank you for your patience. Version 2.0.1 -- © 2000 Profile For You -- Internal use only. Traceback (innermost last): File /usr/local/Zope-2.1.6-linux2-x86/lib/python/ZPublisher/Publish.py, line 214, in publish_module File /usr/local/Zope-2.1.6-linux2-x86/lib/python/ZPublisher/Publish.py, line 179, in publish File /usr/local/Zope-2.1.6-linux2-x86/lib/python/Zope/__init__.py, line 202, in zpublisher_exception_hook (Object: ElementWithAttributes) File /usr/local/Zope-2.1.6-linux2-x86/lib/python/ZPublisher/Publish.py, line 165, in publish File /usr/local/Zope-2.1.6-linux2-x86/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: index_html) File /usr/local/Zope-2.1.6-linux2-x86/lib/python/ZPublisher/Publish.py, line 102, in call_object (Object: index_html) File /usr/local/Zope-2.1.6-linux2-x86/lib/python/OFS/DTMLDocument.py, line 166, in __call__ (Object: index_html) File /usr/local/Zope-2.1.6-linux2-x86/lib/python/DocumentTemplate/DT_String.py, line 502, in __call__ (Object: index_html) File /usr/local/Zope-2.1.6-linux2-x86/lib/python/OFS/DTMLMethod.py, line 146, in __call__ (Object: dmProfileCompare) File /usr/local/Zope-2.1.6-linux2-x86/lib/python/DocumentTemplate/DT_String.py, line 502, in __call__ (Object: dmProfileCompare) File /usr/local/Zope-2.1.6-linux2-x86/lib/python/DocumentTemplate/DT_In.py, line 691, in renderwob (Object: sqlSiteProfileDetails( WEBSITEID=REQUEST.id, PAGEID=REQUEST.pg )) File /usr/local/Zope-2.1.6-linux2-x86/lib/python/DocumentTemplate/DT_Util.py, line 335, in eval (Object: XMLToDict(REQUEST.pstor)) (Info: REQUEST) File <string>, line 0, in ? File /Zope/Extensions/IntranetToolKit.py, line 132, in XMLToDict (Object: Profile4uXMLParser) AttributeError: (see above) HERE IS MY CLASS ---------------------------------------------------- import string import sys from Shared.DC.xml import * from Shared.DC.xml.pyexpat import * class Profile4uXMLParser: # Necessary method to make the pyexpat module works def start_element(self, name, attrs): self.current_name = name # Simple tag for which we just want to store the attributes or the value situated just after the tag if ((name != 'interests') and (self.interests_founded == 0)): for i in range(len(attrs)): if ((i % 2) == 0): self.datas[attrs[i]] = attrs[i+1] # If we have a value just after the tag, it will be associate with the name of the tag after if (name != 'profile'): self.datas[name] = '' # We find the tag interests so... elif (self.interests_founded == 0): self.interests_founded = 1 # Tag founded in the tag interests else: tmp = {} tmp['level'] = string.replace(name,'l','') for i in range(len(attrs)): if ((i % 2) == 0): tmp[attrs[i]] = attrs[i+1] self.interests.append(tmp) # Necessary method to make the pyexpat module works def end_element(self, name): # End of interests : we can find others simple tags if (name == 'interests'): self.interests_founded = 0 # Necessary method to make the pyexpat module works def char_data(self, data): # Association of the value founded just after the tag with the name of the tag if ((self.current_name != 'interest') and (self.interests_founded == 0)): # If the data need to be decoded... if (string.find(data,':') >= 0): tmp2 = {} tmp = string.split(data,':') for i in range(len(tmp)): if ((i % 3) == 0): tmp2[tmp[i]] = [tmp[i+1],tmp[i+2]] self.datas[self.current_name] = tmp2 else: self.datas[self.current_name] = data def XMLToDict(self, dict): self.interests_founded = 0 # To know when we have found the interests self.datas = {} # To store all general informations self.current_name = '' # To associate the information located just after a tag to the name of this tag (see char_data method) self.interests = [] # To store temporaly the interests p = pyexpat.ParserCreate() p.StartElementHandler = self.start_element p.EndElementHandler = self.end_element p.CharacterDataHandler= self.char_data if (self.INTEREST != 'false'): p.Parse(self.INTEREST) dict[self.datas['type']] = [self.datas,self.interests] return dict _______________________________________________ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )