module Nokogiri::XML::Searchable

def xpath_query_from_css_rule(rule, ns)

def xpath_query_from_css_rule(rule, ns)
  visitor = Nokogiri::CSS::XPathVisitor.new(
    builtins: Nokogiri::CSS::XPathVisitor::BuiltinsConfig::OPTIMAL,
    doctype: document.xpath_doctype,
  )
  self.class::IMPLIED_XPATH_CONTEXTS.map do |implied_xpath_context|
    CSS.xpath_for(rule.to_s, {
      prefix: implied_xpath_context,
      ns: ns,
      visitor: visitor,
    })
  end.join(" | ")
end