您的位置:首页 > 其它

ConfigHandler API

2015-06-29 21:26 351 查看
<span style="font-size:24px;">public class ConfigHandler extends DefaultHandler
本类是在sphinx-sax读取xml配置文件时的事件处理操作类,其主要作用是把才配置文件中的components和global property分布放入Map<String, RawPropertyData> rpdMap,Map<String, String> globalProperties中,每个RawPropertyData存储了一个component的内容,rpdMap存储了所有的components。
本类有一个URL属性表示配置文件存储的路径,即代表了所要解析的配置文件。
本类有两个构造方法:ConfigHandler(Map<String, RawPropertyData> rpdMap, Map<String, String> globalProperties, boolean replaceDuplicates, URL baseURL)和ConfigHandler(Map<String, RawPropertyData> rpdMap, Map<String, String> globalProperties)都需Map<String, RawPropertyData> rpdMap, Map<String, String> globalProperties做为参数,来初始化本类。本类有4个重要的方法:
startElement(String uri, String localName, String qName, Attributes attributes),其中qName为正在读取的内容。Attribute为xml element的属性,当解析器读取到xml的任意startelement时发触发该方法。
characters(char ch[], int start, int length)处理的是<item>与</item>之间的字符串。
endElement(String uri, String localName, String qName)对读到endElement的处理。
mergeConfigs(String configFileName, boolean replaceDuplicates) 的主要作用是看配置文件中得到config标记的extends属性和include及extendwith标记进行处理。其主要功能是载入与本配置文件相关的配置文件,并进行读取,同时根据extends属性和include及extendwith标记设置replaceDuplicates的值。读取完相关的配置文件后在接着解析本配置文件根据replaceDuplicates。读取完所有的配置文件后,所有配置文件中的components和global property都放入同一个Map<String, RawPropertyData> rpdMap,Map<String, String> globalProperties中。
我们一般只有一个配置文件。所以一般在startelement触发的方法中是不会调用mergeConfigs方法的,如果有则在startelement方法中会调用mergeConfigs方法。</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sphinx 语音识别