private XPathExpression GetCompiledExpression(SifXPathExpression expression) { XPathExpression returnValue = expression.CompiledExpression; if (returnValue == null) { returnValue = fDefaultNavigator.Compile(expression.Expression); expression.CompiledExpression = returnValue; } return(returnValue); }
/// <summary> /// Evaluates the xpath and returns the resulting object. Primitive types are wrapped into objects. /// </summary> /// <param name="expression"></param> /// <returns></returns> public object GetValue(SifXPathExpression expression) { return(GetValue(GetCompiledExpression(expression))); }
internal INodePointer CreatePath(SifXPathExpression sifXPathExpression) { return(CreatePath(sifXPathExpression.Expression)); }
private void Compile() { // If there is a value assignment in the rule, chop it off String sqp = fDef; int lastEqualsSign = fDef.LastIndexOf("="); if (lastEqualsSign > -1) { int lastBracket = fDef.LastIndexOf("]"); if (lastBracket < lastEqualsSign) { sqp = fDef.Substring(0, lastEqualsSign); fValueIndex = lastEqualsSign + 1; } } fExpression = SifXPathContext.Compile(sqp); }
private XPathExpression GetCompiledExpression( SifXPathExpression expression ) { XPathExpression returnValue = expression.CompiledExpression; if ( returnValue == null ) { returnValue = fDefaultNavigator.Compile( expression.Expression ); expression.CompiledExpression = returnValue; } return returnValue; }
internal INodePointer CreatePath( SifXPathExpression sifXPathExpression ) { return CreatePath( sifXPathExpression.Expression ); }
/// <summary> /// Evaluates the xpath and returns the resulting object. Primitive types are wrapped into objects. /// </summary> /// <param name="expression"></param> /// <returns></returns> public object GetValue( SifXPathExpression expression ) { return GetValue( GetCompiledExpression( expression ) ); }