Patent ID: 8447774

Claim:
A computer-implemented method for transforming between relational data and XML data, the method comprising: receiving by a processor an XQuery query from a Java application via an XQuery API for Java (XQJ), the Java application attempting to access a relational data source having a relational data model; generating by the processor XML results responsive to the XQuery query, based on data from the relational data source by: processing the XQuery query as specified by a connection-specific option declaration, the connection-specific option declaration providing one or more parameters to control the processing of the XQuery query for a specific connection; dividing the XQuery query into one or more XQuery expressions; processing the one or more XQuery expressions as specified by an evaluate-in-memory extension expression, the evaluate-in-memory extension expression specifying a first expression from the one or more XQuery expressions to be evaluated in a memory as XQuery without translating the first expression to structured query language (SQL) for evaluation in the relational data source, the evaluate-in-memory extension expression indicating maximum XQuery conformance when processing the data from the relational data source; determining for the one or more XQuery expressions if an XML data source or the relational data source is being queried; retrieving, by an XQuery engine having a first data model incompatible with the relational data model, the relational data if the relational data source is being queried; and executing in the XQuery engine at least one XQuery expression using the retrieved relational data if the relational data source is being queried; and sending the XML results to the Java application via the XQJ.