XML DTD
올바른 구문을 가진 XML 문서를 "정형"이라고 합니다.
DTD에 대해 유효성이 검사된 XML 문서는 "잘 구성됨" 및 "유효함"입니다.
DTD란 무엇입니까?
DTD는 문서 유형 정의를 나타냅니다.
DTD는 XML 문서의 구조와 법적 요소 및 속성을 정의합니다.
유효한 XML 문서
"유효한" XML 문서는 "정형"이며 DTD 규칙을 따릅니다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
위의 DOCTYPE 선언에는 DTD 파일에 대한 참조가 포함되어 있습니다. DTD 파일의 내용이 아래에 표시되고 설명됩니다.
XML DTD
DTD의 목적은 XML 문서의 구조와 법적 요소 및 속성을 정의하는 것입니다.
참고.dtd:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
위의 DTD는 다음과 같이 해석됩니다.
- !DOCTYPE note - 문서의 루트 요소가 note임을 정의합니다.
- !ELEMENT note - 메모 요소가 "to, from, header, body" 요소를 포함해야 함을 정의합니다.
- !ELEMENT to - "#PCDATA" 유형이 될 to 요소를 정의합니다.
- !ELEMENT from - "#PCDATA" 유형이 될 from 요소를 정의합니다.
- !ELEMENT 제목 - "#PCDATA" 유형이 될 제목 요소를 정의합니다.
- !ELEMENT 본문 - "#PCDATA" 유형의 본문 요소를 정의합니다.
팁: #PCDATA는 구문 분석 가능한 문자 데이터를 의미합니다.
엔터티 선언에 DTD 사용
DOCTYPE 선언은 문서에서 사용되는 특수 문자나 문자열을 정의하는 데에도 사용할 수 있습니다.
예시
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp
" ">
<!ENTITY writer "Writer: Donald Duck.">
<!ENTITY copyright "Copyright: W3Schools.">
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<footer>&writer; ©right;</footer>
</note>
직접 사용해 보기 »
팁: 엔터티는 세 부분으로 구성됩니다. 앰퍼샌드(&)로 시작하여 엔터티 이름이 오고 세미콜론(;)으로 끝납니다.
DTD는 언제 사용합니까?
DTD를 사용하면 독립적인 그룹의 사람들이 데이터 교환에 표준 DTD를 사용하는 데 동의할 수 있습니다.
DTD를 사용하면 외부 세계에서 수신한 데이터가 유효한지 확인할 수 있습니다.
DTD를 사용하여 자신의 데이터를 확인할 수도 있습니다.
DTD를 공부하고 싶다면 DTD 튜토리얼 을 읽어보세요 .
DTD를 사용하지 말아야 할 경우는?
XML에는 DTD가 필요하지 않습니다.
XML을 실험하거나 작은 XML 파일로 작업할 때 DTD를 만드는 것은 시간 낭비일 수 있습니다.
애플리케이션을 개발하는 경우 DTD를 추가하기 전에 사양이 안정될 때까지 기다리십시오. 그렇지 않으면 유효성 검사 오류로 인해 소프트웨어가 작동을 멈출 수 있습니다.