16 import(
'lib.pkp.plugins.importexport.native.filter.PKPPublicationNativeXmlFilter');
26 return 'plugins.importexport.native.filter.PublicationNativeXmlFilter';
38 return 'article-galley=>native-xml';
52 $entityNode = parent::createEntityNode($doc, $entity);
55 if ($sectionId = $entity->getData(
'sectionId')) {
57 $section = $sectionDao->getById($sectionId);
58 assert(isset($section));
59 $entityNode->setAttribute(
'section_ref', $section->getLocalizedAbbrev());
62 $isPublished = $entity->getData(
'status') === STATUS_PUBLISHED;
63 $isPublished ? $entityNode->setAttribute(
'seq', (
int) $entity->getData(
'seq')) : $entityNode->setAttribute(
'seq',
'0');
64 $isPublished ? $entityNode->setAttribute(
'access_status', $entity->getData(
'accessStatus')) : $entityNode->setAttribute(
'access_status',
'0');
68 if ($entity->getData(
'issueId') && !$deployment->getIssue()) {
70 $issue = $issueDao->getById($entity->getData(
'issueId'));
71 import(
'plugins.importexport.native.filter.NativeFilterHelper');
73 $entityNode->appendChild($nativeFilterHelper->createIssueIdentificationNode($this, $doc, $issue));
76 $pages = $entity->getData(
'pages');
77 if (!empty($pages)) $entityNode->appendChild($node = $doc->createElementNS($deployment->getNamespace(),
'pages', htmlspecialchars($pages, ENT_COMPAT,
'UTF-8')));
80 import(
'plugins.importexport.native.filter.NativeFilterHelper');
82 $coversNode = $nativeFilterHelper->createPublicationCoversNode($this, $doc, $entity);
83 if ($coversNode) $entityNode->appendChild($coversNode);
85 $citationsListNode = $this->createCitationsNode($doc, $deployment, $entity);
86 if ($citationsListNode) {
87 $entityNode->appendChild($citationsListNode);
100 private function createCitationsNode($doc, $deployment, $publication) {
103 $nodeCitations = $doc->createElementNS($deployment->getNamespace(),
'citations');
104 $submissionCitations = $citationDao->getByPublicationId($publication->getId());
105 if ($submissionCitations->getCount() != 0) {
106 while ($elementCitation = $submissionCitations->next()) {
107 $rawCitation = $elementCitation->getRawCitation();
108 $nodeCitations->appendChild($node = $doc->createElementNS($deployment->getNamespace(),
'citation', htmlspecialchars($rawCitation, ENT_COMPAT,
'UTF-8')));
111 return $nodeCitations;