2014-07-13 2 views
0

내 DTD 코드에서이 오류가 계속 발생합니다. ")"및 다른 문자를 추가하려고했지만 아무 것도 작동하지 않습니다. 어떤 도움이 을 감상 할 수있다요소 유형 "viewer_rating"을 선언 할 때 '('문자 또는 요소 유형이 필요합니다. 오류

<?xml version="1.0" encoding="UTF-8"?> 

<!-- New document created with EditiX at Sun Jul 13 10:48:54 AST 2014 --> 

<!DOCTYPE movies 
[ 
<!ELEMENT movies-movie (movies-movie*)> 
<!ELEMENT movie (title, genre, movie_rating, viewer_rating, summary, year, director+, runtime, studio, actors+)> 
<!ELEMENT title (#PCDATA)> 
<!ELEMENT genre (action|comedy|drama|family|foreign|horror|musical|other)> 
<!ELEMENT movie_rating (G|PG|PG-13|R|NC-17)> 
<!ELEMENT viewer_rating (| 1 | 2 | 3 | 4 | 5)><!--receive error here --> 

<!ELEMENT summary (#PCDATA)> 
<!ELEMENT year (#PCDATA)> 
<!ELEMENT director (#PCDATA)> 
<!ELEMENT runtime (#PCDATA)> 
<!ELEMENT studio (#PCDATA)> 
<!ELEMENT actors (#PCDATA)> 
<!ATTLIST actors id CDATA #REQUIRED> 
]> 

답변

1

당신은 요소에 열거를 사용하려고했습니다 감사합니다. 저는 열거 형이 속성에 국한되어 있음을 확신합니다. 이것을 시도하십시오 :

<!ELEMENT movies (movie*)> 
<!ELEMENT movie (title, summary, year, director+, runtime, studio, actors+)> 
<!ELEMENT title (#PCDATA)> 
<!ELEMENT summary (#PCDATA)> 
<!ELEMENT year (#PCDATA)> 
<!ELEMENT director (#PCDATA)> 
<!ELEMENT runtime (#PCDATA)> 
<!ELEMENT studio (#PCDATA)> 
<!ELEMENT actors (#PCDATA)> 
<!ATTLIST movie genre (action|comedy|drama|family|foreign|horror|musical|other) #REQUIRED> 
<!ATTLIST movie movie_rating (G|PG|PG-13|R|NC-17) #REQUIRED> 
<!ATTLIST movie viewer_rating (0 | 1 | 2 | 3 | 4 | 5) #REQUIRED> 
<!ATTLIST actors id CDATA #REQUIRED> 

이렇게하면 요소가 아닌 영화의 장르, 영화 등급 및 시청자 등급 속성이 만들어집니다.

뷰어 등급에 비어있는 토큰이 있습니다 ((| 1|...). 허용되지 않습니다. #IMPLIED로 변경하고 뷰어 등급이없는 경우에는 그대로 두거나 평가하지 않음을 나타 내기 위해 "0"과 같은 자리 표시자를 사용하십시오.

영화 등급 및 장르가 선택 사항 인 경우 #REQUIRED를 #IMPLIED (으)로 변경하십시오.

<!DOCTYPE...은 내부 DTD인지 외부 DTD인지에 따라 달라집니다.