2013-05-10 29 views
1

我需要使用XmlUnit測試像<div>&nbsp;</div>這樣的XHTML代碼。 Diff構造函數告訴我:XmlUnit:實體「nbsp」被引用,但未聲明

org.xml.sax.SAXParseException:引用實體「nbsp」,但未聲明 。

我知道NBSP實體並沒有在XML定義,但HTML代碼是不是我的,所以我不能#160替換它(這將是顯而易見的,否則溶液)。

我不想通過添加<!DOCTYPE html [ <!ENTITY nbsp "&#160;"> ]>來修改HTML代碼,我寧願不改變地保留代碼。

是否有解決此問題的另一種方法?我知道XmlUnit中有一個HTMLDocumentBuilder類,但我無法找到很好的文檔或示例。

回答

0

您可以使用DOCTYPE聲明,指MathML DTD

<!DOCTYPE math 
    PUBLIC "-//W3C//DTD MathML 3.0//EN" 
      "http://www.w3.org/Math/DTD/mathml3/mathml3.dtd"> 

或相同的本地副本。

+1

如果我想添加DTD,直接添加XHTML DTD不是更好嗎? 我相信這可能是一個解決方案,但我寧願不加改變地保留源代碼XHTML代碼(因爲您的解決方案會引發一些新問題)。 – Richard 2013-05-10 17:01:13

相關問題