XML文件头里可以写完整的DTD定义,即一个XML文件里可以既同时包括DTD定义和XML数据,如下,这么写XML文件是合法的。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE UserExceptions [
<!ELEMENT UserExceptions (UserException)>
<!ELEMENT UserException (Error+)>
<!ATTLIST UserException ErrorCatalog CDATA "">
<!ATTLIST UserException Description CDATA "">
<!ELEMENT Error (ErrorNo,ErrorMessage)>
<!ELEMENT ErrorCatalog (#PCDATA)>
<!ELEMENT Description (#PCDATA)>
<!ELEMENT ErrorNo (#PCDATA)>
<!ELEMENT ErrorMessage (#PCDATA)>
]>
<UserExceptions>
<UserException ErrorCatalog="1" Description="SERVER">
<Error>
<ErrorNo>1001</ErrorNo>
<ErrorMessage>网络连接错误</ErrorMessage>
</Error>
<Error>
<ErrorNo>1002</ErrorNo>
<ErrorMessage>数据库异常</ErrorMessage>
</Error>
</UserException>
</UserExceptions>