2017-12-24 39 views
2

여기에 내 DTD 파일이 있습니다.XML에서 엔티티로 속성 유형을 선언하는 동안 유효성 검사 오류가 발생했습니다.

?xml version="1.0" encoding="UTF-8"?> 
<!-- edited with XML Spy v3.0.7 NT (http://www.xmlspy.com) by Manukyan (YSU) --> 
<!ENTITY xxx "ccc"> 
<!ENTITY yyy "ddd"> 
<!ELEMENT book (author+, title, publisher)> 
<!ELEMENT author (#PCDATA)> 
<!ELEMENT title (#PCDATA)> 
<!ELEMENT publisher (#PCDATA)> 
<!ATTLIST title 
    aaa ENTITY #IMPLIED 
> 

그리고 여기에 해당하는 DSD 파일이 있습니다.

그리고 유효성 검사 오류가 발생했습니다. 속성 'aaa'의 값 부분 'xxx'는 해석 대상이 아닌 항목의 이름이어야합니다.

+0

https://stackoverflow.com/ 질문/22411695/검증 시도 중 - xml-to-dtd-error-saying-entity-is-not-unparsed –

답변

2

당신은 엔티티 선언 및 ccc에 대한 표기 (NDATA) 선언을 추가하는 경우 @Daniel 헤일리가 비슷한 질문에,의 XML은 이제 유효 explains in his answer으로 :

<!DOCTYPE book [ 

<!NOTATION ccc SYSTEM "ccc"> 
<!ENTITY xxx SYSTEM "ccc" NDATA ccc> 

<!ENTITY yyy "ddd"> 
<!ELEMENT book (author+, title, publisher)> 
<!ELEMENT author (#PCDATA)> 
<!ELEMENT title (#PCDATA)> 
<!ELEMENT publisher (#PCDATA)> 
<!ATTLIST title aaa ENTITY #IMPLIED> 
]> 
<book> 
    <author>asd</author> 
    <title aaa="xxx"/> 
    <publisher/> 
</book>