2013-05-10 2 views
0

안녕 얘들 아 내가 외부에있는 XML DTD 코드를 가지고 있지만 내가 그것을 시도하고 유효성을 검사 할 때, 나는 오류가있는 것 같다. 내가 가지고있는 코드는 다음과 같습니다 :DTD 요소 지원

<!DOCTYPE catalog [ 
    <!ELEMENT catalog (book)+> 
    <!ELEMENT book (title, authors, year_published, ISBN, number_of_pages, price) > 
    <!ELEMENT title (#PCDATA)> 
    <!ELEMENT authors (author)> 
    <!ELEMENT author (first_name, last_name, gender)> 
     <!ELEMENT first_name (#PCDATA)> 
     <!ELEMENT last_name (#PCDATA)> 
     <!ELEMENT gender (#PCDATA)> 
    <!ELEMENT year_pusblished (#PCDATA)> 
    <!ELEMENT ISBN (#PCDATA)> 
    <!ELEMENT number_of_pages (#PCDATA)> 
    <!ELEMENT price (discount)> 
     <!ATTLIST price discount (yes|no) "no">]> 

나는 모든이 올바른지 알고 있지만 내가 그것을 검증 할 때 오류 메시지가 달려 온다 :에 포함

"마크 업 선언 또는 문서 유형 선언이 가리키는해야 행 3 열 4 "

나는 모든 것을 검사했지만 제대로 작동하지 않을 수 있습니다. 너희들도 도울 수 있니?

답변

0

.xml 파일에 쓸 경우 오류가 생성되지 않지만 .dtd 파일이 있으면 요소를 지워야합니다! 올바른 파일 test.xml의 :

<?xml version="1.0" encoding="UTF-8"?> 
<!ELEMENT catalog (book)+> 
<!ELEMENT book (title, authors, year_published, ISBN, number_of_pages, price) > 
<!ELEMENT title (#PCDATA)> 
<!ELEMENT authors (author)> 
<!ELEMENT author (first_name, last_name, gender)> 
<!ELEMENT first_name (#PCDATA)> 
<!ELEMENT last_name (#PCDATA)> 
<!ELEMENT gender (#PCDATA)> 
<!ELEMENT year_pusblished (#PCDATA)> 
<!ELEMENT ISBN (#PCDATA)> 
<!ELEMENT number_of_pages (#PCDATA)> 
<!ELEMENT price (discount)> 
<!ATTLIST price discount (yes|no) "no"> 
:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE catalog [ 
<!ELEMENT catalog (book)+> 
<!ELEMENT book (title, authors, year_published, ISBN, number_of_pages, price) > 
<!ELEMENT title (#PCDATA)> 
<!ELEMENT authors (author)> 
<!ELEMENT author (first_name, last_name, gender)> 
<!ELEMENT first_name (#PCDATA)> 
<!ELEMENT last_name (#PCDATA)> 
<!ELEMENT gender (#PCDATA)> 
<!ELEMENT year_pusblished (#PCDATA)> 
<!ELEMENT ISBN (#PCDATA)> 
<!ELEMENT number_of_pages (#PCDATA)> 
<!ELEMENT price (discount)> 
<!ATTLIST price discount (yes|no) "no">]> 
<catalog> 
    <book> 
     <title></title> 
     <authors> 
      <author> 
       <first_name></first_name> 
       <last_name></last_name> 
       <gender></gender> 
      </author> 
     </authors> 
     <year_published></year_published> 
     <ISBN></ISBN> 
     <number_of_pages></number_of_pages> 
     <price> 
      <discount></discount> 
     </price> 
    </book> 
</catalog> 

올바른 파일 test.dtd은 (같은 test.xml의로 선언 XML 파일에 링크)