指向具有相对路径的XML实体声明

时间:2012-04-10 09:56:19

标签: xml hibernate entity doctype hibernate-mapping

我想使用XML entites in my Hibernate mapping

这是我的文件结构:

/types/convertible-car.hbm.xml
/xml-entites/registration.xml

映射文件convertible-car.hbm.xml如下所示:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE hibernate-mapping SYSTEM 
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" 
    [!ENTITY registration SYSTEM "../xml-entities/registration.xml"]>

<hibernate-mapping package="…">
    // …
    &registration;    
    // …
</hibernate-mapping>

XML entity registration在文件registration.xml中定义。不幸的是,在Eclipse中验证Hibernate映射文件时出现了这个错误:

  

文档类型包含或指向的标记声明   声明必须是格式良好的。

我猜错误是由解析器未找到registration.xml文件引起的。 你知道我如何嵌入一个具有相对路径的实体吗?

1 个答案:

答案 0 :(得分:1)

您的实体声明有误。试试这个:

<!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-.0.dtd" [
<!ENTITY registration SYSTEM "../xml-entities/registration.xml">
]>
<hibernate-mapping package="…">
    // …
    &registration;    
    // …
</hibernate-mapping>