@@ -107,11 +107,18 @@ parseElement c = handleNamespaces c $ do
107107
108108 qname <- makeTargetQName name
109109
110+ nillable <- case anAttribute "nillable" c of
111+ Nothing -> return False
112+ Just "true" -> return True
113+ Just "false" -> return False
114+ _ -> parseError c "Unexpected value of nillable attribute"
115+
110116 return Xsd.Element
111117 { Xsd.elementName = qname
112118 , Xsd.elementType = tp
113119 , Xsd.elementAnnotations = annotations
114120 , Xsd.elementOccurs = (minOccurs, maxOccurs)
121+ , Xsd.elementNillable = nillable
115122 }
116123
117124-- | Parse inline type, simple or complex