【发布时间】:2014-05-20 02:24:19
【问题描述】:
我在 XML 文件中有内联 DTD。当我验证时,我得到错误
文档类型中包含或指向的标记声明 声明必须格式正确。
和
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE MESSAGE [
<!ELEMENT MESSAGE (USER,SMS+)>
<!ELEMENT USER EMPTY>
<!ELEMENT SMS (ADDRESS)>
<!ELEMENT ADDRESS EMPTY>
<!ATTLIST MESSAGE VER CDATA #REQUIRED>
<!ATTLIST USER USERNAME CDATA #REQUIRED>
<!ATTLIST USER PASSWORD CDATA #REQUIRED>
<!ATTLIST SMS TEXT CDATA #REQUIRED>
<!ATTLIST SMS ID CDATA #REQUIRED>
<!ATTLIST ADDRESS FROM CDATA #REQUIRED>
<!ATTLIST ADDRESS TO CDATA #REQUIRED>
<!ATTLIST ADDRESS SEQ CDATA #REQUIRED>
]>
<MESSAGE VER='1.2' ><USER USERNAME='username' PASSWORD='password'/>
<SMS TEXT='message Text' ID='1'>
<ADDRESS FROM='32323233' TO='21212445455' SEQ='11'/>
</SMS><SMS TEXT='Text' ID='2'>
<ADDRESS FROM='text1111111111' TO='9090909090' SEQ='2' />
</SMS> </MESSAGE>
【问题讨论】:
-
您使用什么来验证您的 XML?只要在
<?xml声明之前没有任何空格(包括换行符),它对我来说就很好。 (通过 oXygen 中的 Xerces 验证。)