Codes

A reader reports two kinds of mistake, each with a code and the line and column where it is. A syntax error stops the reader at the first one (section 5 of the specification). A problem breaks a rule of the language in a page whose syntax is right, and a checker reports every one (section 8). The samples are pages from the conformance samples that give the code; each has an .expected.json beside it with the place a reader gives.

This page is made by pnpm reference:update; do not edit it by hand.

Syntax errors

Code Meaning Samples
no-root The document has no root element no-root
text-outside-root Text before or after the root element text-after-root, text-outside-root
second-root A second root element second-root
unexpected-end A tag that is not finished: the text ends inside it, or an end tag holds more than its name end-tag-with-attribute, unexpected-end-after-equals, unexpected-end-after-less-than, unexpected-end-after-slash, unexpected-end-in-end-tag, unexpected-end
invalid-name A name was expected (for example < scene>) comment-in-tag, invalid-name, null-in-tag, value-without-name
uppercase-name A name uses upper-case letters after-byte-order-mark, uppercase-attribute, uppercase-name
unquoted-value An attribute value without quotes unquoted-value
unclosed-value An attribute value whose closing quote is missing unclosed-value-at-end, unclosed-value
duplicate-attribute An attribute given twice on one element duplicate-attribute
missing-space No whitespace where a tag needs it: two attributes with none between them, or a character a name cannot have missing-space, underscore-in-name
stray-slash A / in a tag that is not followed by > stray-slash
unclosed-element An element still open at the end of the text unclosed-element
mismatched-end-tag An end tag that does not match the open element mismatched-end-tag-nested, mismatched-end-tag
stray-end-tag An end tag with no element open end-tag-after-root, stray-end-tag
bad-character-reference An & that is not a known character reference bad-character-reference, bare-ampersand, inherited-reference, reference-in-value, reference-to-surrogate, reference-to-zero, reference-too-large, reference-too-long, reference-upper-case-x
unclosed-comment A comment with no --> unclosed-comment
bad-comment A comment that contains -- bad-comment
unsupported-markup <!...> or <?...?> other than a comment cdata-section, processing-instruction, unsupported-markup
less-than-in-value A < inside an attribute value less-than-in-value
null-character The null character, in text, in a value, or in a comment null-character, null-in-comment, null-in-value
too-deep An element nested more than 256 deep too-deep

Problems

Code Meaning Samples
wrong-root The root element is not holoml wrong-root
unsupported-version The version is not one the reader knows, written exactly unsupported-version-and-more, unsupported-version, version-not-exact
unknown-element An element that is not in the page's HoloML version ids-in-misplaced-elements, inherited-names, newer-than-declared, unknown-element, unsupported-version-and-more
child-not-allowed An element where it may not stand bad-choice, bad-click-actions, bad-slider, bad-values, bad-water, child-not-allowed, element-in-text, hud-in-group, ids-in-misplaced-elements
text-not-allowed Text in an element that holds none (text belongs in title, label, and (0.2) hud, slider, option, and panel) inline-script, text-after-references, text-not-allowed
empty-text An element that holds text, with none (a hud may be empty) bad-choice, bad-click-actions, bad-slider, element-in-text, empty-text, whitespace-text
too-many A further head, scene, title, (0.1) viewpoint, or (0.2) plan or water bad-click-actions, bad-water, not-in-older-version, three-of-one, too-many
missing-child holoml without a scene, or (0.2) a choice without an option bad-choice, missing-child
wrong-order head after scene wrong-order
unknown-attribute An attribute the element does not have inherited-names, newer-than-declared, not-in-02, not-in-older-version, unknown-attribute
missing-attribute A required attribute is missing, or (0.2) one that another needs: a choice's target and material go together, a click action's trigger, toggle, and label need begin="click", an animation that begins on a click needs a trigger when its target cannot be clicked, and a sound always does, each of several viewpoints needs an id, a group's near needs load="near", and a sound's range needs a position bad-03-attributes, bad-choice, bad-click-actions, bad-loading-by-area, bad-water, choice-material-alone, missing-attribute, unsupported-version-and-more
bad-value A value of the wrong kind, or out of range, or (0.2) one that another attribute or element rules out: a slider's max and value, a toggle's repeat, a click sound's autoplay, an option's value that another has, a choice's value address-characters, bad-02-values, bad-03-attributes, bad-choice, bad-click-actions, bad-loading-by-area, bad-numbers, bad-slider, bad-times, bad-values, bad-water, choice-values-bad-by-kind, empty-values, identifier-spaces, ids-in-misplaced-elements, inherited-names, newer-than-declared, other-spaces, overflow, toggle-repeat
attribute-not-for-type A light attribute its type does not use attribute-not-for-type, bad-choice
duplicate-id Two elements with the same id duplicate-id, ids-in-misplaced-elements
unknown-target An id reference (an animate target, (0.2) a trigger, a choice's target) that no element has bad-choice, bad-click-actions, ids-in-misplaced-elements, not-in-02, unknown-target
bad-target An attribute that cannot be animated on that element, or (0.2) a trigger that cannot be clicked, or a choice's target that is not a model animated-light-targets, bad-choice, bad-click-actions, bad-target, not-in-older-version
nested-link A link inside another link nested-link
unsafe-link An address with a scheme other than http or https address-characters, unsafe-link