sig
type stype_specifier = {
pstype_specifier_desc : Xquery_type_ast.stype_specifier_desc;
pstype_specifier_loc : Finfo.finfo;
}
and stype_specifier_desc =
STypeRef of Xquery_common_ast.tname
| SAnonymous of Xquery_type_ast.stype_derivation
and stype_derivation =
SRestriction of Xquery_type_ast.stype_specifier
| SList of Xquery_type_ast.stype_specifier
| SUnion of Xquery_type_ast.stype_specifier list
type deriv =
TRestriction of Xquery_common_ast.tname
| TExtension of Xquery_common_ast.tname
type xtype = {
pxtype_desc : Xquery_type_ast.xtype_desc;
pxtype_loc : Finfo.finfo;
}
and xtype_desc =
TAtomicRef of Xquery_common_ast.tname
| TAttributeRef of Xquery_common_ast.aname
| TAttributeLocal of Xquery_common_ast.aname *
Xquery_type_ast.stype_specifier
| TElementRef of Xquery_common_ast.ename
| TElementLocal of Xquery_common_ast.ename * Xquery_common_ast.nillable *
Xquery_type_ast.xtype_specifier
| TDocument of Xquery_type_ast.xtype
| TText
| TProcessingInstruction
| TComment
| TGroupRef of Xquery_common_ast.gname
| TAttrGroupRef of Xquery_common_ast.gname
| TBound of Xquery_type_ast.xtype * Occurrence.occurs * Occurrence.occurs
| TSequence of Xquery_type_ast.xtype * Xquery_type_ast.xtype
| TEmpty
| TChoice of Xquery_type_ast.xtype * Xquery_type_ast.xtype
| TNone
| TInterleave of Xquery_type_ast.xtype * Xquery_type_ast.xtype
and xtype_specifier =
TSpecSimple of Xquery_type_ast.stype_specifier
| TSpecComplex of Xquery_type_ast.ctype_specifier
and ctype_specifier = {
pctype_specifier_desc : Xquery_type_ast.ctype_specifier_desc;
pctype_specifier_loc : Finfo.finfo;
}
and ctype_specifier_desc =
TTypeRef of Xquery_common_ast.tname
| TAnonymous of Xquery_type_ast.ctype_derivation
and ctype_derivation =
Xquery_type_ast.deriv option * Xquery_type_ast.xtype option *
Xquery_common_ast.mixed * Xquery_type_ast.xtype
type xtype_derivation =
TComplexDerivation of Xquery_type_ast.ctype_derivation
| TSimpleDerivation of Xquery_type_ast.stype_derivation
type substitutes_for =
TSubstitutesFor of Xquery_common_ast.ename
| TNonSubstitutesFor
type xelem_derivation =
Xquery_type_ast.substitutes_for * Xquery_common_ast.nillable *
Xquery_type_ast.xtype_specifier
type xtype_declaration = {
pxtype_declaration_desc : Xquery_type_ast.xtype_declaration_desc;
pxtype_declaration_loc : Finfo.finfo;
}
and xtype_declaration_desc =
TAttributeDecl of Xquery_common_ast.aname *
Xquery_type_ast.stype_specifier
| TElementDecl of Xquery_common_ast.ename *
Xquery_type_ast.xelem_derivation
| TTypeDecl of Xquery_common_ast.tname * Xquery_type_ast.xtype_derivation
| TGroupDecl of Xquery_common_ast.gname * Xquery_type_ast.xtype
| TAttrGroupDecl of Xquery_common_ast.gname * Xquery_type_ast.xtype
type xschema = {
xschema_imported_schemas : Xquery_type_ast.xschema list;
xschema_namespace_declarations :
Xquery_common_ast.namespace_declaration list;
xschema_type_declarations : Xquery_type_ast.xtype_declaration list;
}
end