Script要素を空要素タグを使って書いてはいけない。

Script要素は"</*"*1までが要素と判断されるとのこと。したがって、

<script type="text/javascript" src="js/prototype.js"></script>

と書かなくてはならず、

<script type="text/javascript" src="js/prototype.js" />

としてはいけない。
後者のようにすると、次の閉じタグまでがscriptの中身と言うことになる*2

参考

*1:終了タグ開始区切り子[ETAGO, </]と名前開始文字[a-zA-Z]

*2:srcを指定し、かつ要素の中身がある場合、srcのファイルが読み込めなかった場合に中身が使われる。