1

次の xml ファイルがあるとします。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Clients SYSTEM "bank.dtd">
<Clients>
    <account>
        <number>323</number>

        <client>
            <address>
                <street>Sliders</street>
                <city>Tokyo</city>
            </address>
            <identity>1212</identity>
        </client>

        <client>           // HERE IS THE PROBLEM
            <address>
                <street>Jason</street>
                <city>Paris</city>
            </address>
            <identity>1313</identity>
        </client>

        <totoalSum>43333</totoalSum>
    </account>
</Clients>

およびその DTD ファイル:

<?xml version="1.0" encoding="utf-8"?>
<!ELEMENT Clients (account+)>
<!ELEMENT account (number,client,totoalSum)>
<!ELEMENT client (address,identity)>
<!ELEMENT address (street,city)>
<!ELEMENT number (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT identity (#PCDATA)>
<!ELEMENT totoalSum (#PCDATA)>

検証できません。XMLspy は次のように述べています。

Content model of element 'account' disallows element 'client' at this position.

これにより、問題のある行は上に「HERE」でマークされます。

何がこれを引き起こす可能性がありますか?

よろしく

4

1 に答える 1

2

client要素内に2 つの要素がありaccountます。それが問題です!

これで を変更してみてくださいDTD

<!ELEMENT account (number,client+,totoalSum)>
于 2012-04-12T21:10:03.133 に答える