protected function mediaQuery(&$out)
{
$s = $this->seek();
$expressions = null;
$parts = array();
if (($this->literal("only") && ($only = true) || $this->literal("not") && ($not = true) || true) && $this->keyword($mediaType)) {
$prop = array("mediaType");
if (isset($only)) {
$prop[] = "only";
}
if (isset($not)) {
$prop[] = "not";
}
$prop[] = $mediaType;
$parts[] = $prop;
} else {
$this->seek($s);
}
if (!empty($mediaType) && !$this->literal("and")) {
// ~
} else {
$this->genericList($expressions, "mediaExpression", "and", false);
if (is_array($expressions)) {
$parts = array_merge($parts, $expressions[2]);
}
}
if (count($parts) == 0) {
$this->seek($s);
return false;
}
$out = $parts;
return true;
}