From 3220f75dcb18bcda92828e13d3d5614d9e49030e Mon Sep 17 00:00:00 2001 From: bringert Date: Sun, 7 Jan 2007 18:31:03 +0000 Subject: [PATCH] VoiceXML generation: catch up with children array in SISR. --- src/GF/Speech/GrammarToVoiceXML.hs | 14 +++++++------- 1 file 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 =