AIMLProcessorExtension:标签在aiml中不起作用 [英] AIMLProcessorExtension: tag not working in aiml

查看:212
本文介绍了AIMLProcessorExtension:标签在aiml中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用程序选项卡在 aiml 中创建自己的标记。标签不起作用。有什么问题?

I am trying to create my own tag in aiml using program tab. The tag is not working. What is the problem?

Java代码:

public class AIMLExtension implements AIMLProcessorExtension{
  public Set<String> extensionTagNames = Utilities.stringSet("check");
  @Override
  public Set<String> extensionTagSet() {
    // TODO Auto-generated method stub
    return extensionTagNames;
  }

  private String contactId(Node node, ParseState ps) {
    return "Success :P";
  }

  @Override
  public String recursEval(Node node, ParseState ps) {
    // TODO Auto-generated method stub
    try {
        String nodeName = node.getNodeName();
        if (nodeName.equals("check"))
            return contactId(node, ps);
        else return (AIMLProcessor.genericXML(node, ps));
    } catch (Exception ex) {
        ex.printStackTrace();
        return "";
    }
  }
}

AIML代码:我到了我没有回答以下代码。

AIML code: I am getting I have no answerfor the below code.

<category>
  <pattern>CHECKING EXTENSION</pattern>
  <template>RESTCALL <check> </template>
</category>

AIML代码:我收到 RESTCALL< check /> 本身代码如下。

AIML code : I am getting RESTCALL <check/> itself for the below code.

<category>
  <pattern>CHECKING EXTENSION</pattern>
  <template>RESTCALL <check/> </template>
</category>


推荐答案

探索program-ab并查看其标签的工作原理。我通过在程序ab代码中复制person标签的代码来创建标签。

Explore program-ab and see how its tags work. I created a tag by replicating code for person tag in program ab code.

这篇关于AIMLProcessorExtension:标签在aiml中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆