0

私は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>

そしてこれは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>

osx属性とlcsin要素がないため、これはxmlファイルに組み込まれている必要がありosます。licenseしかし、InternetExplorerはそれを正常に開きます。なんで?

4

1 に答える 1

1

Internet Explorerのパーサーを含むほとんどのXMLパーサーは、XMLの整形式性をチェックするだけで、XML構造が正しいことを確認します。

DTDまたはXMLスキーマに対して検証するには、検証パーサーを使用する必要があります。

このようなパーサーを検証に使用する正確なプロセスは、パーサーとプログラミング言語によって異なります。

于 2013-03-14T20:27:24.513 に答える