Example #1
0
 /**
  * Recursively normalizes a given schema and validates its syntax.
  *
  * @param stdClass $schema
  * @param Context  $context
  *
  * @return stdClass
  */
 public function parseSchema(stdClass $schema, Context $context)
 {
     if ($this->isProcessed($schema, $this->parsedSchemas)) {
         return $schema;
     }
     $version = $this->getVersion($schema);
     $constraints = $this->registry->getConstraints($version);
     $constraints = $this->filterConstraintsForSchema($constraints, $schema);
     foreach ($constraints as $constraint) {
         $constraint->normalize($schema, $context, $this);
     }
     return $schema;
 }