/usr/share/pyshared/aiml/SUPPORTED_TAGS.txt is in python-aiml 0.8.6-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | This document describes the current state of PyAIML's compliance
to the AIML 1.0.1 standard. The full AIML reference manual can be
found online at http://alicebot.org/TR/2001/WD-aiml.
The following tags are currently supported:
<bot name="name"> (see notes)
<condition>
<date>
<formal>
<gender>
<get>
<id>
<input>
<learn>
<li>
<lowercase>
<person>
<person2>
<random>
<sentence>
<set>
<size>
<sr>
<srai>
<star>
<system>
<that>
<thatstar>
<think>
<topic>
<topicstar>
<uppercase>
<version>
Support for the following tags should be implemented in the next version:
None
The following tags are not supported:
<gossip> (see notes)
<if> / <else> (see notes)
<javascript> (see notes)
<secure> (see notes)
------------------------------------------------------------------
NOTES ON SPECIFIC TAGS:
<bot name="name">
To set the bot's name, use Kernel.setBotName("NewName"). Note that the
name *MUST* be a single word! Use Kernel.getBotName() to query the bot's
name in your code.
<gossip>
The AIML 1.0.1 specification lets engine authors implement the the behavior
of the <gossip> tag however they wish. I haven't yet decided what I'd like
to do with it, so right now it doesn't do anything at all.
<if> / <else>
These elements appear to have been dropped between AIML 1.0 and AIML 1.0.1.
They may someday be added as a part of an AIML 1.0 backwards-compatibility
mode, but in the meantime, use <condition> instead.
<javascript>
Support for the JavaScript tag is not anticipated; one of the design
goals of PyAIML is to remain 100% pure standard Python. So until
somebody writes a JavaScript interpreter in Python, PyAIML won't
support the <javascript> tag. On the bright side, it is possible
to simulate the effects of the <javascript> tag (i.e. dynamically-
generated tag contents) using the <system mode="sync"> tag. This
solution has the added advantage of allowing *any* programming
language to be used, not just JavaScript.
UPDATE: The python-spidermonkey project provides a bridge between Python
and the open-source SpiderMonkey JavaScript library. I am currently
investigating the possibility of adding support for the <javascript>
tag ON A PURELY OPTIONAL BASIS.
<secure>
Some AIML implementations support a non-standard <secure> tag, intended to
wrap parts of a template which should only be processed if the user is
"secure", or trusted. After implementing support for this tag, I realized
that it wasn't doing anything that you can't do with the <condition> tag.
Therefore, I've decided to drop support for the <secure> tag. You can
easily duplicate its effects; simply replace this:
<secure error="you're not allowed">you are allowed</secure>
with this:
<condition name="secure">
<li value="yes">you are allowed</li>
<li>you are not allowed</li>
</condition>
Then, use the Kernel.setPredicate() call to set the "secure" predicate to
"yes" for any session that you wish to be secure.
|