What happens if there is a new version of AIML?
From aitools.org
From time to time, there are rumblings that suggest the AIML spec may be updated. Years of working with the current standard have led some people to wish for various adjustments to the core set of functionality. It is unclear by what means a new AIML specification may be deemed as such, but however it happens, this can be handled elegantly by xAIML.
Basically, AIML is identified by two things: its namespace URI (http://alicebot.org/2001/AIML-1.0.1), and its version attribute (1.0.1).[1] An update to either of these items, or a change in AIML's chosen method of identifying versions, will trigger the creation of a new xAIML0--let's call this xAIML0' ("Ex-A-I-M-L sub zero prime").
xAIML0' is then defined using xAIML-Spec, with the original xAIML0 as its "parent". It is useful to diagram this like so:
Now, interestingly enough, a particular xAIML dialect DX that belonged to the original xAIML0 "family" may have a "cousin" "automatically" generated, if the differences between xAIML0 and xAIML0' do not impact any changes within DX's ancestry. I.e.,
(more to come...)
- ↑ The redundancy here reflects a lack of a clear idea on versioning best practices at the time that we issued the specification--since then various sensible suggestions have come to the fore, such as http://devresource.hp.com/drc/resources/xmlSchemaBestPractices.jsp#version.


