Tomcat起動時のエラーログ

TomcatでJavaのservletを動かす実験をしていて、ログを見ると、servletは正常に動くのにTomcatが起動時に下のようなもので始まる大量のエラーを出してることに気付いた。
[ERROR] Digester - Parse Error at line 37 column 15: The content of element type
"servlet" must match "(icon?,servlet-name,display-name?,description?,(servlet-c
lass|jsp-file),init-param*,(以下略)

"Parse"とあるので私が追加したweb.xml(XML形式の設定ファイル)がおかしいのだろうとは思ったが、そもそも例えば上で書かれてるような37行目に"servlet"という文字列は無いし、"must match ..."とか言われても、"servlet-name"エレメントと"servlet-class"エレメントしか使ってないので、きちんとmatchしてるように思え、何が悪いのかわからなかった。しばらくしてやっと、上記の右側が正規表現ぽいことから、"servlet"エレメントの中身がicon, servlet-name, display-name, ...がこの順でないといけない、"?"がついてるエレメントはあっても無くても良い、servlet-classまたはjsp-fileのどちらか1つが必須である、という意味だと気付いた。

<servlet>~</servlet>の間に<servlet-name>と<servlet-class>を交互に書いていたのが問題だったようだ。同様に、<web-app>~</web-app>の間では、<servlet>と<servlet-mapping>を交互に置いてはいけないらしい。