javascriptxhtml-1.0-strict

XHTML won't validate && and < in a JavaScript function


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

and

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.


Solution

  • Or you can protect the script from the xml validation like this:

    <script type="text/javascript"> 
    //<![CDATA[
        if (user_age > 15 && user_age < 91) {
            // do soemthing
        }
    //]]>
    </script>