: <!ELEMENT 구문을 사용하여 정의한다.
<!ELEMENT element-name category>
<!ELEMENT element-name (element-content)>
: 빈 요소는 콘텐츠 없이 선언되며, EMTPY 키워드를 사용
<!-- 형식 -->
<!ELEMENT element-name EMPTY>
<!-- 예시 -->
<!ELEMENT br EMPTY>
: #PCDATA를 사용하여 선언된다. (순수 텍스트만 포함)
<!-- 형식 -->
<!ELEMENT element-name (#PCDATA)>
<!-- 예시 -->
<!ELEMENT from (#PCDATA)>
: 카테고리 키워드 ANY로 선언한 element는 구문 분석 가능한 데이터의 모든 조합을 포함할 수 있다. (텍스트, 자식 요소, 그 어떤 콘텐츠도 가질 수 있음)
<!-- 형식 -->
<!ELEMENT element-name ANY>
<!-- 예시 -->
<!ELEMENT note ANY>
: note 요소는 message 요소를 한 번만 포함할 수 있다.
<!-- 형식 -->
<!ELEMENT element-name (child-name)>
<!-- 예시 -->
<!ELEMENT note (message)>
: note 요소는 최소 한 개 이상의 message 요소를 포함해야 한다.
<!-- 형식 -->
<!ELEMENT element-name (child-name+)>
<!-- 예시 -->
<!ELEMENT note (message+)>
: note 요소는 message 요소를 포함하지 않을 수도 있고, 여러 개를 포함할 수도 있습니다.
<!-- 형식 -->
<!ELEMENT element-name (child-name*)>
<!-- 예시 -->
<!ELEMENT note (message*)>
: note 요소는 message 요소를 포함하지 않거나, 최대 한 번 포함할 수 있습니다.
<!-- 형식 -->
<!ELEMENT element-name (child-name?)>
<!-- 예시 -->
<!ELEMENT note (message?)>
: | 연산자를 사용하여 두 개 이상의 요소 중 하나를 선택하도록 선언할 수 있습니다.
<!ELEMENT note (to, from, header, (message|body))>
: 구문 분석된 문자 데이터와 자식 요소를 함께 포함할 수 있습니다.
<!ELEMENT note (#PCDATA|to|from|header|message)*>
: note 요소에 구문 분석된 문자 데이터, to, from, header, message 요소가 최소 0개 이상 포함될 수 있다.
: 위 예시에서는 library 요소가 최소 한 개 이상의 book 요소를 포함하고, book 요소는 title, author, 그리고 genre 또는 summary 중 하나를 선택적으로 포함할 수 있다.
<!DOCTYPE library [
<!ELEMENT library (book+)>
<!ELEMENT book (title, author, (genre | summary)?)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT genre (#PCDATA)>
<!ELEMENT summary (#PCDATA)>
]>
<library>
<book>
<title>XML Guide</title>
<author>John Doe</author>
<genre>Technology</genre>
</book>
<book>
<title>Learn DTD</title>
<author>Jane Smith</author>
<summary>A comprehensive guide to DTD.</summary>
</book>
</library>

<note>
<date>
<day>12</day>
<month>11</month>
<year>2002</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<date> 요소: 날짜 데이터를 하나의 요소로 묶어 명확하게 표현했습니다. 그 안에 <day>, <month>, <year>라는 하위 요소를 사용하여 데이터를 구조화했습니다.<to>, <from> 요소: to와 from도 속성이 아닌 요소로 정의하여, 받는 사람과 보낸 사람을 명확하게 구분했습니다.<heading>, <body> 요소: 메모의 제목과 내용을 각각 요소로 정의하여, 문서의 내용이 더 읽기 쉽고 명확하게 표현되었습니다.