If we draw a parallel between datatypes and classes, the elements and
attributes can be compared to objects. Each of the component
definitions that we included in our first schema is similar to an
object. Referencing one of these components to build a new element is
similar to creating a new object by cloning the already defined
component.
In the next chapters, we will see how we can also create the
components "in place" (where they
are needed) as well as create datatypes from which we can derive
elements and attributes the same way we can instantiate a class to
create an object.