Summary
Three examples in cd/Official/scscp1.ocd contain the prose placeholder
The header goes here inside an <OMATP>. They are well-formed XML but not
well-formed OpenMath, so they cannot be parsed by a conforming implementation.
This is minor — scscp1.ocd declares <CDStatus>experimental</CDStatus> — and I
raise it only because these files are the natural source of conformance test
vectors, so anyone harvesting them meets these three immediately.
Where
| Line |
CDDefinition |
| 489 |
error_memory |
| 521 |
error_runtime |
| 549 |
error_system_specific |
(Line numbers from master at the time of writing; the file has not changed
since 2022.)
The example
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMATTR>
<OMATP>
The header goes here
</OMATP>
<OMA>
<OMS cd="scscp1" name="procedure_terminated"/>
<OME><OMS cd="scscp1" name="error_memory"/><OMSTR/></OME>
</OMA>
</OMATTR>
</OMOBJ>
An OMATP holds a sequence of (key, value) pairs — an OMS followed by an
object — and admits no character data (OpenMath 2.0, §2.1.1). These read as
illustrative sketches in which the SCSCP message header was left as prose, and
nothing in the surrounding text marks them as incomplete.
How I found it
I extracted every <OMOBJ> inside an FMP or Example from the 38 files in
cd/Official/ as conformance vectors for an independent OpenMath 2.0
implementation: 342 objects, of which 339 parse and round-trip cleanly. These
three are the only ones that are not documents.
Possible fixes
Either would do, and the choice depends on what the examples were meant to show:
- replace the placeholder with a plausible header, e.g. an
scscp1#call_id / OMSTR pair;
- drop the
OMATTR/OMATP wrapper, so the examples become valid as they stand.
Happy to open a PR for whichever you prefer — I would rather not guess at the
intent.
Disclosure: this report was drafted with AI assistance. The findings are not
generated text — they come from running an independent OpenMath 2.0
implementation locally over a clone of this repository. The line numbers, the
342/339 counts and the <CDStatus> value were produced by that run and re-checked
against the file before posting, so they can be reproduced rather than taken on
trust.
Summary
Three examples in
cd/Official/scscp1.ocdcontain the prose placeholderThe header goes hereinside an<OMATP>. They are well-formed XML but notwell-formed OpenMath, so they cannot be parsed by a conforming implementation.
This is minor —
scscp1.ocddeclares<CDStatus>experimental</CDStatus>— and Iraise it only because these files are the natural source of conformance test
vectors, so anyone harvesting them meets these three immediately.
Where
CDDefinitionerror_memoryerror_runtimeerror_system_specific(Line numbers from
masterat the time of writing; the file has not changedsince 2022.)
The example
An
OMATPholds a sequence of (key, value) pairs — anOMSfollowed by anobject — and admits no character data (OpenMath 2.0, §2.1.1). These read as
illustrative sketches in which the SCSCP message header was left as prose, and
nothing in the surrounding text marks them as incomplete.
How I found it
I extracted every
<OMOBJ>inside anFMPorExamplefrom the 38 files incd/Official/as conformance vectors for an independent OpenMath 2.0implementation: 342 objects, of which 339 parse and round-trip cleanly. These
three are the only ones that are not documents.
Possible fixes
Either would do, and the choice depends on what the examples were meant to show:
scscp1#call_id/OMSTRpair;OMATTR/OMATPwrapper, so the examples become valid as they stand.Happy to open a PR for whichever you prefer — I would rather not guess at the
intent.
Disclosure: this report was drafted with AI assistance. The findings are not
generated text — they come from running an independent OpenMath 2.0
implementation locally over a clone of this repository. The line numbers, the
342/339 counts and the
<CDStatus>value were produced by that run and re-checkedagainst the file before posting, so they can be reproduced rather than taken on
trust.