현재이 내가 일하고 샘플 XML을 다음과 같습니다나는 XML에 몇 가지 태그를 구문 분석하고 싶지 않은 것은
<smsq>
<sms>
<id>96</id>
<to>03333560511</to>
<msg> danial says: hahaha <space> nothing.
</msg>
</sms>
</smsq>
이제 태그를 해석 할 수 있어야 다른 태그를 (포함 할 수 있습니다,주의하시기 바랍니다) 나는 그것을 위해 국방부를 만들어야 만했다. DTD는이 같은했다 :
<!DOCTYPE smsq [
<!ELEMENT sms (mID,to,msg,type)>
<!ELEMENT mID (#PCDATA)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT msg (CDATA)>
]>
을 그러나 문제는 XML 파서가 여전히 태그에 가서 태그는 태그로 폐쇄되어야한다고 말한다는 것이다. XML에서와 마찬가지로 데이터를 가져오고 msg를 더 파싱하고 싶지 않습니다.
이 문제를 해결하고 DTD로이 작업을 수행 할 수 있는지 알려주십시오.
감사합니다.
태그가 닫히지 않으면 XML이 아닙니다. XML을 사용할 수 있으려면 올바른 형식 * 및 * 유효한 * 형식이어야합니다. 모든 XML 파서는 올바른 형식 *이 아닌 경우 입력 XML을 거부하는 데 * 반드시 필요하며 누락 된 닫는 태그는 실제로 잘 형식화되지 않았 음을 의미합니다. 이것은 일반적으로 XML의 폭 넓은 적용 가능성과 유용성의 기초에 놓여 있습니다. – Abel
@Abel, 유효하지 않아도 사용할 수 있습니다. 많은 문맥에서 잘 형성되면 충분합니다. –
@ 존 : 아주 사실이지만, DTD가있는 경우,이 경우 XML은 구문 분석이 유효해야합니다. // Just checked : 유효하지 않은 XML을 * errors *로보고해야하지만, 이러한 오류는 형식이 올바른 경우처럼 치명적인 오류가 아니므로 구문 분석을 계속할 수 있습니다. – Abel