From c07300b86be9aa84cf68c3fc510e8af5812cee13 Mon Sep 17 00:00:00 2001 From: bringert Date: Mon, 11 Dec 2006 19:41:03 +0000 Subject: [PATCH] SRGS+SISR: put tags after items. --- src/GF/Speech/PrSRGS.hs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/GF/Speech/PrSRGS.hs b/src/GF/Speech/PrSRGS.hs index 4a88b6cdc..175b97366 100644 --- a/src/GF/Speech/PrSRGS.hs +++ b/src/GF/Speech/PrSRGS.hs @@ -99,7 +99,7 @@ mkProd sisr isList (SRGAlt p n@(Name f pr) rhs) prodItem :: Maybe SISRFormat -> Name -> Maybe Double -> [XML] -> XML -prodItem sisr n mp xs = Tag "item" w (t++cs) +prodItem sisr n mp xs = Tag "item" w (cs++t) where w = maybe [] (\p -> [("weight", show p)]) mp t = prodTag sisr n @@ -111,10 +111,11 @@ prodTag :: Maybe SISRFormat -> Name -> [XML] prodTag sisr (Name f prs) = [tag sisr ts] where ts = [(EThis :. "name") := (EStr (prIdent f))] ++ - [(EThis :. ("arg" ++ show n)) := (EStr (argInit (prs!!n))) - | n <- [0..length prs-1]] - argInit (Unify _) = "?" - argInit (Constant f) = maybe "?" prIdent (forestName f) + [(EThis :. ("arg" ++ show n)) := (EStr v) + | n <- [0..length prs-1], v <- argInit (prs!!n)] + argInit (Unify []) = ["?"] + argInit (Unify _) = [] + argInit (Constant f) = [maybe "?" prIdent (forestName f)] symItem :: Maybe SISRFormat -> [Profile a] -> Symbol String Token -> Int -> XML symItem sisr prs (Cat c) x = Tag "item" [] ([Tag "ruleref" [("uri","#" ++ prCat c)] []]++t)