You are here

function ARC_sparql_parser::parse_RelationalExpression in Taxonomy import/export via XML 5.2

Same name and namespace in other branches
  1. 5 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_RelationalExpression()
  2. 6.2 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_RelationalExpression()
  3. 6 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_RelationalExpression()
1 call to ARC_sparql_parser::parse_RelationalExpression()
ARC_sparql_parser::parse_ValueLogical in arc/ARC_sparql_parser.php

File

arc/ARC_sparql_parser.php, line 1215

Class

ARC_sparql_parser

Code

function parse_RelationalExpression($val = "") {
  if ($sub_result = $this
    ->parse_NumericExpression($val)) {
    $val = $sub_result["unparsed_val"];
    if (preg_match("/^(\\=|\\!\\=|\\<|\\>|\\<\\=|\\>\\=)(.*)\$/s", $val, $matches)) {
      $operator = $matches[1];
      $val = trim($matches[2]);
      if ($sub_sub_result = $this
        ->parse_NumericExpression($val)) {
        $val = $sub_sub_result["unparsed_val"];
        unset($sub_sub_result["unparsed_val"]);
        $sub_sub_result["operator"] = $operator;
        unset($sub_result["unparsed_val"]);
        return array(
          "expressions" => array(
            $sub_result,
            $sub_sub_result,
          ),
          "unparsed_val" => $val,
        );
      }
      else {
        $this->errors[] = "expected NumericExpression in '" . $val . "' in parse_RelationalExpression()";
      }
    }
    return $sub_result;
  }
  return false;
}