Here's the snippet of code that won't validate:
if (user_age > 15 && user_age < 91)
It gets the following errors:
XML Parsing Error: StartTag: invalid element name
XML Parsing Error: xmlParseEntityRef: no name
The first error is thrown for the "less than" and the second one is thrown twice, once for each ampersand.
Replacing the above signs with & and < validates fine, but of course it completely ruins the function.
Or you can protect the script from the xml validation like this:
Move script to other file :)
It is standard (and good) habit to separate style (into .css file), data (.html) and of course scripts to .js file.
<![CDATA[ if (user_age > 15 && user_age < 91) ]]>