20 declare(strict_types=1);
    43         $this->component_id = null;
    48     public function endComponent(
string $component, 
string $type): void
    50         $this->component_id = null;
    51         $this->component = null;
    55     public function beginTag(
string $name, array $attributes): void
    57         if ($name === 
"module") {
    58             $type = 
"components/ILIAS";
    59         } elseif ($name === 
"service") {
    60             $type = 
"components/ILIAS";
    61         } elseif ($name === 
"pluginslot") {
    67         if (!isset($attributes[
"id"])) {
    68             throw new \InvalidArgumentException(
    69                 "Expected attribute 'id' for tag '$name' in $this->component"    73         $id = $attributes[
"id"];
    74         if (!is_null($type)) {
    75             if ($type !== $this->type) {
    76                 throw new \InvalidArgumentException(
    77                     "Type $this->type and tag don't match for component $this->component"    80             if (isset($this->data[
$id])) {
    81                 throw new \LogicException(
    82                     "In $this->type/$this->component: Id '$id' for component is used twice. First occurence was in {$this->data[$id][0]}/{$this->data[$id][1]}."    85             $this->component_id = 
$id;
    88             if (!isset($attributes[
"name"])) {
    89                 throw new \InvalidArgumentException(
    90                     "Expected attribute 'name' for tag '$name' in $this->component"    93             if (isset($this->slots[
$id])) {
    94                 throw new \LogicException(
    95                     "In $this->type/$this->component: Id '$id' for plugin slot is used twice. First occurence was in {$this->slots[$id][0]}/{$this->slots[$id][1]}."   103     public function endTag(
string $name): void
 An ilComponentDefinitionProcessor processes some attributes from a component.xml (i.e. 
 
endTag(string $name)
This is called when a tag ends in the context of the given component. 
 
beginComponent(string $component, string $type)
This method is called when parsing of component.xml for the given component starts. 
 
beginTag(string $name, array $attributes)
This is called when a tag starts in the context of the given component. 
 
purge()
This methods is supposed to purge existing data in the provider of the component, so new components c...
 
endComponent(string $component, string $type)
This method is called when parsing of component.xml for the given component ends. ...
 
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins