dbUnit dtd错误:元素类型“dataset”的声明必须以“>”结尾

时间:2011-05-23 07:45:46

标签: java xml junit dtd dbunit

我第一次使用dbUnit。我从here获取了样本dtd:

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT dataset (table+) | ANY>
<!ELEMENT table (column*, row*)>
<!ATTLIST table
    name CDATA #REQUIRED
>
<!ELEMENT column (#PCDATA)>
<!ELEMENT row (value | null | none)*>
<!ELEMENT value (#PCDATA)>
<!ELEMENT null EMPTY>

我收到以下错误:

  

org.dbunit.dataset.DataSetException:第2行:元素类型“dataset”的声明必须以“&gt;”结尾。

这是什么意思?我很困惑,因为我拿了原来的dtd,其次 a'&gt;'在数据集定义的末尾。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

将第一行更改为:

<!ELEMENT dataset (table+ | ANY)>

将使语法正确。

然而,该模型也可能是:

<!ELEMENT dataset ANY>

因为“ANY”上下文规范无论如何都会匹配表元素(还有更多,请参阅:http://www.w3.org/TR/xml/#sec-logical-struct