Patent ID: 7921129

Claim:
A filter engine stored on one or more computer-readable storage media, comprising: a compiler configured to parse a query input according to a query language against an object constructed according to a non-conforming format; a mapping module configured to construct an infoset model at runtime to identify at least one object property that conforms to the query language; the infoset model being configured to assign an envelope class with a child element for each of the at least one object properties; one or more filters that are created and added to filter tables at runtime; the one or more filters being derived from the query language, each filter containing at least one condition specifying a query value that can be compared to one or more filter engine inputs; an input function configured to receive the query input for comparison against the one or more filters wherein the query input may contain the object derived from an object language that is different from the query language, the object language is Common Language Runtime (CLR) and the query language is XPath; the mapping module being configured to reference an object infoset and map at least one object property identified in the object infoset to an object template that is in accordance with the query language without serializing data included in the object; wherein the filter engine is further configured to locate an object property value by referencing the object template to locate the object property in the object infoset, and to evaluate the object property value against the query value; a value retriever configured to compare whether the object property value matches against the query value; and the filter engine further configured to return the query value when there is a match.