protected function toXML(DOMElement $parent) : DOMElement
    {
        $e = $parent->ownerDocument->createElementNS(Constants::NS_MD, $this->elementName);
        $parent->appendChild($e);

        if ($this->ID !== null) {
            $e->setAttribute('ID', $this->ID);
        }

        if ($this->validUntil !== null) {
            $e->setAttribute('validUntil', gmdate('Y-m-d\TH:i:s\Z', $this->validUntil));
        }

        if ($this->cacheDuration !== null) {
            $e->setAttribute('cacheDuration', $this->cacheDuration);
        }

        $e->setAttribute('protocolSupportEnumeration', implode(' ', $this->protocolSupportEnumeration));

        if ($this->errorURL !== null) {
            $e->setAttribute('errorURL', $this->errorURL);
        }

        Extensions::addList($e, $this->Extensions);

        foreach ($this->KeyDescriptor as $kd) {
            $kd->toXML($e);
        }

        if ($this->Organization !== null) {
            $this->Organization->toXML($e);
        }

        foreach ($this->ContactPerson as $cp) {
            $cp->toXML($e);
        }

        return $e;
    }
protected function toXML(DOMElement $parent) : DOMElement
    {
        $e = $parent->ownerDocument->createElementNS(Constants::NS_MD, $this->elementName);
        $parent->appendChild($e);

        if ($this->ID !== null) {
            $e->setAttribute('ID', $this->ID);
        }

        if ($this->validUntil !== null) {
            $e->setAttribute('validUntil', gmdate('Y-m-d\TH:i:s\Z', $this->validUntil));
        }

        if ($this->cacheDuration !== null) {
            $e->setAttribute('cacheDuration', $this->cacheDuration);
        }

        $e->setAttribute('protocolSupportEnumeration', implode(' ', $this->protocolSupportEnumeration));

        if ($this->errorURL !== null) {
            $e->setAttribute('errorURL', $this->errorURL);
        }

        Extensions::addList($e, $this->Extensions);

        foreach ($this->KeyDescriptor as $kd) {
            $kd->toXML($e);
        }

        if ($this->Organization !== null) {
            $this->Organization->toXML($e);
        }

        foreach ($this->ContactPerson as $cp) {
            $cp->toXML($e);
        }

        return $e;
    }
protected function toXML ( DOMElement $ parent ) : DOMElement { $ e = $ parent -> ownerDocument -> createElementNS ( Constants :: NS_MD , $ this -> elementName ) ; $ parent -> appendChild ( $ e ) ; if ( $ this -> ID !== null ) { $ e -> setAttribute ( 'ID' , $ this -> ID ) ; } if ( $ this -> validUntil !== null ) { $ e -> setAttribute ( 'validUntil' , gmdate ( 'Y-m-d\TH:i:s\Z' , $ this -> validUntil ) ) ; } if ( $ this -> cacheDuration !== null ) { $ e -> setAttribute ( 'cacheDuration' , $ this -> cacheDuration ) ; } $ e -> setAttribute ( 'protocolSupportEnumeration' , implode ( ' ' , $ this -> protocolSupportEnumeration ) ) ; if ( $ this -> errorURL !== null ) { $ e -> setAttribute ( 'errorURL' , $ this -> errorURL ) ; } Extensions :: addList ( $ e , $ this -> Extensions ) ; foreach ( $ this -> KeyDescriptor as $ kd ) { $ kd -> toXML ( $ e ) ; } if ( $ this -> Organization !== null ) { $ this -> Organization -> toXML ( $ e ) ; } foreach ( $ this -> ContactPerson as $ cp ) { $ cp -> toXML ( $ e ) ; } return $ e ; }
Add this RoleDescriptor to an EntityDescriptor.

@param \DOMElement $parent The EntityDescriptor we should append this endpoint to.
@return \DOMElement
Add this RoleDescriptor to an EntityDescriptor .