function ARC_sparql_parser::parse_ConditionalOrExpression 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_ConditionalOrExpression()
- 6.2 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_ConditionalOrExpression()
- 6 arc/ARC_sparql_parser.php \ARC_sparql_parser::parse_ConditionalOrExpression()
1 call to ARC_sparql_parser::parse_ConditionalOrExpression()
File
- arc/
ARC_sparql_parser.php, line 1137
Class
Code
function parse_ConditionalOrExpression($val = "") {
if ($sub_result = $this
->parse_ConditionalAndExpression($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 ($sub_sub_result = $this
->parse_ConditionalAndExpression($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" => "or",
"entries" => $entries,
"unparsed_val" => $val,
);
}
}
return false;
}