internal void GetXPath(XPathNavigator nav) { this._specificity = 0; StringBuilder xpath = new StringBuilder("*"); Match match = reSelector.Match(CssSelector); while (match.Success) { if (match.Success && match.Value.Length > 0) { string x = String.Empty; x += NsToXPath(match); x += TypeToXPath(match); x += ClassToXPath(match); x += IdToXPath(match); x += PredicatesToXPath(match); x += PseudoClassesToXPath(match, nav); SeperatorToXPath(match, xpath, x); } match = match.NextMatch(); } if (nav != null) { Status = XPathSelectorStatus.Parsed; } sXpath = xpath.ToString(); }
internal void Compile(XPathNavigator nav) { if (Status == XPathSelectorStatus.Start) { GetXPath(nav); } if (Status == XPathSelectorStatus.Parsed) { xpath = nav.Compile(sXpath); xpath.SetContext(GetNSManager()); Status = XPathSelectorStatus.Compiled; } }
internal void GetXPath(XPathNavigator nav) { this._specificity = 0; StringBuilder xpath = new StringBuilder("*"); Match match = reSelector.Match(CssSelector); while(match.Success) { if(match.Success && match.Value.Length > 0) { string x = String.Empty; x += NsToXPath(match); x += TypeToXPath(match); x += ClassToXPath(match); x += IdToXPath(match); x += PredicatesToXPath(match); x += PseudoClassesToXPath(match, nav); SeperatorToXPath(match, xpath, x); } match = match.NextMatch(); } if(nav != null) Status = XPathSelectorStatus.Parsed; sXpath = xpath.ToString(); }
internal void Compile(XPathNavigator nav) { if(Status == XPathSelectorStatus.Start) { GetXPath(nav); } if(Status == XPathSelectorStatus.Parsed) { xpath = nav.Compile(sXpath); xpath.SetContext(GetNSManager()); Status = XPathSelectorStatus.Compiled; } }
private CssXPathSelector() { _status = XPathSelectorStatus.Start; }