以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML在语音技术中的应用 』   (http://bbs.xml.org.cn/list.asp?boardid=47)
----  openvxi解析vxml过程中的一个问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=47&rootid=&id=38992)


--  作者:aryaky
--  发布时间:10/17/2006 11:28:00 AM

--  openvxi解析vxml过程中的一个问题
openvxi源代码vxi目录下有一个文件schema.hpp,这个文件存放的是一个char数组的定义。
在解析vxml文件之前,openvxi都要在这个数组中取出一部分进行解析。然后把解析的结果扔掉,这是为什么呢,难道只是为了验证sax2解析是否成功?
解析部分的代码如下
    MemBufInputSource membuf(VALIDATOR_DATA + DUMMY_VXML_DEFAULTS_DOC, DUMMY_VXML_DEFAULTS_DOC_SIZE, "vxml 1.0 defaults");
    parser->parse(membuf);
    converter->ResetDocument(); // Throw this document away.


membuf中存放的输入如下
<?xml version="1.0" ?>
<!DOCTYPE defaults PUBLIC "SB_Defaults" "ignore" >
<defaults xml:lang="en">
  <language id="*">
    <meta name="maintainer" content="SpeechWorks International"/>
  </language>
</defaults>
--  作者:zhu_ruixian
--  发布时间:11/23/2006 2:16:00 PM

--  
MemBufInputSource membuf(VALIDATOR_DATA + DUMMY_VXML_DEFAULTS_DOC, DUMMY_VXML_DEFAULTS_DOC_SIZE, "vxml 1.0 defaults");
    parser->parse(membuf);
    converter->ResetDocument(); // Throw this document away.
//这段代码的意思应该是,用membuf里面的内容来构建xml树,parser->parse(membuf);
执行以后xml文档的内容就解析出来放在了parser中。解析的结果并没有扔掉吧。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
2,324.219ms