This is a marker interface that represents any "schema component" as defined in the XML Schema
specification. This may be a user-defined schema component or a built-in schema component. Since
all built-in schema components are types, every SchemaComponent in practice is either a
UserSchemaComponent or a SchemaType or both.
Get the redefinition level. This is zero for a component that has not been redefined;
for a redefinition of a level-0 component, it is 1; for a redefinition of a level-N
component, it is N+1. This concept is used to support the notion of "pervasive" redefinition:
if a component is redefined at several levels, the top level wins, but it is an error to have
two versions of the component at the same redefinition level.
Get the schema component in the form of a function item. This allows schema information
to be made visible to XSLT or XQuery code. The function makes available the contents of the
schema component as defined in the XSD specification. The function takes a string as argument
representing a property name, and returns the corresponding property of the schema component.
There is also a property "class" which returns the kind of schema component, for example
the schema component represented as a function from property names to property values.