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); }