我有一个在Eclipse中标记的hibernate配置文件。具体来说,属性的值属性,如下面最后一行所示,正在标记
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver" />
错误消息是
属性&#34;价值&#34;必须为元素类型&#34; property&#34;
声明
为什么Eclipse会标记这个?如何更新我的Eclipse,使其不再将此标记为错误?
顺便说一句,我知道我可以重写属性元素(如下所示)并避免错误,但我不应该这样做。
<property name="hibernate.connection.driver_class"> oracle.jdbc.driver.OracleDriver</property>
答案 0 :(得分:2)
Eclipse刚刚引用您引用的DTD。根据该DTD,<property>
元素没有名为value
的属性。
<!ELEMENT property (#PCDATA)>
<!ATTLIST property name CDATA #REQUIRED>
所以你的XML无效,这就是Eclipse警告你的。
也许Hibernate容忍你正在使用的XML内容,但这与它自己的DTD相冲突。
也许Hibernate 4的DTD已得到纠正,或者您可以使用基于模式的XML而不是DTD。