and also:
The declaration matches ANY, and the types of all child
elements have been declared.
Isn't the second condition redundant. If a child element has not been
declared then the validity violation will be caught the first statement.
Which is to say, if a child has not been declared, then when the
child element's text is being parsed, its lack of declaration will be
caught by a validating parser at that point and there is no need to
check for this at the parent element level.