--> -->
 
 
AttributeError
Python 2.3.5: /usr/bin/python
Fri Aug 18 16:22:03 2006

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /usr/local/feedvalidator-20060818/check.cgi
  230             # validate raw data (from text form)
  231 #            try:
  232              params = feedvalidator.validateString(rawdata, firstOccurrenceOnly=1)
  233              events = params['loggedEvents']
  234              feedType = params['feedType']
params undefined, feedvalidator = <module 'feedvalidator' from '/usr/local/feedvalidator/src/feedvalidator/__init__.py'>, feedvalidator.validateString = <function validateString>, rawdata = u'<?xml version="1.0" encoding="UTF-8"?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>', firstOccurrenceOnly undefined

 /usr/local/feedvalidator/src/feedvalidator/__init__.py in validateString(aString=u'<?xml version="1.0" encoding="UTF-8"?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>', firstOccurrenceOnly=1, fallback=None, base='')
  152 
  153   if aString is not None:
  154     validator = _validate(aString, firstOccurrenceOnly, loggedEvents, base, encoding)
  155     return {"feedType":validator.feedType, "loggedEvents":validator.loggedEvents}
  156   else:
validator undefined, global _validate = <function _validate>, aString = u'<?xml version="1.0" encoding="UTF-8"?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>', firstOccurrenceOnly = 1, loggedEvents = [], base = '', encoding = 'utf-8'

 /usr/local/feedvalidator/src/feedvalidator/__init__.py in _validate(aString=u'<?xml version="1.0" encoding="UTF-8"?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>', firstOccurrenceOnly=1, loggedEvents=[], base='', encoding='utf-8', selfURIs=None)
   91 
   92   try:
   93     parser.parse(source)
   94   except SAXException:
   95     pass
parser = <feedvalidator.fake_dtd_parser instance>, parser.parse = <bound method fake_dtd_parser.parse of <feedvalidator.fake_dtd_parser instance>>, source = <xml.sax.xmlreader.InputSource instance>

 /usr/lib/python2.3/xml/sax/expatreader.py in parse(self=<feedvalidator.fake_dtd_parser instance>, source=<xml.sax.xmlreader.InputSource instance>)
  105         self.reset()
  106         self._cont_handler.setDocumentLocator(ExpatLocator(self))
  107         xmlreader.IncrementalParser.parse(self, source)
  108 
  109     def prepareParser(self, source):
global xmlreader = <module 'xml.sax.xmlreader' from '/usr/lib/python2.3/xml/sax/xmlreader.pyc'>, xmlreader.IncrementalParser = <class xml.sax.xmlreader.IncrementalParser>, xmlreader.IncrementalParser.parse = <unbound method IncrementalParser.parse>, self = <feedvalidator.fake_dtd_parser instance>, source = <xml.sax.xmlreader.InputSource instance>

 /usr/lib/python2.3/xml/sax/xmlreader.py in parse(self=<feedvalidator.fake_dtd_parser instance>, source=<xml.sax.xmlreader.InputSource instance>)
  121         buffer = file.read(self._bufsize)
  122         while buffer != "":
  123             self.feed(buffer)
  124             buffer = file.read(self._bufsize)
  125         self.close()
self = <feedvalidator.fake_dtd_parser instance>, self.feed = <bound method fake_dtd_parser.feed of <feedvalidator.fake_dtd_parser instance>>, buffer = '<?xml version="1.0" ?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>'

 /usr/lib/python2.3/xml/sax/expatreader.py in feed(self=<feedvalidator.fake_dtd_parser instance>, data='<?xml version="1.0" ?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>', isFinal=0)
  205             # document. When feeding chunks, they are not normally final -
  206             # except when invoked from close.
  207             self._parser.Parse(data, isFinal)
  208         except expat.error, e:
  209             exc = SAXParseException(expat.ErrorString(e.code), e, self)
self = <feedvalidator.fake_dtd_parser instance>, self._parser = <pyexpat.xmlparser object>, self._parser.Parse = <built-in method Parse of pyexpat.xmlparser object>, data = '<?xml version="1.0" ?>\n<feed xml... </div>\n </content>\n </entry>\n</feed>', isFinal = 0

 /usr/lib/python2.3/xml/sax/expatreader.py in end_element_ns(self=<feedvalidator.fake_dtd_parser instance>, name=u'http://www.w3.org/2005/Atom link')
  346             pair = tuple(pair)
  347 
  348         self._cont_handler.endElementNS(pair, None)
  349 
  350     # this is not used (call directly to ContentHandler)
self = <feedvalidator.fake_dtd_parser instance>, self._cont_handler = <feedvalidator.base.SAXDispatcher instance>, self._cont_handler.endElementNS = <bound method SAXDispatcher.endElementNS of <feedvalidator.base.SAXDispatcher instance>>, pair = (u'http://www.w3.org/2005/Atom', u'link'), builtin None = None

 /usr/local/feedvalidator/src/feedvalidator/base.py in endElementNS(self=<feedvalidator.base.SAXDispatcher instance>, name=u'link', qname=u'http://www.w3.org/2005/Atom')
  200     qname, name = name
  201     for handler in iter(self.handler_stack[-1]):
  202       handler.endElementNS(name, qname)
  203     del self.handler_stack[-1]
  204 
handler = <feedvalidator.link.link instance>, handler.endElementNS = <bound method link.endElementNS of <feedvalidator.link.link instance>>, name = u'link', qname = u'http://www.w3.org/2005/Atom'

 /usr/local/feedvalidator/src/feedvalidator/base.py in endElementNS(self=<feedvalidator.link.link instance>, name=u'link', qname=u'http://www.w3.org/2005/Atom')
  402   def endElementNS(self, name, qname):
  403     self.normalizeWhitespace()
  404     self.validate()
  405     if self.isValid and self.name: 
  406       from validators import ValidElement
self = <feedvalidator.link.link instance>, self.validate = <bound method link.validate of <feedvalidator.link.link instance>>

 /usr/local/feedvalidator/src/feedvalidator/link.py in validate(self=<feedvalidator.link.link instance>)
   77     if self.attrs.has_key((None, "href")):
   78       self.value = self.attrs.getValue((None, "href"))
   79       xmlbase.validate(self, extraParams={"attr": "href"})
   80 
   81       if self.rel == "self" and self.parent.name == "feed":
global xmlbase = <class feedvalidator.validators.xmlbase>, xmlbase.validate = <unbound method xmlbase.validate>, self = <feedvalidator.link.link instance>, extraParams undefined

 /usr/local/feedvalidator/src/feedvalidator/validators.py in validate(self=<feedvalidator.link.link instance>, errorClass=<class feedvalidator.logging.InvalidIRI>, successClass=<class feedvalidator.logging.ValidURI>, extraParams={'attr': 'href'})
  473     if rfc3987.validate(self, errorClass, successClass, extraParams):
  474       if self.dispatcher.xmlBase != self.xmlBase:
  475         docbase=canonicalForm(self.dispatcher.xmlBase).split('#')[0]
  476         elembase=canonicalForm(self.xmlBase).split('#')[0]
  477         value=canonicalForm(urljoin(elembase,self.value)).split('#')[0]
docbase undefined, global canonicalForm = <function canonicalForm>, self = <feedvalidator.link.link instance>, self.dispatcher = <feedvalidator.base.SAXDispatcher instance>, self.dispatcher.xmlBase = '.', ).split = <built-in method split of str object>

AttributeError: 'NoneType' object has no attribute 'split'
      args = ("'NoneType' object has no attribute 'split'",)