Example #1
0
        //-----------------------------------------------------------------------------
        // 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);
            }
        }
Example #2
0
        //-----------------------------------------------------------------------
        // 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));
        }