@Kayadelenium
Unfortunately, the attribute detection code isn't ready for production yet, because
epubveri, will fail to detect made-up or mistyped attributes.
For example, it won't flag the following:
Code:
<p fake="fake" clas="header">*</p>
I don't expect much from an EPUB validator but at a bare minimum it must be able to
reliably detect valid and invalid tags
and valid and invalid attributes.
I had your code checked by Claude.ai and it suggested the following, which hopefully will make sense to you:
Quote:
|
Originally Posted by claude.ai
Enumerate the true global attribute set; delete the wildcard.
File: schemas/xhtml.rng, globalAttrsCore (lines 117–140).
Change: remove <ref name="anyOtherAttr"/> (line 139) and the anyOtherAttr define (lines 161–183) entirely. In their place, add explicit <optional><attribute name="..."> entries for the real fixed-size HTML5 global set that isn't already listed: draggable, itemscope, itemtype, itemid, itemref, itemprop, role, slot, part, is, inputmode, enterkeyhint, popover, plus the full ARIA attribute list (aria-label, aria-hidden, aria-describedby, aria-live, aria-labelledby, etc. — WAI-ARIA 1.2 defines a closed, finite set, so this is a real enumeration, not a prefix match). These are all closed, spec-defined lists, so this is pure schema authoring, no engine work.
Handle data-* outside RNG, since it's the one genuinely open-ended family.
|