internal int AddQuery(string xpathQuery, bool allowVar, bool allowKey, bool isPattern) { Debug.Assert(_queryStore != null); CompiledXpathExpr expr; try { expr = new CompiledXpathExpr( (isPattern ? _queryBuilder.BuildPatternQuery(xpathQuery, allowVar, allowKey) : _queryBuilder.Build(xpathQuery, allowVar, allowKey) ), xpathQuery, false ); } catch (XPathException e) { if (!ForwardCompatibility) { throw XsltException.Create(SR.Xslt_InvalidXPath, new string[] { xpathQuery }, e); } expr = new ErrorXPathExpression(xpathQuery, this.Input.BaseURI, this.Input.LineNumber, this.Input.LinePosition); } _queryStore.Add(new TheQuery(expr, _scopeManager)); return(_queryStore.Count - 1); }
internal int AddQuery(string xpathQuery, bool allowVar, bool allowKey, bool isPattern) { Debug.Assert(_queryStore != null); CompiledXpathExpr expr; try { expr = new CompiledXpathExpr( (isPattern ? _queryBuilder.BuildPatternQuery(xpathQuery, allowVar, allowKey) : _queryBuilder.Build(xpathQuery, allowVar, allowKey) ), xpathQuery, false ); } catch (XPathException e) { if (!ForwardCompatibility) { throw XsltException.Create(SR.Xslt_InvalidXPath, new string[] { xpathQuery }, e); } expr = new ErrorXPathExpression(xpathQuery, this.Input.BaseURI, this.Input.LineNumber, this.Input.LinePosition); } _queryStore.Add(new TheQuery(expr, _scopeManager)); return _queryStore.Count - 1; }