O4DOIXmlFilter::createSerialPublicationNode PHP Method

createSerialPublicationNode() public method

Generate O4DOI serial publication node.
public createSerialPublicationNode ( $doc, $journalLocalePrecedence, $epubFormat = null ) : DOMElement
$doc DOMDocument
$journalLocalePrecedence array
$epubFormat O4DOI_EPUB_FORMAT_*
return DOMElement
    function createSerialPublicationNode($doc, $journalLocalePrecedence, $epubFormat = null)
    {
        $deployment = $this->getDeployment();
        $context = $deployment->getContext();
        $plugin = $deployment->getPlugin();
        $serialPublicationNode = $doc->createElementNS($deployment->getNamespace(), 'SerialPublication');
        // Serial Work (mandatory)
        $serialPublicationNode->appendChild($this->createSerialWorkNode($doc, $journalLocalePrecedence));
        // Electronic Serial Version
        $onlineIssn = $context->getSetting('onlineIssn');
        $serialPublicationNode->appendChild($this->createSerialVersionNode($doc, $onlineIssn, O4DOI_PRODUCT_FORM_ELECTRONIC, $epubFormat));
        // Print Serial Version
        if (($printIssn = $context->getSetting('printIssn')) && $this->isWork($context, $plugin)) {
            $serialPublicationNode->appendChild($this->createSerialVersionNode($doc, $printIssn, O4DOI_PRODUCT_FORM_PRINT, null));
        }
        return $serialPublicationNode;
    }