//----------------------------------------------------------------------------- // copyCriteria //----------------------------------------------------------------------------- /// <summary> /// Copy the query criteria from one Query object into this Query object. /// </summary> /// <param name="queryToCopy"> /// Query object whose criteria is to be copied. /// </param> public void copyCriteria( Query queryToCopy) { RCODE rc = 0; if ((rc = xflaim_Query_copyCriteria( m_pQuery, queryToCopy.getQuery())) != 0) { throw new XFlaimException( rc); } }
//----------------------------------------------------------------------- // Find the document that has a given name of "Peter", state of "California", and // return the "Age" element from the document. The XPATH query is as follows: // // person[Name/Given == "Peter" && Address/State == "California"]/Age //----------------------------------------------------------------------- static DOMNode queryDatabase( Db db) { Query query = new Query( db, (uint)PredefinedXFlaimCollections.XFLM_DATA_COLLECTION); // First set up the query criteria. This method calls the Query.addXXXXX methods to // set up the query. An alternative way to set up the query criteria is to call the // Query.setupQueryExpr method, which is not illustrated here. // person query.addXPathComponent( eXPathAxisTypes.CHILD_AXIS, eDomNodeType.ELEMENT_NODE, uiPersonElementId); // [ query.addOperator( eQueryOperators.XFLM_LBRACKET_OP, 0); // Name/Given query.addXPathComponent( eXPathAxisTypes.CHILD_AXIS, eDomNodeType.ELEMENT_NODE, uiNameElementId); query.addXPathComponent( eXPathAxisTypes.CHILD_AXIS, eDomNodeType.ELEMENT_NODE, uiGivenElementId); // == "Peter" query.addOperator( eQueryOperators.XFLM_EQ_OP, 0); query.addStringValue( "Peter"); // && query.addOperator( eQueryOperators.XFLM_AND_OP, 0); // Address/State query.addXPathComponent( eXPathAxisTypes.CHILD_AXIS, eDomNodeType.ELEMENT_NODE, uiAddressElementId); query.addXPathComponent( eXPathAxisTypes.CHILD_AXIS, eDomNodeType.ELEMENT_NODE, uiStateElementId); // == "California" query.addOperator( eQueryOperators.XFLM_EQ_OP, 0); query.addStringValue( "California"); // ] query.addOperator( eQueryOperators.XFLM_RBRACKET_OP, 0); // /Age query.addXPathComponent( eXPathAxisTypes.CHILD_AXIS, eDomNodeType.ELEMENT_NODE, uiAgeElementId); // Retrieve and return the first result return( query.getFirst( null, 0)); }