summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbringert <bringert@cs.chalmers.se>2007-01-07 18:31:03 +0000
committerbringert <bringert@cs.chalmers.se>2007-01-07 18:31:03 +0000
commit7c80aca735458c56e7d66375aa33baa8d58b11d9 (patch)
tree9e558b235a20173b6a60386c7274d9ed6f09bd3a /src
parent21213621249445f97fa0bf78a1c29b82e476b011 (diff)
VoiceXML generation: catch up with children array in SISR.
Diffstat (limited to 'src')
-rw-r--r--src/GF/Speech/GrammarToVoiceXML.hs14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/GF/Speech/GrammarToVoiceXML.hs b/src/GF/Speech/GrammarToVoiceXML.hs
index 05d841cab..b9ff21f18 100644
--- a/src/GF/Speech/GrammarToVoiceXML.hs
+++ b/src/GF/Speech/GrammarToVoiceXML.hs
@@ -148,7 +148,7 @@ cat2form gr qs cat fs =
cat2form :: String -> CatQuestions -> VIdent -> [(VIdent, [VIdent])] -> XML
cat2form gr qs cat fs =
form (catFormId cat) $
- [var "value" (Just "{ name : '?' }"),
+ [var "value" Nothing,
-- var "callbacks" Nothing,
blockCond "value.name != '?'" [assign (catFieldId cat) "value"],
-- block [doCallback "entered" cat [return_ [catFieldId cat]] []],
@@ -175,14 +175,14 @@ fun2sub gr cat fun args =
++ concat (intersperse ", " (map prid args))
++ ") " ++ prid cat] ++ ss
where
- argNames = zip ["arg"++show n | n <- [0..]] args
- ss = map (uncurry mkSub) argNames
- mkSub a t = subdialog s [("src","#"++catFormId t),
+ ss = zipWith mkSub [0..] args
+ mkSub n t = subdialog s [("src","#"++catFormId t),
("cond",catFieldId cat++".name == "++string (prid fun))]
- [param "value" (catFieldId cat++"."++a),
+ [param "value" v,
-- param "callbacks" "callbacks",
- filled [] [assign (catFieldId cat++"."++a) (s++"."++catFieldId t)]]
- where s = prid fun ++ "_" ++ a
+ filled [] [assign v (s++"."++catFieldId t)]]
+ where s = prid fun ++ "_" ++ show n
+ v = catFieldId cat++".children["++show n++"]"
doCallback :: String -> VIdent -> [XML] -> [XML] -> XML
doCallback f cat i e =