2013-03-14 122 views
0

我正在學習xml。 我創建小型xml文件和dfd文件。 這是xml文件如何檢查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> 

,這是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> 

應該incorred xml文件,因爲在oslicense元素沒有屬性osxlcs。但Internet Explorer打開它正常。爲什麼?

回答

1

大多數XML解析器(包括Internet Explorer中的解析器)僅檢查XML是否格式良好 - 以確保XML結構正確。

爲了驗證對照DTD或XML Schema,您需要使用validating parser

如何使用這種解析器進行驗證的確切過程取決於解析器和編程語言。