ArticleMedraXmlFilter::createSubjectNode PHP Method

createSubjectNode() public method

Create a subject node.
public createSubjectNode ( $doc, $subjectSchemeId, $subjectHeadingOrCode, $subjectSchemeName = null ) : DOMElement
$doc DOMDocument
$subjectSchemeId string One of the O4DOI_SUBJECT_SCHEME_* constants.
$subjectHeadingOrCode string The subject.
$subjectSchemeName string|null A subject scheme name.
return DOMElement
    function createSubjectNode($doc, $subjectSchemeId, $subjectHeadingOrCode, $subjectSchemeName = null)
    {
        $deployment = $this->getDeployment();
        $subjectNode = $doc->createElementNS($deployment->getNamespace(), 'Subject');
        // Subject Scheme Identifier
        $subjectNode->appendChild($node = $doc->createElementNS($deployment->getNamespace(), 'SubjectSchemeIdentifier', $subjectSchemeId));
        if (is_null($subjectSchemeName)) {
            // Subject Heading
            $subjectNode->appendChild($node = $doc->createElementNS($deployment->getNamespace(), 'SubjectHeadingText', htmlspecialchars($subjectHeadingOrCode, ENT_COMPAT, 'UTF-8')));
        } else {
            // Subject Scheme Name
            $subjectNode->appendChild($node = $doc->createElementNS($deployment->getNamespace(), 'SubjectSchemeName', htmlspecialchars($subjectSchemeName, ENT_COMPAT, 'UTF-8')));
            // Subject Code
            $subjectNode->appendChild($node = $doc->createElementNS($deployment->getNamespace(), 'SubjectCode', htmlspecialchars($subjectHeadingOrCode, ENT_COMPAT, 'UTF-8')));
        }
        return $subjectNode;
    }