DTD 파일에서 XML 스키마 생성

DTD 파일에서 XML 스키마를 생성하면 자동으로 DTD 파일의 요소와 속성으로 채워지는 XML 스키마를 작성할 수 있습니다. 따라서 DTD 파일 대신 XML 스키마를 사용하여 XML 파일의 유효성을 검증하되, DTD 파일에 이미 설정된 규칙을 사용하려는 경우에 시간을 절약할 수 있습니다.
시작하기 전에
이 태스크 정보

다음은 자원 Perspective에서 사용하기 위해 작성된 지시사항이지만, 다른 여러 Perspective에서도 사용할 수 있습니다.

DTD 파일에서 XML 스키마 파일을 작성하려면 다음 단계를 수행하십시오.

  1. 네비게이터 보기에서 DTD를 마우스 오른쪽 단추로 클릭한 다음 생성 > XML 스키마를 클릭하십시오.
  2. 스키마를 포함할 프로젝트 또는 폴더를 선택하십시오.
  3. 기본 이름을 그대로 사용하거나 새 이름을 입력하고 다음을 클릭하십시오.
  4. DTD 파일 및 참조 DTD 파일을 포함하는 XML 스키마를 작성하려면 모든 DTD 파일을 포함하는 하나의 XML 스키마 작성 단일 선택 단추를 클릭하십시오.
  5. 또는 DTD 파일 및 참조 DTD 파일 각각에 대한 개별 스키마를 작성하려면 각 DTD 파일에 대한 XML 스키마 작성 단일 선택 단추를 클릭하십시오. 이 옵션을 선택하면 각 XML 스키마는 생성할 때 참조한 DTD와 동일한 이름을 갖습니다. 예를 들어, Greetings.dtd라는 DTD가 있고 이 DTD가 Hello.dtd 및 Goodbye.dtd를 참조하는 경우, Greetings.dtd에서 생성된 스키마(스키마에 대해 지정된 이름 사용)와 Hello.xsd 및 Goodbye.xsd라는 둘 이상의 스키마가 생성됩니다.
  6. 완료를 클릭하십시오.
결과

스키마가 네비게이터 보기에 나타납니다. 이 스키마는 생성할 때 사용된 DTD 파일과 동일한 이름을 갖습니다(XML 스키마를 생성할 때 파일 이름 필드의 기본값을 그대로 사용한 경우).

XML 스키마에서는 엔티티를 지원하지 않으므로 DTD 파일에 있던 엔티티는 XML 스키마에 포함되지 않습니다. 그러나 엔티티를 참조하던 요소나 속성의 경우 해당 값을 XML 스키마로 전달합니다.

예를 들어, "Copyright" 엔티티를 포함하는 "Legal"이라는 DTD가 있으며, 이 엔티티의 값은 "Copyright 2004. MyCompany Publishing"입니다. 또한 DTD에는 Copyright 엔티티를 참조하는 "MyCopyright"이라는 요소가 있습니다. 이 경우 XML 스키마를 작성하면 Copyright 엔티티가 XML 스키마에 나타나지는 않지만, 이 엔티티의 값은 전달됩니다. 즉, MyCopyright은 Copyright 2004. MyCompany Publishing이라는 값을 갖게 됩니다.

DTD 파일에 있던 모든 요소와 속성은 XML 스키마 파일에도 있습니다.

(#PCDATA) 컨텐츠 모델(속성 없음)을 사용하는 DTD의 요소는 XML 스키마 편집기에 빈 상태로 나타나며, 기본 제공 단순 유형string으로 표시됩니다. 즉, (#PCDATA) 값을 사용하는 DTD 요소는 XML 스키마 기본 유형이 string인 XML 스키마 요소에 맵핑됩니다.

주: 히브리어 또는 아랍어 요소를 포함하는 DTD 파일에서 XML 스키마를 생성하는 경우, 특정 요소 이름을 해당 16진 히브리어 및 아랍어 인코딩 값으로 인코드해야 합니다. 이 문제점을 방지하려면 생성을 수행하기 전에 원본 DTD 또는 XML 스키마 파일의 인코딩 속성을 UTF-8로 변경하십시오. 즉, XML 선언은 <?xml version="1.0" encoding="UTF-8"?>이어야 합니다. 영향을 받는 인코딩 값 목록은 ISO-8859-8-I, ISO-8859-8, Windows-1256 및 ISO-8859-6입니다.
다음에 수행할 작업

피드백