Share via


DOCTYPE 선언

DOCTYPE 선언은 문서에서 외부 파일에 대한 참조나 직접 선언을 통해 또는 두 가지 방법을 모두 사용하여 루트 요소 및 DTD(문서 종류 정의)를 식별할 수 있는 공간을 제공합니다.

DOCTYPE 선언에는 다음과 같은 요소가 포함될 수 있습니다.

  • 문서 또는 루트 요소의 이름

    DOCTYPE 선언을 사용하는 경우 필요합니다.

  • 문서 구조를 확인하는 데 사용할 수 있는 DTD의 시스템 식별자 및 공용 식별자

    공용 식별자를 사용하는 경우 시스템 식별자도 있어야 합니다.

  • DTD 선언의 내부 하위 집합

    내부 하위 집합은 대괄호([ ]) 안에 나타납니다.

유효성 검사 환경에서 문서를 처리할 경우 DOCTYPE 선언은 필수적입니다. 올바른 형식이 되려면 DOCTYPE 선언에서 문서 구조에 일치하는 DTD를 식별해야 합니다. 유효성을 검사하지 않는 파서는 DOCTYPE 선언이 없어도 문서를 승인합니다.

가장 간단한 DOCTYPE 선언은 문서의 루트 요소만 식별합니다.

<!DOCTYPE rootElement>

DOCTYPE 선언을 사용하는 문서가 DTD를 구성하는 선언이 포함된 외부 문서를 참조하는 경우도 많이 있습니다. 다음을 사용하여 외부 DTD를 식별할 수 있습니다.

<!DOCTYPE rootElement SYSTEM "URIreference">

URIreference는 선언이 포함된 파일을 가리킵니다.

<!DOCTYPE rootElement PUBLIC "PublicIdentifier" "URIreference">

PublicIdentifier는 일부 XML 파서에서 URIreference 대신 DTD를 참조하는 데 사용할 수 있는 별도의 식별자를 제공합니다. 이 식별자는 네트워크에 연결되지 않았거나 연결하면 처리 속도가 급격히 느려지는 시스템에서 파서를 사용하는 경우에 매우 유용합니다.

DOCTYPE 선언에는 내부 하위 집합으로 참조되는 요소에서 직접 선언을 포함할 수도 있습니다. 외부 파일에 대한 참조 없이 DOCTYPE 선언에 전체 DTD가 직접 포함된 경우 다음 구문을 사용합니다.

<!DOCTYPE rootElement [
declarations
]>

DOCTYPE 선언에 외부 파일이나 외부 하위 집합과 결합할 선언이 포함된 경우 다음 구문을 사용합니다.

<!DOCTYPE rootElement SYSTEM "URIreference"[
declarations
]>

또는

<!DOCTYPE rootElement PUBLIC "PublicIdentifier" "URIreference"[
declarations
]>