protected function EasyRdf_Parser_Turtle::parseValue in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Turtle.php \EasyRdf_Parser_Turtle::parseValue()
Parses an RDF value. This method parses uriref, qname, node ID, quoted literal, integer, double and boolean. @ignore
4 calls to EasyRdf_Parser_Turtle::parseValue()
- EasyRdf_Parser_Turtle::parseObject in vendor/
easyrdf/ easyrdf/ lib/ EasyRdf/ Parser/ Turtle.php - Parse a object [12] @ignore
- EasyRdf_Parser_Turtle::parsePredicate in vendor/
easyrdf/ easyrdf/ lib/ EasyRdf/ Parser/ Turtle.php - Parse a predicate [11] @ignore
- EasyRdf_Parser_Turtle::parseQuotedLiteral in vendor/
easyrdf/ easyrdf/ lib/ EasyRdf/ Parser/ Turtle.php - Parses a quoted string, optionally followed by a language tag or datatype. @ignore
- EasyRdf_Parser_Turtle::parseSubject in vendor/
easyrdf/ easyrdf/ lib/ EasyRdf/ Parser/ Turtle.php - Parse a subject [10] @ignore
File
- vendor/
easyrdf/ easyrdf/ lib/ EasyRdf/ Parser/ Turtle.php, line 519
Class
- EasyRdf_Parser_Turtle
- Class to parse Turtle with no external dependancies.
Code
protected function parseValue() {
$c = $this
->peek();
if ($c == '<') {
// uriref, e.g. <foo://bar>
return $this
->parseURI();
}
elseif ($c == ':' || self::isPrefixStartChar($c)) {
// qname or boolean
return $this
->parseQNameOrBoolean();
}
elseif ($c == '_') {
// node ID, e.g. _:n1
return $this
->parseNodeID();
}
elseif ($c == '"' || $c == "'") {
// quoted literal, e.g. "foo" or """foo""" or 'foo' or '''foo'''
return $this
->parseQuotedLiteral();
}
elseif (ctype_digit($c) || $c == '.' || $c == '+' || $c == '-') {
// integer or double, e.g. 123 or 1.2e3
return $this
->parseNumber();
}
elseif ($c == -1) {
throw new EasyRdf_Parser_Exception("Turtle Parse Error: unexpected end of file while reading value", $this->line, $this->column);
}
else {
throw new EasyRdf_Parser_Exception("Turtle Parse Error: expected an RDF value here, found '{$c}'", $this->line, $this->column);
}
}