DTD 파일에서 XML 스키마를 생성하면 자동으로 DTD 파일의 요소와 속성으로 채워지는
XML 스키마를 작성할 수 있습니다. 따라서 DTD 파일 대신 XML 스키마를 사용하여
XML 파일의 유효성을 검증하되, DTD 파일에 이미 설정된 규칙을 사용하려는 경우에
시간을 절약할 수 있습니다.
이 태스크 정보
다음은 자원 Perspective에서 사용하기 위해 작성된 지시사항이지만, 다른 여러
Perspective에서도 사용할 수 있습니다.
DTD 파일에서 XML 스키마 파일을 작성하려면
다음 단계를 수행하십시오.
- 네비게이터 보기에서 DTD를 마우스 오른쪽 단추로 클릭한 다음
를 클릭하십시오.
- 스키마를 포함할 프로젝트 또는 폴더를 선택하십시오.
- 기본 이름을 그대로 사용하거나 새 이름을 입력하고 다음을
클릭하십시오.
- DTD 파일 및 참조 DTD 파일을 포함하는 XML 스키마를 작성하려면
모든 DTD 파일을 포함하는 하나의 XML 스키마 작성 단일 선택 단추를
클릭하십시오.
- 또는 DTD 파일 및 참조 DTD 파일 각각에 대한 개별 스키마를 작성하려면
각 DTD 파일에 대한 XML 스키마 작성 단일 선택 단추를 클릭하십시오. 이 옵션을 선택하면 각 XML 스키마는 생성할 때 참조한 DTD와 동일한 이름을
갖습니다. 예를 들어, Greetings.dtd라는 DTD가 있고 이 DTD가 Hello.dtd 및
Goodbye.dtd를 참조하는 경우, Greetings.dtd에서 생성된 스키마(스키마에 대해
지정된 이름 사용)와 Hello.xsd 및 Goodbye.xsd라는 둘 이상의 스키마가 생성됩니다.
- 완료를 클릭하십시오.
결과
스키마가 네비게이터 보기에 나타납니다.
이 스키마는 생성할 때 사용된 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입니다.