XML 입력

DTD 입력

유효성 검사 결과

XML DTD 유효성 검사란?

오래된 엔터프라이즈 시스템의 XML 피드를 다루다 보면, 문서가 유효성 검사를 통과하지 못하는데 DTD가 무엇을 기대하는지 아무도 기억하지 못하는 상황에 부딪히게 됩니다. DTD(Document Type Definition)XML 1.0 사양에 내장된 원래 문법 메커니즘으로, 허용되는 요소, 순서, 텍스트 콘텐츠 규칙을 선언합니다. DTD는 레거시 게시 워크플로, XML 기반 문서 파이프라인, DOCTYPE 기반 유효성 검사에 의존하는 도구 체인에서 여전히 널리 사용됩니다.

이 유효성 검사기는 실용적인 DTD 정렬을 신속하게 확인하는 데 도움이 됩니다: 루트 선언 존재, 선언되지 않은 요소, 단순 시퀀스 모델의 필수 자식 요소 누락. 더 풍부한 유형 제약 조건과 현대적인 계약을 위해서는 XML XSD 유효성 검사기를 사용하세요.

이 도구 사용 방법

1

XML 및 DTD 붙여넣기

왼쪽 패널에 XML을, 중간 패널에 DTD 선언을 추가하세요. 빠른 템플릿이 필요하면 샘플 콘텐츠로 시작하세요.

2

DTD 검사 실행

검사를 클릭하여 선언된 요소를 XML 문서 구조와 비교합니다.

3

수정 및 재실행

누락된 선언 또는 필수 자식 노드를 해결한 후 다시 유효성 검사를 수행하세요. DTD 규칙을 편집하기 전에 계층 구조를 확인하려면 XML 트리 뷰어를 사용하세요.

DTD 대 XSD

DTD는 컴팩트하고 구형 시스템에서 널리 지원되지만 데이터 유형 제어가 제한적입니다. XSD는 더 표현력이 풍부하고 네임스페이스 친화적입니다. XML 파이프라인을 현대화하는 경우 먼저 DTD로 빠르게 유효성 검사를 수행한 다음 가능한 경우 계약을 XSD로 마이그레이션하세요.

검증 예시

예시: DTD에 대해 검증된 메모 문서

XML 문서:

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
  <to>Alice</to>
  <from>Bob</from>
  <body>Meeting at 3 PM</body>
</note>

DTD 정의 (note.dtd):

<!ELEMENT note (to, from, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT body (#PCDATA)>

자주 묻는 질문

XML을 DTD에 대해 온라인으로 검증하는 방법은?

왼쪽 패널에 XML을, 중간 패널에 DTD 선언을 붙여넣고 검사를 클릭합니다. 도구가 루트 선언, 선언되지 않은 요소, 누락된 필수 하위 요소를 확인합니다 -- 모두 브라우저에서 로컬로 실행됩니다.

인라인 DOCTYPE DTD 스니펫을 사용할 수 있나요?

예. <!ELEMENT><!ATTLIST> 선언을 DOCTYPE 블록으로 감싸지 않고 DTD 패널에 직접 붙여넣을 수 있습니다.

내 XML 데이터가 서버로 전송되나요?

아니요. 모든 DTD 유효성 검사 처리는 전적으로 브라우저에서 이루어집니다. 업로드되는 것이 없으므로 프로덕션 피드와 민감한 문서에도 안전하게 사용할 수 있습니다.

DTD 유효성 검사와 XSD 유효성 검사의 차이점은?

DTD는 W3C XML 1.0 사양의 원래 XML 문법입니다 -- 컴팩트하고 널리 지원되지만 데이터 유형 제어가 제한적입니다. XSD는 더 풍부한 유형 제약 조건과 네임스페이스 지원을 추가합니다.

DTD 유효성 검사 전에 무엇을 확인해야 하나요?

먼저 XML 유효성 검사기를 실행하여 문서가 올바른 형식의 XML인지 확인하세요. DTD 유효성 검사는 유효한 XML 구문을 전제로 합니다.

관련 도구

참조: XML 1.0, XML 1.1, XML 사양의 DTD, MDN XML 가이드.