File: /var/www/ojs/plugins/importexport/native/native.xsd
<?xml version="1.0"?>
<!--
* plugins/importexport/native/native.xsd
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Schema describing native XML import/export elements specific to OJS
-->
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://pkp.sfu.ca" xmlns:pkp="http://pkp.sfu.ca" elementFormDefault="qualified">
<!--
- Base the native import/export schema on the PKP submission model.
-->
<include schemaLocation="../../../lib/pkp/plugins/importexport/native/pkp-native.xsd" />
<!-- Allow the use of "article" in place of "submission" -->
<element name="article" substitutionGroup="pkp:submission">
<complexType>
<complexContent>
<extension base="pkp:submission">
<attribute name="stage" use="required">
<simpleType>
<restriction base="string">
<enumeration value="submission" />
<enumeration value="externalReview" />
<enumeration value="editorial" />
<enumeration value="production" />
</restriction>
</simpleType>
</attribute>
</extension>
</complexContent>
</complexType>
</element>
<element name="articles" substitutionGroup="pkp:submissions" />
<!-- Permit "citation" as a root element to keep the filters happy -->
<element name="citation" type="string" />
<element name="publication" substitutionGroup="pkp:pkppublication">
<complexType>
<complexContent>
<extension base="pkp:pkppublication">
<sequence>
<element ref="pkp:issue_identification" minOccurs="0" maxOccurs="1" />
<element maxOccurs="1" minOccurs="0" name="pages" type="string" />
<element ref="pkp:covers" minOccurs="0" maxOccurs="1" />
<element maxOccurs="1" minOccurs="0" name="issueId" type="int" />
</sequence>
<attribute name="section_ref" type="string" use="required" />
<attribute name="seq" type="int" />
<attribute name="access_status" type="int" />
</extension>
</complexContent>
</complexType>
</element>
<!-- Configure the use of the "article_galley" representation -->
<element name="article_galley" substitutionGroup="pkp:representation">
<complexType>
<complexContent>
<extension base="pkp:representation">
<attribute name="approved" type="boolean"/>
<attribute name="galley_type" type="string"/>
</extension>
</complexContent>
</complexType>
</element>
<!--
- Composite / root elements
-->
<!-- Permit "issues" as a root element -->
<element name="issues">
<complexType>
<sequence>
<element ref="pkp:issue" maxOccurs="unbounded" />
</sequence>
</complexType>
</element>
<complexType name="issue">
<sequence>
<element ref="pkp:id" minOccurs="0" maxOccurs="unbounded" />
<element name="description" type="pkp:localizedNode" minOccurs="0" maxOccurs="unbounded" />
<element ref="pkp:issue_identification" minOccurs="1" maxOccurs="1" />
<!-- Metadata -->
<element name="date_published" type="date" minOccurs="0" maxOccurs="1" />
<element name="date_notified" type="date" minOccurs="0" maxOccurs="1" />
<element name="last_modified" type="date" minOccurs="0" maxOccurs="1" />
<element name="open_access_date" type="date" minOccurs="0" maxOccurs="1" />
<!-- sub elements -->
<element ref="pkp:sections" minOccurs="0" maxOccurs="1" />
<element ref="pkp:covers" minOccurs="0" maxOccurs="1" />
<element ref="pkp:issue_galleys" minOccurs="0" maxOccurs="1" />
<element ref="pkp:articles" minOccurs="1" maxOccurs="1" />
</sequence>
<attribute name="journal_id" type="int" use="optional" />
<attribute name="published" type="int" use="optional" />
<attribute name="current" type="int" use="optional" />
<attribute name="access_status" type="int" use="optional" />
<attribute name="url_path" type="string" use="optional" />
</complexType>
<element name="issue_identification">
<complexType>
<sequence>
<element name="volume" type="int" minOccurs="0" maxOccurs="1" />
<element name="number" type="string" minOccurs="0" maxOccurs="1" />
<element name="year" type="int" minOccurs="0" maxOccurs="1" />
<element name="title" type="pkp:localizedNode" minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>
</element>
<complexType name="issue_galley">
<sequence>
<element name="label" type="string" minOccurs="1" maxOccurs="1" />
<element ref="pkp:id" minOccurs="0" maxOccurs="unbounded" />
<element ref="pkp:issue_file" minOccurs="0" maxOccurs="1" />
</sequence>
<attribute name="locale" type="string" />
</complexType>
<complexType name="issue_file">
<sequence>
<element name="file_name" type="string" minOccurs="1" maxOccurs="1" />
<element name="file_type" type="string" minOccurs="1" maxOccurs="1" />
<element name="file_size" type="int" minOccurs="1" maxOccurs="1" />
<element name="content_type" type="int" minOccurs="1" maxOccurs="1" />
<element name="original_file_name" type="string" minOccurs="1" maxOccurs="1" />
<element name="date_uploaded" type="date" minOccurs="1" maxOccurs="1" />
<element name="date_modified" type="date" minOccurs="1" maxOccurs="1" />
<element name="embed" type="pkp:embed" />
</sequence>
</complexType>
<element name="covers">
<complexType>
<sequence>
<element ref="pkp:cover" minOccurs="1" maxOccurs="unbounded" />
</sequence>
</complexType>
</element>
<element name="cover">
<complexType>
<sequence>
<element name="cover_image" type="string" minOccurs="1" maxOccurs="1" />
<element name="cover_image_alt_text" type="string" minOccurs="1" maxOccurs="1" />
<element name="embed" type="pkp:embed" />
</sequence>
<attribute name="locale" type="string" />
</complexType>
</element>
<element name="issue_galleys">
<complexType>
<sequence>
<element ref="pkp:issue_galley" minOccurs="0" maxOccurs="unbounded" />
</sequence>
</complexType>
</element>
<element name="sections">
<complexType>
<sequence>
<element ref="pkp:section" maxOccurs="unbounded" />
</sequence>
</complexType>
</element>
<complexType name="section">
<sequence>
<element ref="pkp:id" minOccurs="0" maxOccurs="unbounded" />
<element name="abbrev" type="pkp:localizedNode" minOccurs="0" maxOccurs="unbounded" />
<element name="policy" type="pkp:localizedNode" minOccurs="0" maxOccurs="unbounded" />
<element name="title" type="pkp:localizedNode" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attribute name="ref" type="string" />
<attribute name="review_form_id" type="int" use="optional" />
<attribute name="seq" type="string" />
<attribute name="editor_restricted" type="int" />
<attribute name="meta_indexed" type="int" />
<attribute name="meta_reviewed" type="int" />
<attribute name="abstracts_not_required" type="int" />
<attribute name="hide_title" type="int" />
<attribute name="hide_author" type="int" />
<attribute name="abstract_word_count" type="int" />
</complexType>
<!-- Permit "issue" as a root element -->
<element name="issue" type="pkp:issue" />
<!-- Permit "issue_galley" as a root element -->
<element name="issue_galley" type="pkp:issue_galley" />
<!-- Permit "issue_file" as a root element -->
<element name="issue_file" type="pkp:issue_file" />
<!-- Permit "section" as a root element -->
<element name="section" type="pkp:section" />
</schema>