Processing XML Documents in Object Oriented Concepts
Specifically, the foundation of XML schemas is extensional object-oriented technology; the foundation of more conventional languages such as C++ or Java is intentional object-oriented technology. In fact, software that processes XML documents must often process both intentional and extensional objectsThe poignant distinction between intentional and extensional objects is that in an intentional language, an instance exists because of instantiation. For example, you might use
’instance = new(class)’ or some other similar syntax. Extensionally, however, an object simply is or is not an instance of a particular class according to whether or not it satisfies the class's "restrictors" Consider, for example, the XML element '<taggy />'. It claims to be an instance of a taggy element type. Presumably, but not necessarily, the schema contains that element type described by 'taggy 