XML / DTD / XML Schema 질문입니다
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 파일의 파싱을 하지않고 부하를 대폭 줄일수있을거같은데
잘모르겠네요
고수분들의 도움을 여쭙니다
well-formed, valid XML
valid XML인지 확인하려면 DTD나 schema가 반드시 필요하죠. 하지만 well-formed XML인지 확인하기 위해서는 DTD나 schema가 필요하지 않죠. XML문서를 사용하는 용도에 따라 반드시 valied XML일 필요가 없을 수도 있으니까요.
댓글 달기