1. A method for inferring one or more schemas of a collection of (Extensible Markup Language) XML documents, comprising steps of: traversing a collection of XML documents to generate statistical data describing said collection of XML documents, said statistical data indicating numbers of occurrences of hierarchical structures, data types, and values of elements found in said collection of XML documents during said traversing said collection of XML documents; and wherein said collection of XML documents includes complex elements, each complex element of said complex elements containing at least one other element; based on an examination of said statistical data, generating a derived XML schema to which at least a portion of said collection of XML documents conform; wherein said generating said derived XML schema includes: making a first determination of whether said statistical data indicates that within a number of occurrences in said collection of XML documents of a particular complex element of said complex elements, whether a first descendant element occurs in at least a threshold portion of said number of occurrences; when said first determination is that said first descendant element does occur in at least said threshold portion of said number of occurrences, causing said derived XML schema to define said first descendant element; and when said first determination is that said first descendant element does not occur in at least said threshold portion of said number of occurrences, causing said derived XML schema to not define said first descendant element; and generating one or more values that reflect a degree to which said collection of XML documents conform to said derived XML schema; and wherein said steps are performed by one or more computing devices.