<xs:group name="atomicElements">
<xs:annotation>
<xs:documentation>An atomic template element in AIML indicates to an AIML interpreter that it must return a value according to the functional meaning of the element. Atomic elements do not have any content.</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="star" type="IndexedElement">
<xs:annotation>
<xs:documentation>The star element indicates that an AIML interpreter should substitute the value "captured" by a particular wildcard from the pattern-specified portion of the match path when returning the template. The star element has an optional integer index attribute that indicates which wildcard to use. The minimum acceptable value for the index is "1" (the first wildcard), and the maximum acceptable value is equal to the number of wildcards in the pattern.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="that" type="OneOrTwoDIndexedElement">
<xs:annotation>
<xs:documentation>The pattern-side that element is a special type of pattern element used for context matching. The pattern-side that is optional in a category, but if it occurs it must occur no more than once, and must immediately follow the pattern and immediately precede the template. A pattern-side that element contains a simple pattern expression. The contents of the pattern-side that are appended to the full match path that is constructed by the AIML interpreter at load time. If a category does not contain a pattern-side that, the AIML interpreter must assume an "implied" pattern-side that containing the pattern expression * (single asterisk wildcard).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="input" type="OneOrTwoDIndexedElement">
<xs:annotation>
<xs:documentation>The input element tells the AIML interpreter that it should substitute the contents of a previous user input. The template-side input has an optional index attribute that may contain either a single integer or a comma-separated pair of integers. The minimum value for either of the integers in the index is "1". The index tells the AIML interpreter which previous user input should be returned (first dimension), and optionally which "sentence" of the previous user input. The AIML interpreter should raise an error if either of the specified index dimensions is invalid at run-time. An unspecified index is the equivalent of "1,1". An unspecified second dimension of the index is the equivalent of specifying a "1" for the second dimension.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="thatstar" type="IndexedElement">
<xs:annotation>
<xs:documentation>The thatstar element tells the AIML interpreter that it should substitute the contents of a wildcard from a pattern-side that element. The thatstar element has an optional integer index attribute that indicates which wildcard to use; the minimum acceptable value for the index is "1" (the first wildcard). An AIML interpreter should raise an error if the index attribute of a star specifies a wildcard that does not exist in the that element's pattern content. Not specifying the index is the same as specifying an index of "1".</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="topicstar" type="IndexedElement">
<xs:annotation>
<xs:documentation>The topicstar element tells the AIML interpreter that it should substitute the contents of a wildcard from the current topic (if the topic contains any wildcards). The topicstar element has an optional integer index attribute that indicates which wildcard to use; the minimum acceptable value for the index is "1" (the first wildcard). Not specifying the index is the same as specifying an index of "1".</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="get">
<xs:annotation>
<xs:documentation>The get element tells the AIML interpreter that it should substitute the contents of a predicate, if that predicate has a value defined. If the predicate has no value defined, the AIML interpreter should substitute the empty string "". The AIML interpreter implementation may optionally provide a mechanism that allows the AIML author to designate default values for certain predicates.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="name" type="PredicateName"/>
</xs:complexType>
</xs:element>
<xs:element name="bot" type="BotPredicate"/>
<xs:group ref="shortcutElements"/>
<xs:group ref="systemDefinedPredicates"/>
</xs:choice>
</xs:group> |