/**
     * @param ComponentNamespaceDefinition $namespace
     * @return string
     */
    public function buildNamespaceSchema(ComponentNamespaceDefinition $namespace)
    {
        $components_schemas = [];
        foreach ($namespace->getComponents() as $component) {
            $components_schemas[] = $this->buildComponentSchema($component);
        }
        return sprintf('<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    %s
</xs:schema>', implode("\n", $components_schemas));
    }
 /**
  * @param string $uri
  * @param string $base_path Components base path.  by default
  */
 function __construct($uri, $base_path)
 {
     parent::__construct($uri, []);
     $this->directory = $base_path;
 }