XML / DTD / XML Schema 질문입니다

sacredone의 이미지

XML 데이터 포멧을 이용하여 데이터를 전송하고자 할때 (수신측이 이를 데이터베이스에 저장하거나 처리함)

DTD, XML Schema 를 이용하여 XML 문서를 작성을 할텐데요

첫번째 질문

작성자 (전송자)가 작성한 XML 이 유효한 XML 파일인지 수신측이 어떻게알죠?

ㅁㅇㄹ ㅁㄴㅇㄹ

이라는 XML 문서를 작성해서 보냈을떄 수신측이
"book 에는 속성이 REQUIRED 일텐데 없네"
"book 자식엘리멘트가 저자, 제목말고 디스크립션도 있는데"
이런식으로 해석 할 수 있는거아닌가요?
그럼 DTD 나 XML schema 가 무조건 필요할텐데
없는 문서도있고 없어도 된다는말이있는데 어떻게 그럴수가 있을까요

두번째 질문

DTD 나 XML schema 가 무조건 있어야한다고 가정하면
전송자는 항상 DTD 나 XML schema 를 XML 문서를 보낼때 같이 보내겠죠
그럴때 수신측은 XML 문서를 디스플레이해주거나 저장을하거나 하여간
실려온 데이터를 어떻게 처리를할텐데
DTD 나 XML schema 문서인 .dtd, .xsd 같은 파일들도
뭔가 처리를해주나요?

두번째 질문을 하는이유는
XML 문서에 포함 될 수 있는 공격을 막고자 일단 파싱을 할려하는데

ㅁㄴㅇㄹ
ㅁㄴㅇㄹ

이런 XML 문서가왔을때 파싱할때
element:book
value:(NULL)

element:title
value:ㅁㄴㅇㄹ

element:author
value:ㅁㄴㅇㄹ

대충 이런식으로 파싱하게될텐데

.dtd, .xsd 파일도 공격에 사용될수 있으면 (수신측이 이를받아 저장하거나 어떤 처리를한다면)
DTD, XML schema 도 파싱을 해야하는지 궁금해서 질문합니다

실제 XML 포멧을 이용한 송/수신때 DTD 나 XML schema 가 차지하는 용량이 대부분일거같아서요
저기에 공격이 포함될수 없다면, 서버는 단지 저것들을 참고해서 XML 문서가 유효한지 확인하는것뿐이라면
.dtd, .xsd 파일의 파싱을 하지않고 부하를 대폭 줄일수있을거같은데
잘모르겠네요

고수분들의 도움을 여쭙니다

익명 사용자의 이미지

valid XML인지 확인하려면 DTD나 schema가 반드시 필요하죠. 하지만 well-formed XML인지 확인하기 위해서는 DTD나 schema가 필요하지 않죠. XML문서를 사용하는 용도에 따라 반드시 valied XML일 필요가 없을 수도 있으니까요.