Elements get validated in that:
What attributes have occurred is checked against those allowed and those required.
Attributes are validated.
If the content is simple typed, the character children is checked against this type.
The order of the element children is checked against the type of the element.
Element children are validated against their declarations.
Attributes get validated against their type and "use" (defaults, optional vs. required, etc.).
Assessment starts by finding an element declaration and a processing mode of 'lax' or 'strict'.