16. A method to marshal and unmarshal data between an extensible markup language (XML) and an object-oriented programming language, comprising: defining an XML data using an XML schema; generating, via a compiler running on one or more processors, 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 XML and object-oriented programming language type systems and can access and manipulate the XML data from within the object-oriented programming language type system; and executing, via the object-oriented programming language type, 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.
16. A method to marshal and unmarshal data between an extensible markup language (XML) and an object-oriented programming language, comprising: defining an XML data using an XML schema; generating, via a compiler running on one or more processors, 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 XML and object-oriented programming language type systems and can access and manipulate the XML data from within the object-oriented programming language type system; and executing, via the object-oriented programming language type, 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. 19. The method according to claim 16 , further comprising: compiling an object-oriented programming language project into one or more regular object-oriented programming language types.