如何检查xml文件是否有效

如何检查xml文件是否有效,xml,Xml,我正在学习xml。 我创建小型xml文件和dfd文件。 这是xml文件 <?xml version="1.0"?> <?xml-stylesheet type="text/css" href="stylesheet.css"?> <!DOCTYPE software SYSTEM "software.dtd" [ <!ATTLIST title ttl CDATA "no name"> <!ATTLIST license lcs CDATA #RE

我正在学习xml。 我创建小型xml文件和dfd文件。 这是xml文件

<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="stylesheet.css"?>
<!DOCTYPE software SYSTEM "software.dtd"
[
<!ATTLIST title ttl CDATA "no name">
<!ATTLIST license lcs CDATA #REQUIRED>
]>
<software>
<application>
    <suite>
        <app>
            <title ttl="MOffice">Microsoft Office</title>
            <developer>Microsoft</developer>
            <os>Microsoft Windows</os>
            <license>Trialware</license>
        </app>
        <app>
            <title>iWork</title>
            <developer>Apple</developer>
            <os>Mac OS</os>
            <license>Proprietary</license>
        </app>
        <app>
            <title ttl="Office">Open Office</title>
            <developer>StarOffice,OpenOffice.org,Apache OpenOffice</developer>
            <os>Linux, Mac OS, Microsoft Windows</os>
            <license>LGPL,Apache License</license>
        </app>
    </suite>
</application>  
</software>

]>
微软办公室
微软
微软视窗
试用版软件
我的作品
苹果
苹果操作系统
专有的
开放办公室
StarOffice、OpenOffice.org、ApacheOpenOffice
Linux、Mac OS、Microsoft Windows
LGPL,Apache许可证
这是dfd文件

<!ELEMENT software(application)>
<!ELEMENT application(suite) >
<!ELEMENT suite(app*)>
<!ELEMENT app(title,developer,os,license)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT developer(#PCDATA)>
<!ELEMENT os(#PCDATA)>
<!ELEMENT license(#PCDATA)>
<!ATTLIST os osx CDATA #REQUIRED>


它应该是不正确的xml文件,因为在
os
license
元素中没有属性
osx
lcs
。但Internet Explorer会正常打开它。为什么?

大多数XML解析器,包括Internet Explorer中的解析器,只检查XML格式是否正确,以确保XML结构正确

为了根据DTD或进行验证,您需要使用

如何使用这种解析器进行验证的确切过程取决于解析器和编程语言