コード例 #1
0
 /**
  * Joins an XPath expression as an adjacent of another.
  *
  * @param XPathExpr     $xpath The parent XPath expression
  * @param NodeInterface $sub   The adjacent XPath expression
  *
  * @return XPathExpr An XPath instance
  */
 protected function _xpath_direct_adjacent($xpath, $sub)
 {
     // when sub immediately follows xpath
     $xpath->join('/following-sibling::', $sub->toXpath());
     $xpath->addNameTest();
     $xpath->addCondition('position() = 1');
     return $xpath;
 }
コード例 #2
0
 /**
  * undocumented function
  *
  * @param XPathExpr $xpath The XPath expression
  *
  * @return XPathExpr The modified expression
  */
 protected function xpath_empty($xpath)
 {
     $xpath->addCondition('not(*) and not(normalize-space())');
     return $xpath;
 }
コード例 #3
0
ファイル: FunctionNode.php プロジェクト: roojs/pear
 /**
  * undocumented function
  *
  * @param XPathExpr $xpath
  * @param XPathExpr $expr
  *
  * @return XPathExpr
  */
 protected function _xpath_not($xpath, $expr)
 {
     // everything for which not expr applies
     $expr = $expr->toXpath();
     $cond = $expr->getCondition();
     // FIXME: should I do something about element_path?
     $xpath->addCondition(sprintf('not(%s)', $cond));
     return $xpath;
 }