2012-04-12 4 views
1

다음 XML 파일을 감안할 때 :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. 

여기에서 문제가되는 행은 "여기"로 표시되어 있습니다.

어떤 원인 일 수 있습니까?

감사

답변

2

당신은 account 요소 내의 2 개 client 요소를 가지고있다. 그것이 문제이다! 이와 DTD을 변경

시도 :

<!ELEMENT account (number,client+,totoalSum)> 
+0

당신을 감사합니다! + 실제로는 내가 몇 명의 고객을 가질 수 있다고 말하는 것입니까? – ron

+1

예. 이것이 계정 요소 내부에 들어갈 수있는 요소의 양을 정의하는 방법입니다. 하나 이상의 요소 ... –

+2

@ron -'+'는 하나 이상입니다. '*'는 0 이상입니다. 이들 중 어느 것도 없다면, 정확히 하나를 의미합니다. –

관련 문제