git.iko.soy/typeable/xsd-parser
on master help sign in
Handle default namespace (#6)
commita4402933fcdba6648b91b3f1e8d85a9c327c26e7 authorYuras <shumovichy@gmail.com> dateTue 11 Feb 2020, 11:45 (7 years ago) parent2ec49b8
1 file changed+3−2
src/Xsd/Parser.hs+3−2
src/Xsd/Parser.hs+3−2
@@ -235,7 +235,7 @@ parseComplexContent c = do
235235 _ -> parseError c "Expected one of restriction or extension"
236236
237237parseComplexExtension :: Cursor -> P Xsd.ComplexExtension
238−parseComplexExtension c = do
238+parseComplexExtension c = handleNamespaces c $ do
239239 base <- theAttribute "base" c >>= makeQName c
240240 attributes <- parseAttributes c
241241 model <- parseModelGroup c
@@ -452,8 +452,9 @@ makeElemAxis name = do
452452makeQName :: Cursor -> Text -> P Xsd.QName
453453makeQName c t = case Text.splitOn ":" t of
454454 [n] -> do
455+ ns <- asks (lookup Nothing . envPrefixes)
455456 return Xsd.QName
456− { Xsd.qnNamespace = Nothing
457+ { Xsd.qnNamespace = ns
457458 , Xsd.qnName = n
458459 }
459460 [p, n] -> do