... the point being is that the XML validation does _not_ lie.
Your Hibernate mapping _is_ valid with the Hibernate 3 DTD,
but it is _invalid_ with the Hibernate 2 DTD.
The errors you are getting are the same as when you validate
your mapping against the Hibernate 2 DTD.
Sinve you have not bothered to show your _full_ mapping file,
I have to take your last statement on good faith, but with a grain
of salt.
How you managed to get the DTD version mixed up is not obvious to
me, but several possibilities exist, such as having taken the Hibernate
2 DTD and renamed it locally, or whatever.
Dig around for files named hibernate-mapping-3.0.dtd in your class
path, or the hibernate jars and double check the content against
this link:
http://hibernate.sourceforge.net/hibern ... ng-3.0.dtd
Similarly, chase down any hibernate-mapping-2.0.dtd files etc.
And just for yourself, double check that you really, really have "3.0"
and not "2.0" in the two relevant places of your mapping file.
[/code]