Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse在值XML属性(在hibernate.cfg.XML中)上检测到错误_Xml_Eclipse_Hibernate - Fatal编程技术网

Eclipse在值XML属性(在hibernate.cfg.XML中)上检测到错误

Eclipse在值XML属性(在hibernate.cfg.XML中)上检测到错误,xml,eclipse,hibernate,Xml,Eclipse,Hibernate,我有一个hibernate配置文件,它在Eclipse中被标记。具体而言,将标记属性的值属性,如下面最后一行所示 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configura

我有一个hibernate配置文件,它在Eclipse中被标记。具体而言,将标记属性的值属性,如下面最后一行所示

<?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" />

错误消息是

必须为元素类型“属性”声明属性“值”

为什么Eclipse会对此进行标记?我如何更新我的Eclipse,使它不再将此标记为错误

顺便说一下,我知道我可以重写property元素(如下所示)并避免错误,但我不应该这样做

    <property name="hibernate.connection.driver_class"> oracle.jdbc.driver.OracleDriver</property>
oracle.jdbc.driver.OracleDriver

Eclipse只是按照您引用的DTD运行。根据该DTD,
元素没有名为
值的属性

<!ELEMENT property (#PCDATA)>
<!ATTLIST property name CDATA #REQUIRED>

因此,您的XML无效,这正是Eclipse警告您的

也许Hibernate可以容忍您正在使用的XML内容,但这与它自己的DTD相冲突


也许Hibernate 4的DTD已经被更正,或者您可以使用基于模式的XML代替DTD。

感谢E-Riz的澄清。这是一个已经启动并运行多年的项目,因此Hibernate显然可以容忍将“value”设置为属性。我不希望Eclipse将此捕获为一个错误,所以我通过右键单击我的项目,进入属性>验证,然后取消选中XML验证程序,禁用了此项目的XML验证