Primo — Guide for Suppliers
Primo Dataset
Primo Dataset of a proof contains the following:
- Article XML
- Strip-ins for equations with non-compliant MathML
- Dataset XML
- Assets (images & supplementary materials)
Article XML
Suppliers are requested use the full-text single XML and not to process datasets with multiple XMLs like abstract, add-ons, batch placeholders etc. via Primo. The file name should be main.xml.
- Directory structure syntax
<dataset_directory>/<pii_number>/main.xml- Directory structure example
XXXXF9999999/S999999992600000X/main.xmlMathml
Use mathml3 line break attributes to indicate equation breaking points. Indent target and indentalign="id" attributes are recommended to indicate horizontal alignment of lines in equations.
Track changes & queries
The proof in XML may contain copy-edit track changes and queries in any one of the below formats.
| Action | Coding |
|---|---|
| Insertion | <!--INS-->xxx<!--/INS-->
|
| Deletion | <!--DEL-->yyy<!--/DEL-->
|
| Replacement | <!--INS-->xxx<!--/INS--><!--DEL-->yyy<!--/DEL-->
|
| Query | <!--Q1: query text.-->
|
| Boolean Query | <!--Q1 replies=“Yes | No” type=“boolean”: query text.-->
|
Query Identifier
The query identifiers have the form: 'Q' followed by the query number, e.g. Q1, Q5. While generating the query avoid:
- Using the same query identifier for two different queries.
- Calling the same query at two different places.
Strip-ins for equations with non-compliant MathML
As Primo generates strip-ins by itself for rendering equations in Edit View and Proof View, it is no longer mandatory to provide strip-ins.
Dataset XML
- The dataset XML should adhere to New-proof schema. According to the workflow, the supplier can omit both MAIN and EDITED-PROOF PDFs from the dataset. The tags such as
web-pdf,page-fraction-body,page-fraction-trail,pdf-pages, andpdf-pages-webcan be removed from thedataset.xml. - No need to include the proof-uri in the
dataset.xml. Primo will generate the proof url automatically.
Assets
Inside main.assets directory, the XML version JPEG and MMC files should be added.
- Directory structure syntax
<dataset_directory>/<pii_number>/main.assets/ga1.jpg
<dataset_directory>/<pii_number>/main.assets/sc1.jpg
<dataset_directory>/<pii_number>/main.assets/gr1.jpg
...- Directory structure example
XXXXF9999999/S999999992600000X/main.assets/ga1.jpg
XXXXF9999999/S999999992600000X/main.assets/sc1.jpg
XXXXF9999999/S999999992600000X/main.assets/gr1.jpg
...WEB and PRINT
Include the web version (Elsevier RGB spec PDF) images in the web directory. If the journals do not belong to E-only as per the Journal Style Sheet (JSS), add print version (Elsevier CMYK spec PDF) images to the print directory. The images should be placed inside main.assets/web and main.assets/print directories.
- Directory structure syntax
<dataset_directory>/<pii_number>/main.assets/web/ga1.pdf
<dataset_directory>/<pii_number>/main.assets/web/sc1.pdf
<dataset_directory>/<pii_number>/main.assets/web/gr1.pdf
...
<dataset_directory>/<pii_number>/main.assets/print/gr1.pdf
<dataset_directory>/<pii_number>/main.assets/print/sc1.pdf
<dataset_directory>/<pii_number>/main.assets/print/gr1.pdf
...- Directory structure example
XXXXF9999999/S999999992600000X/main.assets/web/ga1.pdf
XXXXF9999999/S999999992600000X/main.assets/web/sc1.pdf
XXXXF9999999/S999999992600000X/main.assets/web/gr1.pdf
...
XXXXF9999999/S999999992600000X/main.assets/print/ga1.pdf
XXXXF9999999/S999999992600000X/main.assets/print/sc1.pdf
XXXXF9999999/S999999992600000X/main.assets/print/gr1.pdf
...Source
To handle the artwork corrections in the subsequent stages, add the original high quality RGB and compressed EPS versions inside the main.assets/eps directory. See the directory structure below.
- Directory structure syntax
<dataset_directory>/<pii_number>/main.assets/eps/ga1.eps.gz
<dataset_directory>/<pii_number>/main.assets/eps/sc1.eps.gz
<dataset_directory>/<pii_number>/main.assets/eps/gr1.eps.gz
...- Directory structure example
XXXXF9999999/S999999992600000X/main.assets/eps/ga1.eps.gz
XXXXF9999999/S999999992600000X/main.assets/eps/sc1.eps.gz
XXXXF9999999/S999999992600000X/main.assets/eps/gr1.eps.gz
...
XXXXF9999999/
XXXXF9999999/dataset.xml
XXXXF9999999/S999999992600000X/
XXXXF9999999/S999999992600000X/main.xml
XXXXF9999999/S999999992600000X/main.stripin/
XXXXF9999999/S999999992600000X/main.stripin/si1.svg
XXXXF9999999/S999999992600000X/main.stripin/si2.svg
XXXXF9999999/S999999992600000X/main.assets/ XXXXF9999999/S999999992600000X/main.assets/ga1.jpg XXXXF9999999/S999999992600000X/main.assets/sc1.jpg XXXXF9999999/S999999992600000X/main.assets/gr1.jpg XXXXF9999999/S999999992600000X/main.assets/mmc1.docx
XXXXF9999999/S999999992600000X/main.assets/eps/ XXXXF9999999/S999999992600000X/main.assets/eps/ga1.eps.gz XXXXF9999999/S999999992600000X/main.assets/eps/sc1.eps.gz XXXXF9999999/S999999992600000X/main.assets/eps/gr1.eps.gz
XXXXF9999999/S999999992600000X/main.assets/web/ XXXXF9999999/S999999992600000X/main.assets/web/ga1.jpg XXXXF9999999/S999999992600000X/main.assets/web/sc1.jpg XXXXF9999999/S999999992600000X/main.assets/web/gr1.jpg
XXXXF9999999/S999999992600000X/main.assets/print/ XXXXF9999999/S999999992600000X/main.assets/print/ga1.jpg XXXXF9999999/S999999992600000X/main.assets/print/sc1.jpg XXXXF9999999/S999999992600000X/main.assets/print/gr1.jpg
Input & Output
The input dataset file name should be unique. On the dataset is uploaded to the sftp, a validation XML will be generated. Download it and check the status. If it is a successful one, the XML will contain the Primo url as shown in the example below. The XML file name will UJID-AID-Primo-validation-YYYY-mm-ddTHH-MM-SSZ.xml.
AML-100002-Primo-validation-2026-04-06T05-34-51Z.xml: <?xml version="1.0"?> <primo-import-information xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="XML-signal-validation.xsd">
<timestamp>2026-04-06T04-19-32Z</timestamp> <supplier> <name>STMDE</name> </supplier> <article> <jid>AML</jid> <aid>100002</aid> </article> <status>success</status> <url>https://primo.stmsoft.in/dp/x603nelt5xiwk</url>
</primo-import-information>