- Further improved AIML parsing; missing or invalid XML attributes are now
detected at parse-time. There's also a first stab at support for Forward
Compatibility Mode: if the "version" attribute of an AIML tag is not 1.0.1,
the parser is much more forgiving of unknown or missing XML tags and attributes.
- Added "support" for the 'gossip' tag. The specific behavior of this tag is
totally undefined; currently, the PyAIML implementation treats it as a big
no-op. Its contents are ignored, and it returns the empty string (but at least
it isn't flagged as a syntax error!)
- Oops; I've implemented 'person' as 'person2' and vice versa this whole time!
Swapped them back; they should each behave correctly now.
- A bit of code cleanup, with an emphasis on using proper XML/AIML terminology
whenever possible.
- Fixed some exception-masking in the 'condition' element processor, which could
prevent AIML parse errors from being reported.
- Added full support for the "bot" tag (previously only the 'bot name="name"'
form was supported). Bot predicates are set using the Kernel.setBotPredicate()
function. Note that Kernel.getBotName() and Kernel.setBotName() have been
deprecated, and will disappear in a future release.