linkdeveloperxmlxpriorisolutionxmldbdownloadtop
トップページ ご利用ガイド サイトマップ


↑Get! NeoCore!


↑ITスキルを
のばすなら


↑XMLのことなら

↑セミナー開催
NeoCoreXMS/Xpriori


TOP  >>  XML解説  >>  探検 XMLボキャブラリの世界



2008年5月26日 更新


第18回:音声対話のボキャブラリ − VoiceXML,CCXML,SCXML

著者:岸 和孝(JAGAT客員研究員)

全文については,Printers Circle(2007年12月号)をご覧ください。

▼図1-1 VoiceXMLによるフォーム
<?xml version="1.0"?>
<vxml version="2.0">
  <form>
    <field name="内容">
      <prompt>どの内容をマークアップしますか?</prompt>
      <grammar type="text/gsl"> [ (数式) (楽譜) (分子構造)] </grammar>
    </field>
  </form>
</vxml>
▼図1-2 HTMLによるフォーム
<html>
  <body>
  <form method="POST" action="http://www.jagat.or.jp/sgml/query.cgi">
    <p>どの内容をマークアップしますか?</p>
      <input type="radio" name="内容" value="数式">
      <input type="radio" name="内容" value="楽譜">
      <input type="radio" name="内容" value="分子構造">
    </form>
  </body>
</html>
▼図3-1 CCXMLの記述(dialog.vxmlを呼び出すdialog.ccxml)
<?xml version="1.0"?>
<ccxml version="1.0" xmlns="http://www.w3.org/2002/09/ccxml">
  <!-- 状態変数の宣言 -->
  <var name="Var" expr="'init'"/>                  <!-- 状態を初期状態とする -->
  <eventprocessor statevariable="Var">             <!-- イベント処理 -->
    <!-- 初期状態で警報があった場合 -->
    <transition state="init" event="connection.alerting">
      <accept/>                                    <!-- システムへ接続する -->
    </transition>
    <!-- 初期状態で接続された場合 -->
    <transition state="init" event="connection.connected">
      <log expr="'開始する。'"/>
      <dialogstart src="'dialog.vxml'"/>           <!-- 音声対話を開始する -->
      <assign name="Var" expr="'dialogActive'" />  <!-- 状態を対話中とする -->
    </transition>
    <!-- 対話中状態で対話が終了した場合 -->
    <transition state="dialogActive" event="dialog.exit">
      <log expr="'「' + event$.values.input + '」という返答があった。'" />
      <exit/>                                      <!-- 終了する -->
    </transition>
    <!-- 切断された場合 -->
    <transition event="connection.disconnected">
      <exit/>                                      <!-- 終了する -->
    </transition>
    <!-- エラーが発生した場合 -->
    <transition event="error.*" >
      <log expr="'「' + event$.reason + '」という問題が生じた。'"/>
      <exit/>                                     <!-- 終了する -->
    </transition>
  </eventprocessor>
</ccxml>
▼図3-2 VoiceXMLの記述(dialog.ccxmlから呼び出されるdialog.vxml)
<?xml version="1.0"?>
<vxml xmlns="http://www.w3.org/2001/vxml" version="2.0">
  <form id="Form">
    <field name="input" type="digits">
      <prompt>番号を言ってください。</prompt>
      <filled><exit namelist="input"/></filled>
    </field>
  </form>
</vxml>

社団法人日本印刷技術協会(JAGAT) PrintersCircle 2007年12月号より転載

社団法人日本印刷技術協会(JAGAT) 探検 XMLボキャブラリの世界




  探検 XMLボキャブラリの世界
  第1回  ホームページのボキャブラリ − XHTML
  第2回  印刷のボキャブラリ − JDF,JMF,PrintTalk
  第3回  書誌情報のボキャブラリ − RDF,RSS,Atom
  第4回  新聞記事のボキャブラリ − NewsML
  第5回  電子商取引のボキャブラリ − PrintTalk
  第6回  ビジネス・グラフのボキャブラリ − ODF,xChart,JMSL chart,ChartSVG,XML/SWF Charts,xfy
  第7回  化学のボキャブラリ − CML
  第8回  文書型定義のボキャブラリ − XML Schema,RELAX NG
  第9回  地理情報のボキャブラリ − GML,G-XML
  第10回  楽譜のボキャブラリ − MusicXML
  第11回  数式のボキャブラリ − MathML
  第12回  オフィス文書のボキャブラリ − ODF(その1)
  第13回  オフィス文書のボキャブラリ − ODF(その2)
  第14回  オフィス文書のボキャブラリ − ODF(その3)
  第15回  オフィス文書のボキャブラリ − ODF(その4)
  第16回  オフィス文書のボキャブラリ − ODF(その5)
  第17回  ユーザー・インターフェースのボキャブラリ − XUL
  第18回  音声対話のボキャブラリ − VoiceXML,CCXML,SCXML
  第19回  文書型定義のボキャブラリ − RELAX NG Compact Syntax
  第20回  ボキャブラリ変換のボキャブラリ − XSLT

  関連記事
  XPathを使ってみよう
  属性を記述してみよう

^ ページのトップへ

Copyright(c)2004 Nihon Unitec Co., Ltd. All right reserved.