XML 튜토리얼

XML 홈 XML 소개 XML 사용 방법 XML 트리 XML 구문 XML 요소 XML 속성 XML 네임스페이스 XML 표시 XML HttpRequest XML 파서 XML DOM XML XPath XML XSLT XML XQuery XML XLink XML 유효성 검사기 XML DTD XML 스키마 XML 서버 XML 예제 XML 퀴즈 XML 인증서

XML AJAX

AJAX 소개 AJAX XMLHttp AJAX 요청 AJAX 응답 AJAX XML 파일 AJAX PHP AJAX ASP AJAX 데이터베이스 AJAX 애플리케이션 AJAX 예제

XML DOM

DOM 소개 DOM 노드 DOM 액세스 DOM 노드 정보 DOM 노드 목록 DOM 순회 DOM 탐색 DOM 값 가져오기 DOM 변경 노드 DOM 제거 노드 DOM 교체 노드 DOM 생성 노드 DOM 추가 노드 DOM 복제 노드 DOM 예제

XPath 튜토리얼

XPath 소개 XPath 노드 XPath 구문 XPath 축 XPath 연산자 XPath 예제

XSLT 튜토리얼

XSLT 소개 XSL 언어 XSLT 변환 XSLT <템플릿> XSLT <값> XSLT <각각> XSLT <정렬> XSLT <만약> XSLT <선택> XSLT 적용 클라이언트의 XSLT 서버의 XSLT XSLT XML 편집 XSLT 예

XQuery 튜토리얼

XQuery 소개 XQuery 예제 XQuery FLWOR 엑스쿼리 HTML XQuery 용어 XQuery 구문 XQuery 추가 XQuery 선택 XQuery 함수

XML DTD

DTD 소개 DTD 빌딩 블록 DTD 요소 DTD 속성 DTD 요소 대 속성 DTD 엔터티 DTD 예

XSD 스키마

XSD 소개 XSD 방법 XSD <스키마> XSD 요소 XSD 속성 XSD 제한 사항

XSD 컴플렉스

XSD 요소 XSD 비어 있음 XSD 요소만 XSD 텍스트만 XSD 혼합 XSD 지표 XSD <모든> XSD <모든 속성> XSD 대체 XSD 예

XSD 데이터

XSD 문자열 XSD 날짜 XSD 숫자 XSD 기타 XSD 참조

서비스

XML 서비스 XML WSDL XML SOAP XML RDF XML RSS

참고문헌

DOM 노드 유형 DOM 노드 DOM 노드 목록 DOM NamedNodeMap DOM 문서 DOM 요소 DOM 속성 DOM 텍스트 DOM CDATA DOM 주석 DOM XMLHttpRequest DOM 파서 XSLT 요소 XSLT/XPath 함수

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 "&#xA0;">
<!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;&nbsp;&copyright;</footer>
</note>
직접 사용해 보기 »

팁: 엔터티는 세 부분으로 구성됩니다. 앰퍼샌드(&)로 시작하여 엔터티 이름이 오고 세미콜론(;)으로 끝납니다.


DTD는 언제 사용합니까?

DTD를 사용하면 독립적인 그룹의 사람들이 데이터 교환에 표준 DTD를 사용하는 데 동의할 수 있습니다.

DTD를 사용하면 외부 세계에서 수신한 데이터가 유효한지 확인할 수 있습니다.

DTD를 사용하여 자신의 데이터를 확인할 수도 있습니다.

DTD를 공부하고 싶다면 DTD 튜토리얼 을 읽어보세요 .


DTD를 사용하지 말아야 할 경우는?

XML에는 DTD가 필요하지 않습니다.

XML을 실험하거나 작은 XML 파일로 작업할 때 DTD를 만드는 것은 시간 낭비일 수 있습니다.

애플리케이션을 개발하는 경우 DTD를 추가하기 전에 사양이 안정될 때까지 기다리십시오. 그렇지 않으면 유효성 검사 오류로 인해 소프트웨어가 작동을 멈출 수 있습니다.