diff options
| author | bringert <bringert@cs.chalmers.se> | 2006-04-18 12:42:20 +0000 |
|---|---|---|
| committer | bringert <bringert@cs.chalmers.se> | 2006-04-18 12:42:20 +0000 |
| commit | a663a046edf310247cf1e82761c79397d9bd42ad (patch) | |
| tree | 16eca208e65faad7dc34db9fc35e9b2734721fa1 /src/GF/Speech/GrammarToVoiceXML.hs | |
| parent | 5ccf994499a215480bebecc31411db0217debb93 (diff) | |
Look at both command-line and grammar startcat falgs in pg commands.
Diffstat (limited to 'src/GF/Speech/GrammarToVoiceXML.hs')
| -rw-r--r-- | src/GF/Speech/GrammarToVoiceXML.hs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/GF/Speech/GrammarToVoiceXML.hs b/src/GF/Speech/GrammarToVoiceXML.hs index 1e3916953..f61e75f24 100644 --- a/src/GF/Speech/GrammarToVoiceXML.hs +++ b/src/GF/Speech/GrammarToVoiceXML.hs @@ -21,10 +21,9 @@ import GF.Data.XML import Data.List (isPrefixOf, find, intersperse) -- | the main function -grammar2vxml :: GFC.CanonGrammar -> String -grammar2vxml gr = showsXMLDoc (skel2vxml name startcat gr') "" +grammar2vxml :: String -> GFC.CanonGrammar -> String +grammar2vxml startcat gr = showsXMLDoc (skel2vxml name startcat gr') "" where (name, gr') = vSkeleton gr - startcat = "Order" -- FIXME type VIdent = String @@ -109,7 +108,7 @@ cat2form :: String -> VIdent -> [(VIdent, [VIdent])] -> XML cat2form gr cat fs = form cat [var "value" (Just "'?'"), formDebug cat, block [if_ "value != '?'" [assign cat "value"]], - field cat [] [promptString ("quest_"++cat), + field cat [] [promptString (catQuestion cat), grammar (gr++"#"++cat), nomatch [Data "I didn't understand you.", reprompt], help [Data ("help_"++cat)], @@ -120,6 +119,10 @@ cat2form gr cat fs = where subDone = [assign cat "sub.value", return_ [cat]] feedback = [] +catQuestion :: VIdent -> String +catQuestion cat = questFun + where questFun = "quest_"++cat + fun2form :: String -> VIdent -> [VIdent] -> XML fun2form gr fun args = form fun ([var "value" Nothing] ++ [formDebug fun] |
