<xs:complexType name="Category">
<xs:annotation>
<xs:documentation>A category is a top-level (or second-level, if contained within a topic) element that contains exactly one pattern and exactly one template. A category does not have any attributes. All category elements that do not occur as children of an explicit topic element must be assumed by the AIML interpreter to occur as children of an "implied" topic whose name attribute has the value * (single asterisk wildcard).</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="pattern" type="MixedPatternExpression">
<xs:annotation>
<xs:documentation>A pattern is an element whose content is a mixed pattern expression. Exactly one pattern must appear in each category. The pattern must always be the first child element of the category. A pattern does not have any attributes. The contents of the pattern are appended to the full match path that is constructed by the AIML interpreter at load time.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="that" type="MixedPatternExpression" minOccurs="0">
<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="template" type="MixedTemplateContentContainer">
<xs:annotation>
<xs:documentation>The majority of AIML content is within the template. The template may contain zero or more AIML template elements mixed with character data.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType> |