function ARC_sparql_parser::parse_ConditionalAndExpression in Taxonomy import/export via XML 5.2
Same name and namespace in other branches
- 5 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_ConditionalAndExpression()
- 6.2 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_ConditionalAndExpression()
- 6 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_ConditionalAndExpression()
1 call to ARC_sparql_parser::parse_ConditionalAndExpression()
File
- arc/
ARC_sparql_parser.php, line 1173
Class
Code
function parse_ConditionalAndExpression($val = "") {
if ($sub_result = $this
->parse_ValueLogical($val)) {
$val = $sub_result["unparsed_val"];
$entries = array(
$sub_result,
);
do {
$proceed = false;
if (preg_match("/^(\\&\\&)(.*)\$/s", $val, $matches)) {
$operator = $matches[1];
$val = trim($matches[2]);
if ($val && ($sub_sub_result = $this
->parse_ValueLogical($val))) {
$proceed = true;
$val = $sub_sub_result["unparsed_val"];
unset($sub_sub_result["unparsed_val"]);
$sub_sub_result["operator"] = $operator;
$entries[] = $sub_sub_result;
}
}
} while ($proceed);
if (count($entries) == 1) {
return $sub_result;
}
else {
//unset($entries[0]["unparsed_val"]);
return array(
"type" => "expression",
"sub_type" => "and",
"entries" => $entries,
"unparsed_val" => $val,
);
}
}
return false;
}