// jsr.cd: a class dictionary for the XML Schema subset XMLSchema = "<" NameSpace ":schema" " xmlns:" NameSpace "=" URL ">" List(ComponentDef) " NameSpace ":schema>". NameSpace = Ident. URL = String. List(S) ~ S {S}. ComponentDef : ElementDef | TypeDef. ElementDef = "<" NameSpace ":element " ElementDec [Constraints] "/>". ElementDec : NewDec | RefDec. NewDec = NameDec TypeDec. NameDec = "name=" ElementName. ElementName = String. TypeDec = "type=" TypeName. TypeName = String. RefDec = "ref=" ElementName. Constraints = List(Constraint). Constraint : ValueConstraint | IdentityConstraint. ValueConstraint = Ident. // TBA IdentityConstraint = Ident. // TBA TypeDef : SimpleTypeDef | ComplexTypeDef. SimpleTypeDef = "<" NameSpace ":simplyType " NameDec ">" RestrictionDef " NameSpace ":simplyType>". RestrictionDef = Ident. // TBA ComplexTypeDef = "<" NameSpace ":complexType " NameDef [TypeDef] ">" SequenceDef AttributeDefs " NameSpace ":complexType>". SequenceDef = "<" NameSpace ":sequence>" List(ElementDef) " NameSpace ":sequence>". AttributeDefs = List(AttributeDef). AttributeDef = "<" NameSpace ":attribute>" NameDec TypeDec " NameSpace ":attribute>". Main = .