When you write <!ELEMENT boolean ANY> in the DTD, it means that the content of the element type "boolean" can be anything(well-balanced XML snippet). But it doesn't mean that you can ommit the declaration of some descendant element of "boolean". For example, suppose you have the DTD declaration:
<!ELEMENT boolean ANY>
and XML document like this:
Then you have to declare both "child1" and "child11" in the DTD. The only thing the "ANY" gives you is that the declared element is free to have any well-formed content, but it doesn't let you to miss element declarations of its descendant elements.