JATS Done Right: Tagging Mistakes That Quietly Break Downstream Systems
The most expensive JATS errors aren’t the ones that fail validation. They’re the ones that pass it — files that are perfectly valid XML and still wrong, where the problem surfaces months later at PubMed Central, a hosting platform, or an indexer, long after everyone signed off.
Here is the short version, for anyone who needs it before a production meeting: JATS has three levels of “correct” — well-formed, schema-valid, and business-rule-valid (PMC, SciELO) — and the costly mistakes live in the gap between the last two, where no DTD will ever catch them. Getting JATS right is less about passing a validator and more about tagging that actually means what it claims.
Valid is not the same as correct
Schema validation answers exactly one question: does this file follow the rules of its schema? It never asks whether the tags mean what they say. A file can validate with the abstract sitting in the body as an ordinary paragraph. It can validate with a surname tucked inside <given-names>. The grammar has no way of knowing which is which — so it passes, and the error travels downstream intact.
It helps to think in three layers. Well-formed means the XML parses. Valid means it conforms to a JATS schema — Archiving, Journal Publishing, or Article Authoring, depending on where it’s going. Business-rule-valid means it also satisfies the destination’s additional requirements, and this is the step people skip. Schema-valid JATS is not automatically acceptable to PMC or SciELO; each adds its own rules on top. Stopping at “it validates” is the single most common and most expensive mistake in journal XML.
The mistakes that pass validation and bite later
- References. Mixing or misusing
<element-citation>and<mixed-citation>, malformed references, and wrong or missing@publication-typeare among the most common reasons a submission is rejected downstream. Both citation styles are valid; the problem is inconsistency and mis-tagging within them. - Metadata that is valid but wrong. An abstract tagged as a body paragraph; given-names and surname swapped; a missing
<aff>inside<contrib>(which PMC requires); absent funding information; and — historically the single most troublesome area — missing or inconsistent licence and permissions tagging. All of this validates. None of it is correct. - Mathematics. Equations shipped as images with no MathML; an equation number (
ag{1}) buried inside the<mml:math>tree instead of as a proper<label>on the<disp-formula>, which quietly breaks internal links and citation indexing; thexmlns:mmlnamespace stripped out by naive regex handling of MathML; and image fallbacks that aren’t wrapped in<alternatives>. Each passes a DTD check and fails where it matters. - Broken cross-references and duplicate IDs. A
@ridthat points at nothing, or two elements sharing anid, will often validate but leave figure, table and reference links dead in the published HTML. - The wrong tag set or version. Using the Article Authoring set where a platform expects Journal Publishing or Archiving, or a JATS version the destination doesn’t accept, causes rejections that have nothing to do with your content.
A concrete example
Two one-line slips show how quiet these failures are. First, a conversion tool places the family name inside <given-names> and the initials inside <surname>. The file validates without a murmur; then the article reaches PubMed, the name is indexed back-to-front, the author’s citations stop aggregating to their record, and two swapped tags become a correction request and a re-submission.
Second, an equation’s number is captured as text inside the <mml:math> element instead of as a <label> on the <disp-formula>. Schema-valid again — but now “see Equation (3)” links to nothing, because the indexer cannot see a label hidden inside the math. In both cases nothing is structurally wrong; only the meaning is — and only a human or a destination-aware check will ever notice.
Accessibility tagging is now expected, not optional
In March 2024, NISO published RP-47-2024, the JATS4R accessibility recommendation, and it changed what “done” means for journal XML. Mathematics must be encoded as MathML, not pictures. Every informative image and figure needs alt text — and, importantly, decorative images should be tagged with null alt text rather than simply left out, so that a reader (and a machine) can tell the omission was a deliberate decision, not an oversight.
The trap here is timing. Alt text and MathML are tagging decisions, not something to bolt on at the platform once the XML is signed off. Add them afterwards and you are reopening finished files, re-validating and re-submitting — which is exactly the expensive rework good tagging is supposed to prevent. With the European Accessibility Act now in force, this is no longer a nice-to-have; it is the baseline. Decided late, accessibility becomes rework; decided during tagging, it costs almost nothing.
Why these errors are so costly
None of these mistakes fail at your desk. They fail at the destination’s gate — PMC ingestion, Crossref and other indexers, or the hosting platform’s loader — often months after sign-off. By then, fixing one means locating the source files, reopening them, re-running validation, re-submitting, and explaining a delay to editors and authors who thought the issue was closed. A schema-valid file gives everyone false confidence precisely until the moment it doesn’t. The cheapest place to catch a JATS error is before it leaves your hands; the most expensive is after it has been accepted, indexed and cited.
How to actually get JATS right
- Validate at all three levels. Well-formed, then schema, then the destination’s business rules — run the PMC style checks and the JATS4R Schematron, not the DTD alone.
- Follow JATS4R recommendations for references, permissions, mathematics and accessibility. They exist precisely to close the gap between “valid” and “reusable”.
- Tag for the destination. The right tag set and version, PMC’s minimum data, funding and licence — decided up front, not discovered at submission.
- Review semantics, not just structure. A human needs to confirm the abstract is an abstract and the surname is a surname — the part no validator can check.
- Build accessibility in during tagging: real MathML and alt text as you go, so files never need reopening.
- Keep templates and an error log. Templates with mandatory fields, and a running log of recurring rejections, turn the same mistake from a repeat offender into a solved problem.
What to ask any JATS vendor
Five questions separate a safe supplier from a risky one:
- Do you validate against PMC or SciELO business rules, or only the schema?
- Do you run the JATS4R Schematron for references, permissions and math?
- Is mathematics delivered as real MathML, with labels placed correctly — not images?
- Is alt text tagged for every figure, with decorative images set to null?
- Are you tagging to the right tag set and JATS version for our platform?
The bottom line. In JATS, “it validates” is the beginning of quality control, not the end. The files that cause trouble are the ones that sailed through the schema and failed on meaning — a mis-tagged name, a reference in the wrong model, an equation without MathML. Catching those takes destination-aware validation and a person who understands what each tag is for. That is the difference between XML that merely passes and XML that actually works everywhere it needs to.
Frequently asked questions
Is schema-valid JATS good enough?
No. Schema validation only checks the grammar. PMC, SciELO and other destinations add business rules on top, and a file can be perfectly valid yet fail those — or be tagged incorrectly in ways no schema can detect.
Why do PMC submissions get rejected when the XML validates?
Usually business-rule failures: a missing affiliation or funding statement, malformed references, licence/permissions problems, or mathematics supplied as images rather than MathML.
Do we really need MathML in JATS?
Yes. JATS4R and PMC expect equations as MathML, and images alone fail both accessibility (RP-47-2024) and citation indexing. Image fallbacks belong inside an <alternatives> wrapper alongside the MathML.
element-citation or mixed-citation — which is correct?
Both are valid JATS. Pick the one your destination prefers, tag it correctly and apply it consistently; the problems come from mixing them or mis-tagging their contents.
This article reflects our production experience; confirm current requirements with your destination platform (for example PMC or SciELO), as their business rules are updated over time.