git.iko.soy/typeable/xsd-parser
on master help sign in
Fix complexType handling
99c9216Denis Redozubov
src/Text/XSD/Parser.hs+2−2
@@ -112,8 +112,7 @@ toElem cursor = do
112 childCursor <- maybeThrowXsd (safeHead complexType)
112 childCursor <- maybeThrowXsd (safeHead complexType)
113 $ "More than one xs:complexType tag in: " <> show cursor
113 $ "More than one xs:complexType tag in: " <> show cursor
114 let name = safeHead $ childCursor $| attribute "name"
114 let name = safeHead $ childCursor $| attribute "name"
115− InlineComplex . TypeComplex . ComplexType name CTSequence
115+ InlineComplex . TypeComplex <$> toComplexType childCursor
116− <$> toElemsAndDatatypes childCursor
117 pure $ XSD.Element
116 pure $ XSD.Element
118 { name = (ns, name)
117 { name = (ns, name)
119 , xtype = datatypeRef }
118 , xtype = datatypeRef }
@@ -135,6 +134,7 @@ toSimpleType :: Cursor -> XSDMonad SimpleType
135toSimpleType cursor = do
134toSimpleType cursor = do
136 error "TODO: implement toSimpleType"
135 error "TODO: implement toSimpleType"
137
136
137+-- | Takes a cursor to the 'xs:complexType' element.
138toComplexType :: Cursor -> XSDMonad ComplexType
138toComplexType :: Cursor -> XSDMonad ComplexType
139toComplexType cursor = do
139toComplexType cursor = do
140 let sequenceAxis = laxElement "sequence"
140 let sequenceAxis = laxElement "sequence"