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

指向具有相对路径的XML实体声明,xml,hibernate,entity,doctype,hibernate-mapping,Xml,Hibernate,Entity,Doctype,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-ma

我想用

以下是我的文件结构:

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

// …
&注册;
// …
注册
在文件
registration.xml
中定义。不幸的是,在Eclipse中验证Hibernate映射文件时出现以下错误:

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

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

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

<!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>

// …
&注册;
// …

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

<!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>

// …
&注册;
// …