*/ protected array $aChildren = []; protected ?AbstractValueType $oValueType; protected ?string $sParentId; /** * Init property tree node from xml dom node * * @param \Combodo\iTop\DesignElement $oDomNode * @param string $sParentId * * @return void * @throws \DOMFormatException * @throws \Combodo\iTop\PropertyTree\PropertyTreeException */ public function InitFromDomNode(DesignElement $oDomNode, string $sParentId = ''): void { if (utils::IsNotNullOrEmptyString($sParentId)) { $this->sId = $sParentId.'__'; } else { $this->sId = ''; } $this->sId .= $oDomNode->getAttribute('id'); $this->sLabel = $oDomNode->GetChildText('label'); } abstract public function ToPHPFormBlock(&$aPHPFragments = []): string; public function GetValueType(): ?AbstractValueType { return $this->oValueType; } public function AddChild(AbstractProperty $oValueType): void { $this->aChildren[] = $oValueType; } public function GetChildren(): array { return $this->aChildren; } }