1. A computer-implemented system to marshal and unmarshal data between an extensible markup language (XML) and an object-oriented programming language, comprising: an XML schema which defines an XML data; and a compiler, running on one or more processors of the computer-implemented system, to generate an object-oriented programming language type from the XML schema, wherein the object-oriented programming language type is automatically generated for an object-oriented programming language component as an inner class to an XML control interface for the object-oriented programming language component, wherein the object-oriented programming language type corresponds to the XML schema and provides XML-oriented data manipulation, wherein the object-oriented programming language type extends from a base type that allows the combination of an XML type system and an object-oriented programming language type system and can access and manipulate the XML data from within the object-oriented programming language type system, wherein the object-oriented programming language type executes one or more XML data operations provided by the XML type system, on the XML data, to generate one or more result sets in the object-oriented programming language type system, wherein each of the one or more XML data operations is one of an XML data query operation; an XML data transformation operation; and an XML data iteration operation.