forked from GitHub/gf-core
SRGS+SISR: put tags after items.
This commit is contained in:
@@ -99,7 +99,7 @@ mkProd sisr isList (SRGAlt p n@(Name f pr) rhs)
|
|||||||
|
|
||||||
|
|
||||||
prodItem :: Maybe SISRFormat -> Name -> Maybe Double -> [XML] -> XML
|
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
|
where
|
||||||
w = maybe [] (\p -> [("weight", show p)]) mp
|
w = maybe [] (\p -> [("weight", show p)]) mp
|
||||||
t = prodTag sisr n
|
t = prodTag sisr n
|
||||||
@@ -111,10 +111,11 @@ prodTag :: Maybe SISRFormat -> Name -> [XML]
|
|||||||
prodTag sisr (Name f prs) = [tag sisr ts]
|
prodTag sisr (Name f prs) = [tag sisr ts]
|
||||||
where
|
where
|
||||||
ts = [(EThis :. "name") := (EStr (prIdent f))] ++
|
ts = [(EThis :. "name") := (EStr (prIdent f))] ++
|
||||||
[(EThis :. ("arg" ++ show n)) := (EStr (argInit (prs!!n)))
|
[(EThis :. ("arg" ++ show n)) := (EStr v)
|
||||||
| n <- [0..length prs-1]]
|
| n <- [0..length prs-1], v <- argInit (prs!!n)]
|
||||||
argInit (Unify _) = "?"
|
argInit (Unify []) = ["?"]
|
||||||
argInit (Constant f) = maybe "?" prIdent (forestName f)
|
argInit (Unify _) = []
|
||||||
|
argInit (Constant f) = [maybe "?" prIdent (forestName f)]
|
||||||
|
|
||||||
symItem :: Maybe SISRFormat -> [Profile a] -> Symbol String Token -> Int -> XML
|
symItem :: Maybe SISRFormat -> [Profile a] -> Symbol String Token -> Int -> XML
|
||||||
symItem sisr prs (Cat c) x = Tag "item" [] ([Tag "ruleref" [("uri","#" ++ prCat c)] []]++t)
|
symItem sisr prs (Cat c) x = Tag "item" [] ([Tag "ruleref" [("uri","#" ++ prCat c)] []]++t)
|
||||||
|
|||||||
Reference in New Issue
Block a user