speclogo IMS 콘텐츠 패키징 - 정보 모델
발행일 2008년 00월 00일
최신 버전 IMS 콘텐츠 패키징 - 정보 모델 버전 1.2
이전 버전

1)IMS 지적재산권 웹 페이지 : http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf
심의부회 :
성 명 근 무 처 직 위
원안작성 협력기관 : 한국교육학술정보원(IMS Korea 표준화포럼)
성 명 근 무 처 직 위
(위 원 장) 황대준 성균관대학교 교수
(실무위원) 김성윤 (주)포씨소프트 이사
(실무위원) 김 현 (주)씨티유니온 과장
(실무위원) 유욱종 (주)다울소프트 부장
(실무위원) 조성현 테크빌닷컴(주) 부사장
(실무위원) 조용상 한국교육학술정보원 팀장
(실무위원) 장근원 (주)크레듀 과장
(실무위원) 차남주 (주)디유넷 부사장
(실무위원) 최성기 SK C&C 과장
(자문위원) 권희춘 수원여대 교수
(자문위원) 김종현 계원예술대학 교수
(자문위원) 김현진 한국교원대학교 교수
(자문위원) 손진곤 한국방송통신대학교 교수
(자문위원) 정광식 한국방송통신대학교 교수
(자문위원) 한태인 (주)메디오피아 부사장
(간 사) 신성욱 한국교육학술정보원 연구원

목 차

머 리 말

이 표준은 한국의 이러닝 분야 디지털 콘텐츠의 공유 및 유통 체제 확립을 위해 IMS Global Learning Consortium(이하 GLC)의 Content Packaging 표준을 기초로 작성한 IMS Korea 단체표준이다. 이 표 준은 한국의 문화적, 교육적, 언어적 특수성 등을 감안하여 현지화 등 확장을 고려하여 작성되었다. 또한 이 표준을 실제 구현할 때 부분적으로 선택하여 적용할 수 있도록 필수와 선택 영역이 구분되어 있으므로 목적에 따라 선별적인 적용이 가능하다. 이 표준은 이러닝 분야 디지털 콘텐츠의 논리적인 구조와 물리적인 파일들을 체계적으로 바인딩 할 수 있도록 정의된 모델로서, 구조정보파일인 매니페스트(manifest) 파일을 포함한 모든 자원들이 하나 의 압축파일(zip, jar, tar 등) 형태로 묶여지도록 설계되었다. 교환 패키지(interchange package)라고 불 리는 이 파일은 실제 유통되는 포맷으로서, 이러닝 플랫폼에 탑재(import) 또는 추출(export)되는 표준 화된 메커니즘을 제공한다. 이 표준은 멀티파트로 구성되며, 다음과 같은 세가지 표준 문서로 구성된다.
  • Part 1 : 정보모델 (Information Model)
  • Part 2 : XML 바인딩(XML Binding)
  • Part 3 : 활용 사례 및 실행 가이드(Best practice & Implementation Guide)
이 표준은 저작권법에서 보호 대상이 되는 저작물이다. 이 표준 문서의 표지에 있는 지적재산권 공 지 사항을 숙지할 것을 다시 한번 강조한다. 참고로 이 표준은 현재 ISO/IEC JTC1 SC36(Information Technology for Learning, Education, and Training)에도 제출되어 국제 표준(ISO)으로 승인 받기 위한 작업을 진행 중이며, 교육과학기술부의 사이버가정학습 및 디지털 교과서 등과 같은 정책사업에 적용 중인 표준이다.

1. 적용범위

IMS 콘텐츠 패키징 정보모델에서 다루는 범위는 콘텐츠 패키지의 등록, 추출, 통합, 해체를 원하는 시스템간의 콘텐츠 교환에 사용될 수 있는 데이터 구조의 기술에 한한다. IMS 콘텐츠 패키징 정보모델 1.2버전은 IMS 콘텐츠 패키징 정보모델 1.1.4버전을 기본 모델로 하며, 기본 모델을 확장하는 차원으로 새로운 기능을 추가하였다. 이 표준은 IMS 콘텐츠 패키징 정보모델 관련 문서들의 이전 버전들을 대체하며, IMS 콘텐츠 패키징 정보모델에 대한 기존의 모든 기술과 정의를 무효화한다. IMS 콘텐츠 패키징 정보모델 1.2버전을 바인딩하는 확장성 마크업 언어(XML)와 관련 네임스페이스 식별자들은 IMS 콘텐츠 패키징 XML 바인딩 1.2버전에 정의 되어져 있다. 정보모델의 명확한 해석과 실행사례들은 IMS 콘텐츠 패키징 모범 사례 및 실행 가이드(IMS Content Packaging Best Practice and Implementation Guide) 1.2 버전에서 소개되어 있다.

1.1 이전버전과의 호환성

이 표준은 IMS 콘텐츠 패키징의 적용 및 실행이 확산되는 과정에서 작성 되었다. 이 표준의 주된 목 표는 현재 적용 사례들을 조정하고 향후의 지속적인 성장을 가능하게 하는 것이다.. 이 목표를 위해, 이전 버전과의 호환성에 대한 다음과 같은 정의를 제시하였으며 이는 이 IMS 콘텐츠 패키징 정보모 델 1.2버전 표준 개발 방향에 대한 지표를 제시하였다.
  1. IMS 콘텐츠 패키징 정보모델의 관점에서, IMS 콘텐츠 패키징 정보모델 v1.1.4는 IMS 콘텐츠 패키징 정보모델 v1.2를 반영하는 적절한 하나의 부분이라 할 수 있다.
  2. IMS 콘텐츠 패키징 XML 바인딩 v1.1.4 버전의 특성을 준수하는 하나의 XML 인스턴스는 IMS 콘텐츠 패키징 XML 바인딩 v1.2 버전에서 또한 그의 기능성에대한 정당성이 입증될 수 있다.
  3. 각 버전간의 의미상 혼돈이 생길 수 있는 구성요소를 제외하고는 IMS 콘텐츠 패키징 정보모델 구성요소들의 의미(semantics)는 버전간 동일하다.
  4. 클래스나 구성요소의 기능에 대한 정의나 표기가 옳지 안다고 판단 될 경우에는 클래스나 구성요서의 실행(Implementation)이 일어나기 전 최소 한 버전 이전 버전에 공지되어야 한다. “제거 표시” (“flagged for deprecation”)로 공지

2. 인용 표준

2.1 ISO/IEC, ITU

  • ISO 639–1 : Codes for the representation of names of languages – Part 1: Alpha-2 code
  • ISO 639–2 : Codes for the representation of names of languages – Part 2: Alpha-3 code
  • ISO 3166–1 : Codes for the representation of names of countries and their subdivisions – Part 1( Country codes)

2.2 참조표준

  • IEEE LOM :“1484.12.1–2002 IEEE Standard for Learning Object Metadata,” The Institute of Electrical and Electronics Engineers, Inc., 2002. ISBN:0-7381-3297-7.
  • RFC2119 :“Keywords for use in RFCs to Indicate Requirement Levels”, Internet Engineering Task Force, Network Working Group, Request for Comments: 1951, March 1997. http://www.ietf.org/rfc/rfc2119.txt
  • RFC2234 :“Augmented BNF for Syntax Specifications: ABNF”, Internet Engineering Task Force, Network Working Group, Request for Comments: 2234, November 1997. http://www.ietf.org/rfc/rfc2234.txt
  • RFC2396 : “Uniform Resource Identifiers (URI): Generic Syntax”, Internet Engineering Task Force, Network Working Group, Request for Comments: 2396, August 1998. http://www.ietf.org/rfc/rfc2396.txt
  • RFC2732 : “Format for Literal IPv6 Addresses in URL’s”, Internet Engineering Task Force, Network Working Group, Request for Comments: 2732, December 1999. http://www.ietf.org/rfc/rfc2732.txt
  • RFC3986 : “Uniform Resource Identifier (URI): Generic Syntax”, Internet Engineering Task Force, Network Working Group, Request for Comments: 3986, January 2005. http://www.ietf.org/rfc/rfc3986.txt
  • SDN07, 06 : IMS GLC Specification Development Note 7: UML Profile for Platform Independent Model Descriptions of Specifications for Data Models, C.Smythe, v1.0, IMS GLC, October 2006.
  • SDN11, 06 : IMS GLC Specification Development Note 11: Vocabulary Definition, Registration, and Maintenance Procedures, C.Smythe, v1.0, IMS GLC, July 2006.

3. 용어정의

3.1 정의

3.1.1 자식 매니페스트(child-manifest)

다른 매니페스트(manifest)에 종속되어있고 완전한 형태를 지니고 있는 하위 계층의 매니페스트이다. 하나의 매니페스트는 하나 이상의 자식 매니페스트(child-manifest)를 포함할 수 있다. 매니페스트은 교환 패키지(interchang package) 외부에 있는 매니페스트와의 연결을 하부단위로 가능케 하는 링크 또한 포함 시킬 수 있다. 이렇게 하부단위로 연결 된 파일을 자식 매니페스트이라 명한다. .자식 매니 페스트는 부모 매니페스트(parent-manifest)에 정의되는 보다 큰 규모의 큰 완전한 논리 패키지 (logical package)의 일부분인 논리 패키지를 기술한다. 자식 매니페스트는 로컬(local) 또는 리모트 (remote)상에서 존재 할 수 있다.

참조: 교환 패키지, 로컬, 논리 패키지, 매니페스트(Manifest), 리모트

3.1.2 콘텐츠(content)

논리 패키지(logical package)에서 기술되는 사용 가능한 (그리고 재사용 가능한) 정보의 논리적 단위 를 지칭하는 일반적인 용어이다. 예를 들어, 학습지도의 관점에서 콘텐츠는 웹 기반의 학습지도자료 를 의미할 수 있다. 논리 패키지는 하나 이상의 콘텐츠 단위를 포함할 수 있다.

참조: 논리 패키지

3.1.3 콘텐츠 파일(content file)

논리 패키지(logical package)에서 기술되는 콘텐츠를 구체화하는 개별 컴퓨터 파일을 지칭한다. 콘텐 츠는 하나 이상의 콘텐츠 파일을 포함할 수 있다. 예를 들어, 웹 콘텐츠는 HTML, JPEG, 그리고 CSS 파일에 의해 인스턴스화 되어 질 수 있다. 콘텐츠 파일들은 로컬(local) 또는 리모트(remote) 환 경에 저장 된다.

참조: 로컬, 논리 패키지, 리모트

3.1.4 컨트롤 파일(control file)

컴퓨터에서 처리가 가능하도록 정보모델의 바인딩(binding)을 관장하는 파일. 소프트웨어 컴포넌트는 정보모델이 바인딩 된 후 생성된 인스턴스(bound instance)를 컴퓨터가 프로세스 할 수 있는지에 대한 타당성을 테스트하거나 바인딩이 된 정보모델 인스턴스의 생성을 가이드 하는 컨트롤 파일이라 정의할 수 있다. 예를 들어, XML 스키마를 포함하는 파일은 매니페스트의 XML 바인딩을 위한 컨트 롤 파일로 사용될 수 있다.

3.1.5 교환 패키지(interchange package)

시스템간에 교환되는 컴포넌트들의 집합을 뜻한다. 하나의 교환 패키지(interchange package)에는 매 니페스트가 포함되며, 하나 이상의 콘텐츠 파일과 컨트롤 파일도 포함될 수 있다. 교환 패키지 (interchange package)에 포함되는 모든 파일은 매니페스트,또는 자식 매니페스트(child-manifest)에서 기술된다. 논리 패키지의 모든 컴포넌트들이 교환 패키지 상에서 로컬로 지정이 되 있을 경우, 교환 패키지는 논리 패키지와 동일하다 지정할 수 있다. 논리패키지의 구성요소 중 교환 패키지에 포함되어야 하는 논리 패키지의 컴포넌트를 판단하는 기준은 이 표준에서 다루는 범위에서 벗어나며 이 표준의 실행 자가 판단할 일이다. 영향을 줄 수 있는 요인에는 교환 패키지의 인스턴스 사이즈, 시스템 아키텍처 (architecture)상의 특성, 그리고 비즈니스 정책 등이다. 교환 패키지는 하나의 압축된 바이너리 파일 (패키지 교환 파일)의 형태나 여러 가지 파일들이 집합 (collection)으로 저장된 휴대용 미디어(CD, DVD, USB 메모리 장치 등)의 형태로 인스턴스 될 수 있다.

참조: 논리 패키지, 패키지 교환 파일.

3.1.6 URL 실행지시자(Launchable URI)

자원설명서(resource description)에 포함될 수 있으며 자원(resource)이 연계하는 콘텐츠의 위치(URL) 를 파악하고 접속하는 데 사용될 수 있는 표현 방식이다. 패키지 해석기(package reader)에 의해 URL 실행 지시자가 사용되어지는 것은 바람직하지 못하다..URL 실행 지시자는 교환 패키지의 콘텐 츠가 처리된 후 다른 소프트웨어 컴포넌트(웹 브라우저 등)에 의해 차후에 사용되어지기 위해 저장 되 있어야 한다.

참조: 교환 패키지, 패키지 해석기

3.1.7 로컬(local)

논리 패키지(logical package)의 구성요소 중 교환 패키지(interchange package) 내에 위치한 한 개의 구성요소는 이 교환 패키지에 한해서는 이 구성요소는 로컬에 있다 정의한다.

참조: 논리 패키지, 교환 패키지

3.1.8 논리 패키지(logical package)

하나 이상의 사용 가능한 (그리고 재사용 가능한) 콘텐츠의 단위를 표시한다. 논리 패키지(logical package)는 참조에 의해 포함된 로컬 및 리모트 컴포넌트를 포함하고 매니페스트와 자식 매니페스트 (child-manifest)에서 기술하는 모든 컴포넌트를 아우른다.

참조: 자식 매니페스트, 로컬, 매니페스트, 리모트

3.1.9 매니페스트(manifest)

인스턴스화 된 논리 패키지(logical package)의 정보들이 기술돼있는 파일을 지칭한다. 매니페스트는 논리 패키지에 의해 나타내어지는 모든 리소스들 및 그들의 구성방식 연계된 콘텐츠와 컨트롤파일들 의 위치를 기술한다. 매니페스트는 로컬 또는 리모트 환경에 있는 컴포넌트에 대한 참조 정보를 포 함할 수 있다.

참조: 로컬, 논리 패키지, 리모트

3.1.10 매니페스트 문서(manifest document)

IMS 콘텐츠 패키징 XML 바인딩 형식으로 만들어진 콘텐츠의 매니페스트 객체

3.1.11 메타데이터(metadata)

논리 패키지(logical package), 논리적 구성방식(logical organizations), 콘텐츠, 그리고 파일들에 대한 정보. 메타데이터는 콘텐츠 구조정보(manirest)를 포함한 논리 패키지 내의 모든 핵심 구조(core structures)에 대한 정보 또한 포함 할 수 있다. 메타데이터 객체는 어떠한 방식으로든 바인딩 될 수 있다. 각 메타데이터 객체는 로컬 또는 리모트 상에 위치 될 수 있다.

참조: 로컬, 논리 패키지, 리모트

3.1.12 네임스페이스(namespace)

명칭들의 집합으로, 각 명칭은 고유하며 같은 집합 내의 다른 명칭들과는 구별되는 의미값(semantic value)를 가진다. 집합은 어떠한 내부구조도 가지지 않는다.

3.1.13 구성(organization)

콘텐츠 단위들간의 논리적 관계를 지칭한다. 매니페스트에는 하나 이상의 콘텐츠 단위간의 논리적 구성이 기술될 수 있다. 구성은 항목(item) 요소들과 이 항목 요소들을 참조하는 매니페스트의 자원 요소들간의 관계를 통해 파일에 바인딩된다.

참조: 자원(Resource)

3.1.14 패키지(package)

생성해야 하는 패키지에 대한 유형을 정의하는 정성자(qualifier)와 연계하여 사용된다. 이 표준에서는 다양한 패키지에 적합한 포맷들에 대한 정의를 제공한다.

참조: 콘텐츠 패키지, 교환 패키지, 논리 패키지

3.1.15 패키지 교환 파일(Package Interchange File: PIF)

정보모델에 기술된 교환 패키지(interchange package)의 특정 인스턴스를 생성하는 프로세스를 지칭 한다. 교환 패키지는 패키지 교환 파일(PIF)이외의 포맷으로 인스턴스가 생성이 될 수 있다. 예를 들 어, 교환 패키지는 CD, DVD, USB 메모리 등의 외장형 미디어 기기에서 파일들의 집합 형태 나, .tar, .jar, .cab등의 압축 포맷 형태로 인스턴스가 생성이 될 수 있다.

참조: 교환 패키지

3.1.16 패키지 해석기(package reader)

매니페스트를 읽고 교환 패키지(interchange package)가 구성된 방식에 대한 타당성을 검증하는 소프 트웨어 컴포넌트이다. 패키지 해석기는 논리 패키지를 프로세스 할 수 있으며 (예를 들어, 매니페스 트에서 참조한 정보를 불러오거나 저장하고, PIF에서 로컬 파일들의 압축을 풀거나, 리모트 파일의 주소를 불러오거나 기록할 수 있는 기능 등), 이러한 절차를 다른 소프트웨어 컴포넌트에 위임할 수 있다.

참조: 교환 패키지, 논리 패키지

3.1.17 패키지 작성기(package writer)

소프트웨어 구성요소로, 교환 패키지의 인스턴스를 생성하거나 수정할 수 있으며 교환 패키지에 로 컬로 등록이 된 콘텐츠나 기타 파일들을 정리 집합화하고 전송대상 교환 패키지 바인딩에 이러한 파 일들을 전송할 수 있다, 이런 모든 절차를 다른 소프트웨어 컴포넌트에 위임할 수 도 있다.

참조: 교환 패키지

3.1.18 참조 매니페스트(referenced-manifest)

다른 매니페스트 내에서 참조된 매니페스트이나 매니페스트을 구성하는 요소. 예를 들어, 매니페스트 는 다른 매니페스트의 구조를 참조할 수 있다. 참조되는 구성요소를 포함하는 매니페스트를 참조 매 니페스트라 부른다. 매니페스트는 로컬, 또는 리모트 환경에 있는 구성요소에 대한 참조를 포함할 수 있다.

참조: 로컬, 리모트

3.1.19 상대 참조(relative reference)

참조 문맥(reference context)에 확장을 기술하는 방식으로 리소스를 참조하는 URI의 하나의 유형이다. 확장자와 문맥(context)을 결합하여 전송대상(target) URI를 생성한다. 예를 들어, relative/path/to/resource.txt는 참조 문맥이 일반적으로 해석되는 방식을 고려했을 시 상대 참조의 유 형을 갖추어 있다고 볼 수 있다. 다양한 문맥들의 관점에서 관계 참조를 해석하는 알고리즘은 RFC3986의 5절에 정의되어 있다.

3.1.20 리모트(remote)

교환 패키지(interchange package) 외부에 위치한 논리 패키지(logical package)의 한 개의 구성요소는 이 교환 패키지에 한해서는 이 구성요소가 리모트에 있다 정의한다.

참조: 교환 패키지, 논리 패키지

3.1.21 자원(resource)

논리 패키지(logical package)에 의해 사용되는 모든 파일들의 집합(collection of files)을 기술한다 , 파 일 집합에 대한 메타데이터, 각 파일에 대한 설명, 그리고 파일 집합이 변형 가능한 여러 가지의 유 형들에 대한 정보를 포함한다.

참조: 논리 패키지

자원(resource)은 흔히 콘텐츠 단위를 기술하기 위해 사용된다. 이 경우, 자원은 콘텐츠의 URL 실행 지시자(Launchable URI)정보 또한 포함할 수 있다. 자원에 기술되는 모든 파일은 로컬 또는 리모트 환경에 위치 될 수 있다.

참조: Launchable URI, 로컬, 리모트

3.1.22 독립형 자원(stand-alone resource)

하나의 콘텐츠 매니페스트가 다른 매니페스트와 연계할 수 있도록 관련된 매니페스트들이 데이터 세 트(dataset)들과의 관계를 유지하면서 개별적으로 처리하는 방식의 자원 유형(resource type)으로, 관계된 매니페스트는 개별의, 하지만 관련성을 가진 데이터 집합으로 처리된다. 관련된 매니페스트는 단일한 콘텐츠 패키지 내에 포함되거나, 외부의 URI addressable 자원으로 액세스가 가능하다. 각 매 니페스트는 다른 학습자원과 집합을 이루어 다양한 학습 경험을 제공할 수 있는 독립 실행형 학습 자원을 대표한다.

3.1.23 변형(variants)

여러 유형의 콘텐츠(variant content)를 참조하고 기술하는 컨테이너. 특정 자원은 여러 가지 포맷과 여러 가지 목적으로 변형될 수 있다.. 하나의 자원 내의 변형 목록을 작성함으로써 해당 자원에 대한 대체 파일들을 식별할 수 있다. 원 자원의 본래 용도와 변형의 본래 용도를 기술하는 데 메타데이터 가 사용된다. 예를 일부 들자면, 언어적 변형, 시각 또는 청각적 변형, 교정용 변형, 그리고 플랫폼 전달 변형(platform delivery variants)이 있다.

참조: 메타데이터, 자원

3.2 약자와 약어

ABNF Augmented Backus-Naur Form
ADL Advanced Distributed Learning
PIF Packaging Interchange File
PIM Platform Independent Model
SCORM Sharable Content Object Reference Model
UML Unified Modeling Language
URI Uniform Resource Identifier
XML Extensible Markup Language

4. 적합성(Conformance)

이 장에서는 교환 패키지의 인스턴스의 생성을 준비하거나 처리하는 시스템이나 애플리케이션이 갖 추어야 할 적합성에 중점을 둔다. 이 정보모델에서 기술된 요건을 충족시키기 위해 애플리케이션 개 발자들이 특정한 프로그래밍 언어나 발견법(heuristics)를 사용해야 할 의무는 없다.

4.1 준어법(Normative wording)

이 문서에서 ‘~한다’, ‘~해야 한다’는 실행 요건을 뜻하며, ‘~하지 않는다’는 금지로 해석하도록 한다. ‘항상 ~해야 한다’, ‘~해서는 안 된다’, 그리고 ‘~할 수 있다’는 RFC2119에 기술된 대로 해석해야 한다.

4.2 교환 패키지 인스턴스(Interchange package instances)

IMS 콘텐츠 패키징 버전 2,1에 적합한 교환패키지 인스턴스는 6장에 기술된 정보모델에도 적합해야 한다.

4.3 패키지 해석기(Package readers)

교환 패키지 해석기는 6장에 정의된 방식으로 교환 패키지를 읽고 해석해야 한다.

4.4 패키지 작성기(Package writers)

적합한 인스턴스 패키지 작성기는 6장에 정의된 정보모델에 적합한 교환 패키지 인스턴스를 생성해 야 한다.

4.5 확장(Extensions)

적합한 교환 패키지 작성기는 확장 네임스페이스의 클래스가 IMS 콘텐츠 패키징 정보모델 내의 타 겟 확장점의 정보유형에 적합하여야 한다. 확장 객체의 의미는 이 정보모델 내의 상위 객체(parent object)의 의미 범위 내에 있어야 한다. 확장객체의 의미론은 이 정보모델의 어떠한 상위 객체의 의 미론도 무효화하거나 재정의할 수 없다. 적합한 패키지 해석기는 확장 클래스의 의미론이 이 문서의 컨테이너, 또는 값 객체를 유지하거나 확장함을 보장할 의무를 가지지 않는다. 적합한 패키지 해석기는 참조 파일로 제시된 File 또는 File.Metadata의 확장 자식에서 표현된 문자열 의 유효성을 검증할 의무를 가지지 않는다. 적합한 패키지 해석기는 확장 클래스의 콘텐츠를 해석하고 처리할 의무를 가지지 않는다. 패키지 해 석기가 확장 객체를 처리하지 않는다면, 확장객체를 무시하고 나머지 교환 패키지에 영향을 끼치지 않는다.

5. IMS 콘텐츠 패키징 개념 모델

아래 그림 5.1은 IMS 콘텐츠 패키징 정보모델의 구조를 보여주는 개념도이다.
ims_content_packaging_model

그림 5.1 IMS 콘텐츠 패키징 개념 모델

핵심 구조적 구성요소는 다음과 같다.
  • 논리 패키지(Logical package) – 하나 이상의 사용 가능한 (그리고 재사용 가능한) 콘텐츠 단위 를 대표한다. 논리 패키지는 참조에 포함된 로컬 구성요소와 리모트 구성요소를 포함해, 매니페 스트가 기술하는 모든 구성요소를 아우른다.
  • 교환 패키지(Interchange package) – 매니페스트와 선택된 파일을 포함해, 시스템 사이에 교환되 는 구성요소의 집합을 지칭한다.
  • 매니페스트(Manifest) – 논리 패키지의 완전한 인스턴스를 기술하는 구성요소. 매니페스트는 로컬 또는 리모트 구성요소에 대한 참조를 포함할 수 있다.
  • 구성(Organizations) – 콘텐츠 단위 사이의 논리적인 관계를 지칭한다. 하나 이상의 논리 구성을 기술할 수 있다.
  • 자원(Resources) – 매니페스트가 사용하는 콘텐츠와 파일의 집합체로, 파일은 로컬 또는 리모트일 수 있다.
  • 자식 매니페스트(Child-manifests) – 매니페스트 내에 포함되거나 매니페스트에서 참조되는 완전한 하위 레벨의 매니페스트를 지칭한다. 자식 매니페스트는 보다 큰 논리 패키지의 일부분인 완전한 논리 패키지를 기술한다. 자식 매니페스트는 로컬 또는 리모트일 수 있다.
  • 파일(Files) – 논리 패키지가 기술하는 콘텐츠를 구체화하거나, 다른 파일의 바인딩을 관장해 기계처리(machine processing)에 적합하게 하는 컴퓨터 파일을 지칭한다. 콘텐츠 파일은 로컬 또는 리모트일 수 있다.
  • 메타데이터(Metadata) – 콘텐츠 패키지, 논리 구성, 콘텐츠, 또는 파일에 대한 기술 정보를 지칭 한다. 위 구조도에서 메타데이터는 논리 패키지 내에 포함된 로컬 또는 리모트 메타데이터 객체의 집합을 대표한다. 메타데이터 객체는 어떤 방식으로든 바인딩 될 수 있다. 메타데이터는 매니페스트를 포함해, 논리 패키지 내의 어떠한 핵심구조에도 지정될 수 있다.
정보모델은 교환되는 콘텐츠를 구성하고 기술하기 위한 핵심 구조적 구성요소를 정의한다. 여기서 가장 중요한 것은 확장성에 대한 지원이다. 이 표준의 실행자들은 이러한 확장기술을 이용해 새로운 어휘와 구조를 정의 내릴 수 있다.

6. 클래스 정의와 관계요건

이 장에서는 전체 IMS 콘텐츠 패키징 정보모델에 대한 개요가 UML 구성체로 표현된 플랫폼 독립모델(PIM)로 제공된다. ‘플랫폼 독립 모델’로 표현된 모든 UML 다이어그램은 비규범적(non-normative)이다. 이 정보모델의 클래스를 정의하는 규범표(normative table)는 정보제공용(informative) UML 다이어그램을 따른다. UML 프로파일에 대한 정의와 PIM을 기술하기 위해 이 문서에 사용된 표준표 기술 용어들에 대한 정의는 [SDN07, 06]을 참조한다. 이 장의 표에서 문자 시퀀스 ‘n/a’는 ‘not applicable(적용 불가)’인 필드를 표시하며, 이 표시가 된 필 드는 정의되는 클래스와 관련이 없다. 또한, 이 표시를 한 특성(feature)은 이 정보모델에서 정의된 클래스를 바인딩 할 때 무시된다. Augmented Backus-Naur form (ABNF)는 표의 특정 규칙을 정의 내릴 때 사용된다. ABNF에 대한 정의는 [RFC2234]를 참조한다.

6.1 핵심 용어 및 개념

이 정보모델의 클래스는 네 가지 추상 클래스 유형으로 구분되며, 이는 IMS 콘텐츠 패키징 XML 바인딩 1.2버전 [CP, 07b]의 기계처리를 위한 특정 데이터 구조에 바인딩 된다.
  • 컨테이너(container): 컨테이너 클래스(container class)는 하나 이상의 하위(child) 클래스의 상위 (parent) 클래스일 수 있다.
  • 값(value): 값 클래스(value class)는 부모가 되지 않는다. 즉, 값 클래스는 특성, 컨테이너, 값, 또는 불특정 클래스 유형으로 구성될 수 없다. 값 클래스는 언제나 컨테이너 클래스의 자식이며, 상위(parent) 클래스의 의미 값 범위 내에서 그 의미 값을 가진다.
  • 특성(characteristic): 특성 클래스(characteristic class)는 상위 클래스(parent class)가 되지 않는다. 특성 클래스는 컨테이너 클래스의 내재적인 특성이거나 일부인 특징이나 가치를 선언한다. 특 성 클래스는 (특성 클래스가) 수식하는 컨테이너 클래스, 또는 기술하는 컨테이너 클래스의 facet과 강하게 연결되어 있다.
  • 불특정(unspecified): 불특정 클래스(unspecified class)는 상위 클래스(parent class)가 될 수 있다. 불특정 클래스는 이 정보모델의 확장점 역할을 한다.
표 6.1은 추상 클래스(abstract class)를 기술하기 위해 사용된 클래스 기술(descriptor)과 기술의 정의 를 제시한다.

표 6.1 클래스 기술(class descriptor)

기술 정의
클래스명 기술되는 클래스에 주어진 이름
클래스 유형 이 클래스의 추상 클래스 유형
데이터 유형 값 클래스와 특성 클래스의 경우, 클래스에 유효한 값에 허락된 구조를 말 한다. 유효한 데이터 유형은 다음과 같다: URI: RFC3986에서 정의된, 의미론적으로 유효한 URI의 인스턴스. 참고: 이 정보모델이 참조하는 기본 규격, 표준, 그리고 권고는 URI,의 정의로서 RFC2396과 RFC2732를 사용한다. 이는 RFC2986에 의해 무효화되지만, 기본 문서 대부분이 RFC3986을 참조에 포함시키도록 업데이트되지 않았다. LUID: 매니페스트 내의 로컬 단일 식별자이며, 이는 제한된 값의 범위를 가지는 문자열 데이터 형식(string data type)을 기반으로 한다. LUIDref: 매니페스트 내에서 정의가 제시된, LUID에 대한 참조. LUID 값과 이를 참조하는 LUIDref (들)은 동일하다.Boolean: 원시적인 이치(two-valued) 데이터 유형으로, ‘참’과 ‘거짓’의 두 가 지 키워드로 객체의 논리적 상태를 표시한다. 문자열(String): 출력 가능한(printable) 문자들의 시퀀스불특정(unspecified): 알려지지 않은, 또는 중요하지 않은 데이터 유형
값의 범위 이 클래스의 유효한 값의 범위를 나타냄. 값의 범위가 불특정인 경우, 알 려지지 않았거나 중요하지 않음을 알 수 있다.
다중성(Multiplicity) 클래스의 속성으로, 특정 부모 컨텍스트에서 사용할 수 있는 횟수, 또는 특정 부모 컨텍스트에서 나타나는 횟수를 표시한다. 이 속성의 값은 범위 로 표시되거나 다음 약식 표기법을 사용한 범위로 표현된다.
  • ‘0..1’ [옵션; 무제한]
  • ‘0..무제한’ [옵션; 무제한]
  • ‘1..1’ [필수; 제한]
  • ‘1..무제한’ [필수; 무제한]
 다중성은 UML 모델의 약식 표기법에도 나타날 수 있다. 약식 표기는 다음 과 같다 ([ ] 안의 코멘트는 제외). 
  • ‘*’ [옵션; 무제한]
  • ‘1’ [필수; 제한]
  • ‘1..*’ [필수; 무제한]
다중성이 1 이상일 때, 형제순서의 중요성을 ‘순차적(ordered)’ 또는 ‘비순차적(unordered)’으로 표시한다. ‘순차적(ordered)’은 나열된 형제 시퀀스를 상술하며, ‘비순차적 (unordered)’는 형제의 집합을 상술한다. 순서는 중요하지 않다.
특성 클래스 ‘{“ characteristic *“,” characteristic “}’ 양식에서 이 클래스와 관련된 특성 클 래스를 나열한다. 하나 이상의 특성이 { } 안에 나열된다. 각 특성은 콤마 로 구분된다.하나 이상의 특성이 나열된 경우, 형제 순서의 중요성을 중요성을 ‘순차적 (ordered)’ 또는 ‘비순차적(unordered)’으로 표시한다. ‘순차적(ordered)’은 나열된 형제 시퀀스를 상술하며, ‘비순차(unordered)’ 은 형제의 집합을 상술한다. 순서는 중요하지 않다.
부모(Parents) 이 클래스의 부모일 수 있는 클래스를 나열한다.
자식(Children) ‘[” child *“,” child “]’ 양식에서 이 클래스의 자식 클래스일 수 있는 클래스를 나열한다. 하나 이상의 자식 클래스를 [ ] 안에 나열한다. 각 자식 클래스는 콤마로 구분한다. 하나 이상의 자식이 나열된 경우, 형제 순서의 중요성을 중요성을 ‘순차적 (ordered)’ 또는 ‘비순차적(unordered)’으로 표시한다. ‘순차적(ordered)’은 나열된 형제 시퀀스를 상술하며, ‘비순차(unordered)’ 은 형제의 집합을 상술한다. 순서는 중요하지 않다.
내용(Description) 클래스와 값의 범위에 대한 기술을 포함한다.

6.2 IMS 콘텐츠 패키징 정보모델의 플랫폼 독립 모델

6.1은 IMS 콘텐츠 패키징 정보모델의 구조를 요약하여 보여준다.
IMS_KR_1001-1_6.1

그림 6.1 콘텐츠 패키징 PIM 의 구조도 (개요)

그림 6.1에 제시된 구조도는 주 클래스 사이의 관계에 중점을 두며, 다중성, 순서, 속성을 서술하지 않는다.

6.3 교환 패키지 클래스(InterchangePackage class)

표 6.2는 IMS 콘텐츠 패키징 정보모델의 교환 패키지 클래스를 정의한다.

표 6.2 교환 패키지 클래스 정의

기술 정의
클래스명 InterchangePackage
클래스 유형 컨테이너
데이터 유형 n / a
값의 범위 n / a
다중성 1..1
특성 클래스 n / a
부모(Parents) 없음
자식(Children) [Manifest]
내용(Description)

InterchangePackage 객체는 시스템간 교환되는 논리 패키지의 부분집합이다. 교환 패키지는 다음 조건을 충족시킨다.

  1. InterchangePackage는 Manifest 객체를 포함하며, 콘텐츠 파일과 컨트롤 파일을 포함할 수 있다.
  2. Manifest 내에 기술된 파일 중 InterchangePackage 내의 위치로 변환하는 URI를 사용하는 파일은 InterchangePackage에 포함된다.
  3. InterchangePackage 안에 포함된 모든 파일은 Manifest에 기술된다.
  4. InterchangePackage에 포함된 파일들은 다른 파일에 대한 내부참조를 포함할 수 있다 (예를 들어, HTML 콘텐츠 파일은 JPEG 콘텐츠 파일을 참조할 수 있고, XML 스키마 컨트롤 파일은 다른 XML 스키마 컨트롤 파일을 참조할 수 있다). InterchangePackage 내에 포함된 파일 중 InterchangePackage 내의 위치로 변환하는 URI를 사용해 다른 파일을 참조하는 경우, 참조 파일은 InterchangePackage의 Manifest에 기술된다. 패키지 교환 파일(PIF)는 InterchangePackage의 특정 인스턴스이다. 패키지 해석기와 작성기는 PIF에 대한 해석이나 작성을 지원할 의무가 없다. PIF는 다음 요건을 충족한다.RFC1951을 충족하는 압축된 바이너리 파일로 물리적 캡슐화가 이루어진다.
  1. PIF는 단일한 IMS 매니페스트 문서 객체를 PIF의 최상위(root)에 포함한다. 해당 객체는 imsmanifest.xml로 명명된 XML 문서로 바인딩 된다. 이 문서는 PIF를 위한 최상위(root) IMS 매니페스트 문서로 불린다.
  2. PIF에 포함된 컨트롤 파일은 PIF의 최상위(root)에 위치한다.
  3. d) 최상위(root) IMS 매니페스트 문서 내의 참조 중 PIF에 포함된 문서들에 대한 참조는 상대참조이다. 참조는 PIF의 최상위(root)에 대해 상대적이다.
  4. PIF는 같은 계층 경로(hierarchial path)의 IMS 매니페스트 문서 객체보다 높은 절대경로 (상대 참조에서 선언되거나 변환된 경로)를 가진 어떠한 파일도 포함하지 않으며, 절대경로가 IMS 매니페스트 문서의 위치와 완전히 동떨어져 있는 파일 또한 포함하지 않는다.

6.4 Manifest 클래스 패밀리

이 장은 IMS 콘텐츠 패키징 정보모델 내의 다음 클래스에 대한 정의를 제시한다.
  • Manifest
  • ManifestMetadata
  • Schema
  • SchemaVersion
  • MetadataModel
이 장은 또한 6.5.1, 6.6.1, 6.9, 그리고 6.10에 순서대로 정의된 다음 클래스와의 관계를 정의 내린다.
  • Organizations
  • Resources
  • IPointer
  • Extension
그림 6.2 은 Manifest 클래스 PIM을 보여준다
IMS_KR_1001-1_6.2

그림 6.2 Manifest 클래스 PIM의 단순 구조도

6.4.1 Manifest 클래스

표 6.3은 IMS 콘텐츠 패키징 정보모델 내의 Manifest 클래스에 대한 정의를 제시한다.

표 6.3 Manifest 클래스에 대한 정의

기술 정의
클래스명 Manifest
클래스 유형 컨테이너
데이터 유형 n / a
값의 범위 n / a
다중성 1..1 은 InterchangePackage의 자식 0..Manifest의 자식으로 바인딩 되지 않음, 비순차적
특성 클래스 { Idetifier, Version, Base, Other }, 비순차적
부모(Parents) InterchangePackage Manifest
자식(Children) [ ManifestMetadata, Organizations, Resources, Manifest, IPointer, Extension ], 순차적
내용(Description) Manifest 객체는 논리 패키지의 완전한 인스턴스를 기술하는 데이터 구조의 컨테이너이다.Manifest는 Manifest 클래스 (자식 매니페스트)의 자식 객체를 포함할 수 있다. 자식 매니페스트는 보다 큰 논리 패키지의 일부인 논리 패키지의 완전한 인스턴스를 기술한다. Manifest는 또한 Manifest 외부의 자식 매니페스트를 참조하는 IPointer 클래스의 자식 객체를 포함할 수 있다. 자식 매니페스트와 외부 참조 자식매니페스트의 어떠한 조합도 허용이 되며, Manifest 내의 조합의 순서는 중요하지 않다. Manifest의 직접적인 자식으로 선언된 IPointer의 적절한 타겟은 6.9절에 정의되어 있다.Manifest는 선구자인 InterchangePackage 객체에 로컬이나 리모트인 구성요소에 대한 참조를 포함할 수 있다. 참조는 Resource, File, 그리고 IPointer 자식 객체를 통해 이루어진다. Resource와 File은 콘텐츠 파일과 컨트롤 파일을 참조하기 위해 이용된다. IPointer는 참조 매니페스트를 식별하기 위해 사용된다. Manifest는 Manifest를 해석하기 위해 필요한 컨트롤 파일을 모두 기술하는 File 객체를 포함한다.

6.4.2 ManifestMetadata 클래스

표 6.4는 IMS 콘텐츠 패키징 정보모델의 ManifestMetadata 클래스에 대한 정의를 제시한다.

표 6.4 ManifestMetadata 클래스 정의

기술 정의
클래스명 ManifestMetadata
클래스 유형 컨테이너
데이터 유형 n / a
값의 범위 n / a
다중성 0..1
특성 클래스 n / a
부모(Parents) Manifest
자식(Children) [ Schema, SchemaVersion, IPointer, MetadataModel ], 순차적
내용(Description) ManifestMetadata 객체는 부모 Manifest 객체에 대한 기술정보를 포함한다. ManifestMetadata는 부모 Manifest가 기술하는 논리 패키지 전체를 범위로 한다.ManifestMetadata의 Schema와 SchemaVersion 자식은 부모 Manifest의 의미를 관장하는 표준이나 프로파일에 대한 정보를 제공한다. ManifestMetadata의 MetadataModel 자식은 부모 Manifest에 대한 일반적인 기술정보의 위치표시자(placeholder) 역할을 한다. MetadataModel은 다른 네임스페이스에 정의된 정보 구조를 가진 메타데이터를 허용하는 확장점(extension point)이다. 여러 개의 각기 다른 MetadataModel은 단일 ManifestMetadata 객체 내에 포함된 확장으로 선언될 수 있다. 메타데이터가 외부 Metadata 객체에 정의되어 있다면, IPointer 객체를 사용해 해당 외부 Metadata 객체에 링크를 할 수 있다. MetadataModel과 외부참조 메타데이터의 어떠한 조합도 허용되며, 조합의 Metadata 객체 내의 순서는 중요하지 않다. Manifest의 자식으로 선언된 IPointer의 적절한 타겟은 6.9절에 정의되어 있다.

6.4.3 Schema 클래스

표 6.5는 IMS 콘텐츠 패키징 정보모델의 Schema 클래스를 정의한다.

표 6.5 Schema 클래스 정의

기술 정의
클래스명 Schema
클래스 유형 값(value)
데이터 유형 문자열(string)
값의 범위 [UCS] 의 출력 가능한 문자 레파토리
다중성 0..1
특성 클래스 n / a
부모(Parents) ManifestMetadata
자식(Children) n / a
내용(Description) Schema 객체는 부모 Manifest 객체의 표준 또는 프로파일의 이름을 선언한다. Schema의 값을 통해 패키지 해석기는 Manifest의 의미를 관장하는 표준이나 프로필 정보를 얻을 수 있다. 이 값은 특정 메타데이터 스키마에게 지정된 이름이나 레이블과 혼동되어서는 안된다. Schema의 값으로 선언된 문자열의 콘텐츠나 의미에는, 문자열은 어떠한 버전 정보도 포함하지 않는다는 요건 외에 어떤 요건도 부여되지 않는다. 디폴트 값은 ‘IMS 콘텐츠’이다.

6.4.4 SchemaVersion 클래스

표 6.6은 IMS 콘텐츠 패키징 정보모델의 SchemaVersion 클래스를 정의한다.

표 6.6 SchemaVersion 클래스 정의

기술 정의
클래스명 SchemaVersion
클래스 유형 값(value)
데이터 유형 문자열(string)
값의 범위 [UCS] 의 출력 가능한 문자 레파토리
다중성 0..1
확장점 (Is extension point) 불허(false)
특성 클래스 n / a
부모(Parents) ManifestMetadata
자식(Children) n / a
내용(Description) SchemaVersion 객체는 형제 Schema 객체의 값으로 선언된 표준이나 프로파일의 버전을 선언한다. 이 값을 통해 패키지 해석기는 형제 Schema에 의해 식별되는 모델이나 프로파일의 버전을 알 수 있으며, SchemaVersion의 값은 그 외의 정보를 포함하지 않는다. ‘IMS 콘텐츠’가 형제 Schema의 값으로 선언되고 Manifest 문서가 이 정보모델의 바인딩에 의해 결정되는 경우 디폴트 값은 ‘1.2’이다.버전정보의 구문법이나 버전 구문법(versioning syntax) 적용에 대한 방법론(heuristic)은 이 정보모델에서 상술하지 않는다.

6.4.5 MetadataModel 클래스

표 6.7은 IMS 콘텐츠 패키징 정보모델의 MetadataModel 클래스를 정의한다.

표 6.7 MetadataModel 클래스 정의

기술 정의
클래스명 MetadataModel
클래스 유형 불특정(unspecified)
데이터 유형 불특정(unspecified)
값의 범위 불특정(unspecified)
다중성 0..무제한(unbounded), 순서 또한 불특정
특성 클래스 불특정(unspecified), 순서 또한 불특정
부모(Parents) ManifestMetadata Metadata
자식(Children) 불특정(unspecified), 순서 또한 불특정
내용(Description) MetadataModel 객체는 위치 표시자(placeholder)이며, 이 정보모델의 바인딩에 교환 패키지의 메타데이터가 포함될 유효한 위치를 알려준다. 하나 이상의 메타데이터 모델로 구성된 확장 컨테이너나 값(value) 클래스 유형의 실제 이름은 바인딩 된 클래스가 이 정보모델의 바인딩 된 인스턴스에 등록될 때에만 알 수 있다. 즉, 클래스의 실제 유형은 이 정보모델에 상술되어 있지 않다.MetadataModel은 ManifestMetadata와 Metadata의 두 가지 메타데이터 컨테이너에 의해 사용된다. MetadataModel은 이 정보모델의 바인딩된 인스턴스 내의 MetadataModel들과 관련 정보들을 표시하는 유일한 수단이다. 패키지 작성기는 MetadataModel의 부모 객체에 의해 캡슐화된 콘텐츠를 적절히 기술하기 위해 필요한 각기 다른 MetadataModel을 개수에 제한없이 수식할 수 있다. MetadataModel은 하나 이상의 메타데이타와 관련된 정보를 선언하는 데에만 사용된다. MetadataModel의 의미론은 이 정보모델 내에 있는 부모의 의미론 범위 내에 있다. MetadataModel의 의미론은 이 정보모델에서 정의된 부모의 의미론을 무효화하거나 재정의하지 않는다.

6.5 Organizations 클래스 패밀리

이 장은 IMS 콘텐츠 패키징 정보모델의 다음과 같은 클래스에 대한 정의를 한다.
  • Organizations
  • Organization
  • Title
  • LingualTitle
  • Item
또한, 6.7, 6.9, 그리고 6.10절에 순서대로 정의된 다음 클래스들과의 관계를 정의한다.
  • Metadata
  • IPointer
  • Extension
그림 6.3 은 Organizations 클래스 PIM을 보여준다.
IMS_KR_1001-1_6.3

그림 6.3 Organizations 클래스 PIM의 단순 구조도

6.5.1 Organizations 클래스

표 6.8은 IMS 콘텐츠 패키징 정보모델의 Organizations 클래스에 대한 정의를 제시한다.

표 6.8 Organizations 클래스 정의

기술 정의
클래스명 Organizations
클래스 유형 컨테이너
데이터 유형 n / a
값의 범위 n / a
다중성 1..1
특성 클래스 { Default, Other }, 비순차적
부모(Parents) Manifest
자식(Children) [ Organization, IPointer, Extension ], 순차적
내용(Description) Organizations 객체는 Resource 객체 사이의 논리적 관계를 기술하는 클래스의 컨테이너이다. Organization 또는 Organizations의 IPointer 하위 객체를 이용해 하나 이상의 논리적인 구성을 기술할 수 있다. Organizations와 IPointer 객체의 순서는 중요하지 않다. 참조 매니페스트에 정의된 Organizations는 IPointer를 이용해 식별된다. Organizations의 자식으로 선언된 IPointer에 대한 적절한 타겟은 6.9절에 정의되어 있다.

6.5.2 Organization 클래스

표 6.9는 IMS 콘텐츠 패키징 정보모델의 Organization 클래스를 정의한다.

표 6.9 Organization 클래스 정의

기술 정의
클래스명 Organization
클래스 유형 컨테이너
데이터 유형 n / a
값의 범위 n / a
다중성 0..무제한(unbounded), 순차적
특성 클래스 {Identifier, Structure, Other }, 비순차적
부모(Parents) Organizations
자식(Children) [ Title, LingualTitle, Item, IPointer, Metadata, Extension ], 순차적
내용(Description) Organization 객체는 Manifest 객체에 의해 캡슐화된 Resource 객체들 사이의 특정한 논리 관계를 기술하는 클래스들의 컨테이너이다. Organization 객체가 여러 개라도 그 목적은 동일하다. 각 Organization이 다른 구조를 보이더라도, 각 Organization 객체는 특정 Manifest 내의 자원 객체 집합을 구성하는 방법을 제시한다. Item 자식 객체는 Organization 내의 구조적 노드를 대표하기 위해 사용된다. 참조 Manifest에서 정의된 Item 객체는 IPointer 객체를 사용해 식별된다. Item과 IPointer객체의 어떠한 조합도 허용되며, 객체의 순서는 중요성을 가진다. Organization의 자식으로 선언된 IPointer에 대한 적절한 타겟은 6.9절에 정의되어 있다. 각 Organization 객체는 하나 이상의 하위(child) Item 이나 IPointer가 선언된다.

6.5.3 Title 클래스

표 6.10은 IMS 콘텐츠 패키징 정보모델의 Title 클래스에 대한 정의를 제시한다.

표 6.10 Title 클래스 정의

기술 정의
클래스명 Title
클래스 유형 값(value)
데이터 유형 문자열(string)
값의 범위 [UCS]의 출력 가능한 문자 레파토리
다중성 0..1
특성 클래스 n / a
부모(Parents) Organization Item
자식(Children) n / a
내용(Description) Title 객체는 Organization이나 Item 객체가 대표하는 구조의 이름이나 레이블을 부여하기 위해 Organization이나 Item 객체에 적용된 텍스트 값을 포함한다. 텍스트 값은 언어 유형을 가지지 않는다. Title의 값은 문자열이다. Title에 대한 문자열의 하나 이상의 언어 민감형(language-sensitive) 표현을 원하는 실행자의 경우 항상 LingualTitle 클래스를 사용해야 한다.

6.5.4 LingualTitle 클래스

표 6.11은 IMS 콘텐츠 패키징 정보모델의 LingualTitle 클래스에 대한 정의를 제시한다.

표 6.11 LingualTitle 클래스 정의

기술 정의
클래스명 Title
클래스 유형 값(value)
데이터 유형 문자열(string)
값의 범위 [UCS]의 출력 가능한 문자 레파토리
다중성 0..무제한(unbounded), 비순차적
특성 클래스 { 언어 }
부모(Parents) Organization Item
자식(Children) n / a
내용(Description) LingualTitle 객체는 Organization이나 Item 객체가 표현하는 구조들에 이름이나 레이블을 부여하기 위해 Organization이나 Item 객체에 적용된 언어별 텍스트 값을 포함한다. LingualTitle의 언어는 Language 객체에 의해 상술된다.

6.5.5 Item 클래스

표 6.12는 IMS 콘텐츠 패키징 정보모델의 Item 클래스에 대한 정의를 제시한다.

표 6.12 Item 클래스 정의

기술 정의
클래스명 Item
클래스 유형 컨테이너
데이터 유형 n / a
값의 범위 n / a
다중성 1..무제한(unbounded), 순차적
특성 클래스 { Identifier, IdentifierRef, IsVisible, Parameters, Other }, 비순차적
부모(Parents) Organization Item
자식(Children) [ Title, Item, IPointer Metadata, Extension ], 순차적
내용(Description) Item 객체는 특정 Organization이나 다른 Item 객체의 구조적 노드를 표현하는 데 사용되는 컨테이너이다. Item 객체는 하위(child) Item이나 IPointer 객체를 포함할 수 있으며, 이는 각각 고유한 구조적 노드를 표현한다. 참조 Manifest에 정의된 Item들은 IPointer클래스를 사용해 식별된다. Item 내에서, Item과 IPointer의 어떠한 조합도 가능하며, 객체의 순서는 의미가 있다. Item의 하위(child)계층으로 선언된 IPointer의 적절한 타겟은 6.9장에 정의되어 있다. Item은 IdentifierRef 객체를 사용해 구조적 역할과 위치와 연계된 Resource 객체에 대한 내부 참조를 표현할 수 있다. Item은 IdentifierRef를 이용해 구조적 역할과 위치와 연계된 자식 매니페스트에 대한 내부 참조를 표현할 수 있다. 참조의 결과는 다음과 같다.
  1. 참조된 자식 매니페스트가 디폴트 Organization을 가지고 있지 않은 경우, 참조 Item과 Item의 모든 자식은 참조된 자식 매니페스트의 디폴트 Organization에 포함된 객체의 집합, 또는 참조된 자식 매니페스트의 첫 번째 Organization과 교체된다.
  2. 교체된 참조 Item과 연계된(sibling) Item 객체는 간접 참조된 Item과 그 자식에 의해 하위 객체의 시퀀스 내에서 교체된다. 패키지 해석기는 위에서 서술된 두 가지 구조를 실제로 나누거나 합치는 것을 모방하는 메모리 모델이나 데이터 저장 모델을 실제로 생성할 필요는 없다. 하지만, 패키지 해석기는 위에 기술된 구조가 생성되었다고 가정하고 참조를 해석한다.

6.6 Resource 클래스 패밀리

이 장은 IMS 콘텐츠 패키징 정보모델의 다음 클래스들에 대한 정의를 제시한다.
  • Resources
  • Resource
  • 파일
  • Dependency
또한, 6.7, 6.8, 6.9 그리고 6.10장에 순서대로 정의된 다음 클래스들과의 관계를 정의한다.
  • Metadata
  • 변형(Variant)
  • IPointer
  • Extension
그림 6.4는 Resources 클래스 PIM을 보여준다.
IMS_KR_1001-1_6.4

그림 6.4 Resources 클래스 PIM의 단순 구조도

6.6.1 Resources 클래스

표 6.13은 IMS 콘텐츠 패키징 정보모델의 Resources 클래스에 대한 정의를 제시한다.

표 6.13 Resources 클래스 정의

기술 정의
클래스명 Resources
클래스 유형 컨테이너
데이터 유형 n / a
값의 범위 n / a
다중성 1..1
특성 클래스 { Base, 기타 }, 비순차적
부모(Parents) Manifest
자식(Children) [ Resource, IPointer, Extension ], 비순차적
자식 그루핑 모델 (Child grouping model) 순차적
내용(Description) Resources 객체는 상위 Manifest 객체에서 사용되는 파일에 대한 모든 정보를 포함하는 컨테이너이다. 파일들은 로컬 또는 리모트 일 수 있다. Resources는 상위 Manifest 대한 파일을 기술한다. 상위 Manifest의 형제, 자식, 또는 상속 Manifest 객체들을 포함해 다른 Manifest 객체 내의 참조 파일들은 Resources 객체의 범위에 포함되지 않는다.Resource와 Resources 객체의 하위 레벨의 IPointer 들은 특정 파일 집합(collection of files)을 기술하기 위해 사용된다. IPointer는 참조된 Manifest내의 자원을 식별하기 위해 사용된다. 자식 Resource와 IPointer 객체의 순서는 중요하지 않다. Resources 객체의 IPointer 자식에 대한 적절한 타겟은 6.9절에 정의되어 있다.

6.6.2 Resource 클래스

표 6.14는 IMS 콘텐츠 패키징 정보모델의 Resource 클래스에 대한 정의를 제시한다.

표 6.14 Resource 클래스 정의

기술 정의
클래스명 Resource
클래스 유형 컨테이너
데이터 유형 n / a
값의 범위 n / a
다중성 0..무제한(unbounded), 비순차적
특성 클래스 { Identifier, Type, Base, Href, Other }, 비순차적
부모(Parents) Resources
자식(Children) [ Metadata, File, Dependency, 변형, Extension ], 순차적
내용(Description) 자원 객체는 선구자 Manifest 객체가 사용하는 특정 파일 집합과 연관된 정보에 대한 컨테이너이다. 변형 자원은 변형 클래스를 이용해 식별된다. 상위 Resource과 변형 객체의 집합 사이의 관계는 변형 자원의 메타데이터를 이용해 기술된다. Resource{Href} 객체에 의해 선언된 값은 launchable URI이다. Resource{Href}에서 선언된 파일 참조는 같은 Resource의 File 객체에도 연계되어 선언된다. 연계된 File 객체의 Href는 Resource{Href}이 참조한 것과 같은 파일을 참조한다. Resource{Href}은 URI에서 ‘실행(launch)’ 파라미터를 포함한다는 점에서 연계 File{Href}과 다르다.

6.6.3 File 클래스

표 6.15는 IMS 콘텐츠 패키징 정보모델의 File 클래스에 대한 정의를 제시한다.

표 6.15 File 클래스 정의

기술 정의
클래스명 File
클래스 유형 컨테이너
데이터 유형 n / a
값의 범위 n / a
다중성 0..무제한(unbounded), 비순차적
특성 클래스 { Href, Other }, 비순차적
부모(Parents) Resource
자식(Children) [ Metadata, Extension ], 순차적
내용(Description) File 객체는 부모 Resource 객체에 의해 캡슐화된 단일 컴퓨터 파일과 관련된 모든 정보에 대한 컨테이너이다. 파일에는 컴퓨터 파일을 기술하는 Manifest과 파일의 위치에 대한 참조가 포함되어 있다.

6.6.4 Dependency 클래스

표 6.16은 IMS 콘텐츠 패키징 정보모델의 Dependency 클래스에 대한 정의를 제시한다.

표 6.16 Dependency 클래스 정의

기술 정의
클래스명 Dependency
클래스 유형 컨테이너
데이터 유형 n / a
값의 범위 n / a
다중성 0..무제한(unbounded), 비순차적
확장점 (Is extension point) 불허(false)
특성 클래스 { IdentifierRef, Other }, 비순차적
부모(Parents) Resource
자식(Children) [ Extension ]
내용(Description) Dependency 객체는 Resource 객체로 하여금 형제 Resource 객체에 기술된 파일 집합을 참조할 수 있도록 한다. Dependency는 IdentifierRef 객체를 이용해 Resource나 IPointer 객체를 참조한다. 참조된 Resource나 IPointer는 Dependency의 최상위(grandparent) Resource 객체에 의해 캡슐화된다. IPointer를 참조하는 경우, IPointer는 참조된 매니페스트의 Resource를 참조한다. 참조의 결과로, 참조된 Resource의 범위 내에 있는 파일은 참조하는 Dependency의 부모 Resource의 범위 내에 있는 것으로 간주된다. 참조된 Resource와 연계된 특성 객체는 참조하는 Dependency의 부모 Resource의 범위 내에 있는 것으로 간주되지 않는다.

6.7 Metadata 클래스

이 장은 IMS 콘텐츠 패키징 정보모델의 일부인 Metadata 클래스에 대해 정의한다. 또한, 6.9절에 정 의된 다음 객체와의 관계를 정의한다.
  • IPointer
그림 6.5는 Metadata 클래스 PIM을 보여준다.
IMS_KR_1001-1_6.5

그림 6.5 Metadata 클래스 PIM의 단순 구조도

표 6.17은 IMS 콘텐츠 패키징 정보모델의 Metadata 클래스를 정의한다.

표 6.17 Metadata 클래스 정의

기술 정의
클래스명 Metadata
클래스 유형 컨테이너
데이터 유형 n / a
값의 범위 n / a
다중성 0..1
특성 클래스 무(none)
부모(Parents) Organization Item Resource File
자식(Children) [ IPointer, MetadataModel ], xor
자식 그루핑 모델 (Child grouping model) 순차적
내용(Description) Metadata 객체는 상위(parent) 컨테이너(container)-클래스(class)-유형(type) 객체에 대한 기술 정보를 포함한다. 메타데이터의 범위는 상위 컨테이너 클래스에만 국한된다. MetadataModel 하위(child) 객체는 부모에 관한 일반적인 기술 정보에 대한 컨테이너 역할을 한다. MetadataModel은 다른 네임스페이스에 정의된 정보구조를 가진 메타데이터를 허용하는 확장점이다. 여러 개의 각기 다른 MetadataModel은 단일 MetadataModel 객체 내에 포함된 확장으로 선언될 수 있다. 메타데이타가 외부 객체로 정의된 경우, IPointer 객체를 이용해 그 객체에 링크할 수 있다. MetadataModel과 외부 참조 메타데이터의 어떠한 조합도 허용이 되며, Metadata 객체 내에서 조합의 순서는 중요하지 않다. Metadata의 하위 레벨로 선언된 IPointer에 대한 적절한 타겟은 6.9절에 정의되어 있다.

6.8 Variant 클래스

이 장은 IMS 콘텐츠 패키징 정보모델의 일부인 Variant 클래스를 정의한다. 또한, 6.6.2와 6.7절에 순 서대로 정의된 다음 클래스들과의 관계를 정의한다.
  • Resource
  • Metadata
그림 6.6은 Variant 클래스 PIM을 보여준다.
IMS_KR_1001-1_6.6

그림 6.6 Variant 클래스 PIM의 단순 구조도

표 6.18은 IMS 콘텐츠 패키징 정보모델의 Variant 클래스를 정의한다.

표 6.18 Variant 클래스 정의

기술 정의
클래스명 Variant
클래스 유형 컨테이너
데이터 유형 n / a
값의 범위 n / a
다중성 1..무제한(unbounded), 비순차적
특성 클래스 { Identifier, IdentifierRef, 기타 }, 비순차적
부모(Parents) Resource
자식(Children) [ Metadata, Extension ], 순차적
자식 그루핑 모델 (Child grouping model) 순차적
내용(Description) Variant 객체는 Resource 객체로 하여금 변형 Resource 객체를 참조하고 기술할 수 있도록 한다. Variant는 IdentifierRef 객체를 사용해 Resource나 IPointer 객체를 참조한다. 참조된 Resource나 IPointer는 Variant의 최상위(grandparent) Resource 객체에 의해 요약된다. IPointer에 대한 참조의 경우, IPointer는 참조된 매니페스트 내의 Resource를 참조한다. Variant에 대한 Metadata 자식 객체는 항상 Variant와 상위(parent) Resource간의 관계를 기술하기 위해 사용된다.

6.9 IPointer 클래스(IPointer class)

이 장은 IMS 콘텐츠 패키지 정보모델의 일부인 IPointer 클래스를 정의한다. 또한, 6.4.1, 6.4.2, 6.7, 6.5.1, 6.5.2, 6.5.5, 그리고 6.6.1절에 순서대로 정의된 다음 클래스들과의 관계를 정의한다.
  • Manifest
  • ManifestMetadata
  • Metadata
  • Organizations
  • Organization
  • Item
  • Resources
그림 6.7은 IPointer 클래스 PIM을 보여준다.
IMS_KR_1001-1_6.7

그림 6.7 IPointer 클래스 PIM의 단순 구조도

표 6.19는 IMS 콘텐츠 패키징 정보모델의 IPointer 클래스를 정의한다.

표 6.19 IPointer 클래스 정의

기술정의클래스명IPointer클래스 유형컨테이너데이터 유형n / a값의 범위n / a다중성0..무제한(unbounded), 순차적특성 클래스{ Identifier, LinkType, LinkHref, Other }, 비순차적부모(Parents)Manifest ManifestMetadata MetadataOrganizations Organization Item Resources자식(Children)n / a자식 그루핑 모델 (Child grouping model)순차적내용(Description)IPointer 객체는 링크 객체이며, 매니페스트 문서의 노드 집합을 식별하고 이를 상위 객체와 연계시키는 것을 목표로 한다. 식별된 노드 집합의 소스는 로컬 또는 리모트일 수 있다.IPointer에 의해 식별된 노드 집합은 IPointer의 상위 클래스의 유효한 하위 클래스이다 (표 20 참조).표 6.20은 IPointer 클래스를 이용한 상위(parent)-클래스(class)-타겟(target)-클래스(class) 링크의 허용 된 조합을 정의한다.

표 6.20 상위(parent)/타겟(target) 클래스의 허용된 링크 조합

IPointer 클래스의 부모 클래스 IPointer 클래스의 유효한 타겟 노드 집합
Manifest Manifest
Organizations Organization
Organization Item
Item Item
Resources Resource
ManifestMetadata MetadataModel
Metadata MetadataModel

6.10 Extension 클래스

이 장은 이 IMS 콘텐츠 패키징 정보모델의 일부인 Extension 클래스 위치 표시자(placeholder)를 정 의한다. 그림 6.8은 Extension 클래스 PIM을 보여준다.
IMS_KR_1001-1_6.8

그림 6.8 Extension 클래스 PIM의 단순 구조도

표 6.21은 IMS 콘텐츠 패키징 정보모델의 Extension 클래스를 정의한다.

표 6.21 Extension 클래스 정의

기술 정의
클래스명 Extension
클래스 유형 불특정(unspecified)
데이터 유형 불특정(unspecified)
값의 범위 불특정(unspecified)
다중성 0..무제한(unbounded), 순차적
확장점 (Is extension point) 참(true)
특성 클래스 불특정(unspecified), 순서 또한 불특정
부모(Parents) Manifest Organizations OrganizationItem Resources Resource Variant FileDependency
자식(Children) 불특정(unspecified), 순서 또한 불특정
자식 그루핑 모델 (Child grouping model) 순차적
내용(Description) Extension 객체는 위치 표시자 이며, 이 정보모델의 바인딩에 이 정보모델의 유형 컨테이너 클래스를 확장하는 value 또는 container 클래스를 삽입할 유효한 위치를 알려준다.Extension 클래스는 이 정보모델의 유형 컨테이너를 확장하기 위한 두 가지 기법 중 하나이다. 또 다른 기법은 Other 클래스이다. Extension 객체는 유형 컨테이너의 클래스를 확장하기 위해 사용된다. Extension 객체를 대신해 사용된 확장 container나 value 클래스 유형의 실제 이름은 바인딩 된 객체가 이 정보모델의 바인딩 된 인스턴스에 등록될 때에만 알 수 있다. 그러므로, 클래스의 실제 유형은 이 정보모델에 상술되어 있지 않다. Extension의 의미론은 이 정보모델의 부모 객체의 범위 내에 있다. Extension의 의미론은 이 정보모델에서 정의된 어떠한 상위 객체의 의미론도 무효화시키거나 재정의하지 않는다.

6.11 Characteristic 클래스

6.11.1 Base 클래스

표 6.22는 IMS 콘텐츠 패키징 정보모델의 Base 클래스를 정의한다.

표 6.22 Base 클래스 정의

기술 정의
클래스명 Base
클래스 유형 특성(characteristic)
데이터 유형 URI
값의 범위 바인딩 언어 의존적
다중성 0..1
부모(Parents) Manifest Resources Resource
내용(Description) Base 객체는 Base가 관련 객체의 하위 객체를 참조하는 상대참조를 변환하는 목적으로 연계된 객체의 베이스 URI를 상술하기 위해 사용된다. Base에 선언된 값이 허용된 하위 객체내의 다음 Base 객체로 교체되거나 수정되는 경우를 제외하고, Base 값의 범위는 베이스가 연관된 객체의 모든 자식에게 적용된다.Base 값으로 표현된 모든 상대 경로 세그먼트는 해당 표현을 포함하고 있는 매니페스트 문서로 해석(resolve)된다. 세그먼트로 표현된 Base는 가장 가까운 조상(ancestor) 객체에 표현된 상대 경로 세그먼트에 첨부되어 Base 객체에서 최상위(root) Manifest까지 값을 표현할 수 있다. 그 결과로 모아진 상대 경로 세그먼트의 시퀀스는 Manifest 문서의 위치나 절대 경로를 생성하기 위해 가공되는 위치에 첨부된다. Base 객체의 범위 내에 등장하는 상대 참조는 RFC3986에 정의된 규칙에 따라 해석된다.

6.11.2 Default 클래스

표 6.23은 IMS 콘텐츠 패키징 정보모델의 Default 클래스를 정의한다.

표 6.23 Default 클래스 정의

기술 정의
클래스명 Default
클래스 유형 특성(characteristic)
데이터 유형 바인딩 언어 의존적 (디폴트는 문자열이다)
값의 범위 Organization의 값{ Default }.Organization{ Identifier } 객체
다중성 0..1
부모(Parents) Organizations
내용(Description) Default 객체는 Organizations 객체의 단일 자식 Organization 객체를 주어진 Manifest 객체의 기본, 또는 디폴트 Organization 구조로 지정한다. 디폴트 Organization은 타겟 Organization 객체의 Identifier 객체의 값을 참조함으로써 지정된다. 타겟 Organization은 Default를 가진 Organization 객체의 자식(child)이다. 이 외에 Default에 의한 다른 참조를 허용하지 않는다. Organizations 객체에 Default가 선언되지 않는 경우, Organizations 객체의 첫 번째로 정의된 Organization 객체가 기본 또는 디폴트 구성 구조(organizing structure)로 간주된다.

6.11.3 Href 클래스

표6.24는 IMS 콘텐츠 패키징 정보모델의 Href 클래스를 정의한다.

표 6.24 Href 클래스 정의

기술 정의
클래스명 Href
클래스 유형 특성(characteristic)
데이터 유형 URI
값의 범위 RFC3986에 의해 정의
부모 객체에 의한 다중성 0..1 : Resource 1..1 : File
부모(Parents) Resource File
내용(Description) Href 객체는 자원의 위치를 파악하기 위해 사용된다. Href에 선언된 값은 의미론적으로 유효한 URI이다. 이 문서는 선언된 문자열이 유효한 URI이거나, 실제 자원이나 파악된 위치의 자원의 일부로 변환된다는 어떠한 보장도 하지 않는다.Manifest.Resources.Resource{Href}에 선언된 값은 자원이 기술하는 콘텐츠의 위치를 파악하고 액세스하는 데 사용될 수 있는 URL를 대표한다. URL을 변환하기 위해 패키지 해석기가 필요하지는 않다. URI는 교환 패키지의 콘텐츠가 가공된 후 다른 소프트웨어 구성요소에 의해 추후 사용을 목적으로 저장된다.Manifest.Resources.Resource.File{Href}에 선언된 값은 단일한 디지털 자원의 위치를 파악하는 데 쓰이며, 위치가 파악된 자원의 용도에는 관여하지 않는다.

6.11.4 Identifier 클래스

표 6.25는 IMS 콘텐츠 패키징 정보모델의 Identifier 클래스를 정의한다.

표 6.25 Identifier 클래스 정의

기술 정의
클래스명 Identifier
클래스 유형 특성(characteristic)
데이터 유형 바인딩 언어 의존적 로컬 단일 식별자 (LUID)
값의 범위 바인딩 언어 의존적
다중성 1..1
부모(Parents) Manifest Organization ItemResource IPointer Variant
내용(Description) Identifier 객체는 Manifest 객체내의 Identifier 객체의 부모를 식별한다. 즉, Manifest의 자식 매니페스트 객체를 포함해 같은 Manifest 내에서 식별자에 대해 주어진 값에 대해서는 한 번만 발생한다. Identifier의 값은 IdentifierRef 객체를 이용해 다른 객체로부터의 내부 참조로 사용될 수 있다.

6.11.5 IdentifierRef 클래스

표 6.26은 IMS 콘텐츠 패키징 정보모델의 IdentifierRef 클래스를 정의한다.

표 6.26 IdentifierRef 클래스 정의

기술 정의
클래스명 dentifierRef
클래스 유형 특성
데이터 유형 현재의 LUID (LUIDref)에 대한 바인딩 언어 의존적 참조
값의 범위 IdentifierRef 객체가 직접 포함하는 Manifest 객체의 Identifier 객체 값,그리고 다음에 정의된 내부 참조 규칙에 의해 제한된 값.
다중성 0..1 : Item 1..1 : Dependency 1..1 : Variant
부모(Parents) Item Dependency Variant
내용(Description) IdentifierRef 객체는 IdentifierRef 객체가 직접적으로 포함하는 Manifest 객체의 하위 레벨 Identifier 객체의 값을 정확히 복제한다. 객체가 직접 포함하는 Manifest는 객체의 구성에서 제일 처음으로 등장하는 Manifest에 정의된다. 참조되는 식별자는 직접적으로 포함하는 Manifest의 자식 매니페스트에 포함되어 있을 수 있다. 또한, IdentifierRef는 다음 내부 참조 규칙을 따른다.
  1. Item 객체의 IdentifierRef 자식은 다음 중 하나를 참조할 수 있다.
    1. 참조 Item의 직접적으로 포함하는 Manifest 객체의 하위 레벨에 있는 Resource 또는 IPointer 객체
    2. 참조 Item의 직접적으로 포함하는 Manifest의 하위 레벨의 Manifest 또는 IPointer
    3. 참조 Item의 직접적으로 포함하는 Manifest의 자식 매니페스트 객체에 포함된 Resource 또는 IPointer. 자식 매니페스트 객체 내의 Item의 IdentifierRef로부터 조상(ancestor) Manifest의 객체로의 어떠한 참조도 허용되지 않는다.
  2. Dependency 객체의 IdentifierRef:
    1. Dependency의 상위 Resource와 같은 레벨의 Resource만 참조한다.
    2. Dependency의 상위 Resource를 참조하지 않는다.
    3. Dependency의 직접 포함 Manifest의 하위 또는 상위 Manifest 내의 어떠한 객체도 참조하지 않는다.
  3. Variant 객체의 IdentifierRef:
    1. Variant의 상위 Resource과 같은 레벨의 Resource 또는 IPointer만 참조한다.
    2. Variant의 상위 Resource을 참조하지 않는다.
    3. Variant의 직접적으로 포함하는 Manifest의 하위 또는 상위 Manifest내의 어떠한 객체도 참조하지 않는다.
그림 6.9는 매니페스트와 하위 매니페스트에 대한 범위 지정 규칙을 보여준다.
IMS_KR_1001-1_6.9

그림 6.9 – 매니페스트와 (하위)매니페스트에 대한 범위 지정 규칙

6.11.6 IsVisible 클래스

표 6.27은 IMS 콘텐츠 패키징 정보모델의 IsVisible 클래스를 정의한다.

표 6.27 IsVisible 클래스 정의

기술 정의
클래스명 IsVisibler
클래스 유형 특성(characteristic)
데이터 유형 Boolean
값의 범위 참(true) (디폴트) 불허(false)
다중성 0..1
부모(Parents) Item
내용(Description) IsVisible 객체는 형제 Title 객체에 선언된 텍스트 문자열을 디스플레이할 지, 또는 그 외의 방법으로 Item 객체의 존재를 시각적으로 표시할 지를 렌더링(rendering) 프로세스에 지시한다.이 플래그는 기타 어떠한 행위도 전가하지 않는다. IsVisible은 IsVisble 부모 Item의 후손 Item에 가시성 상태(visibility state)의 상속을 선언하지 않는다. IsVisible의 디폴트 값은 Item의 바인딩된 인스턴스에 선언되지 않더라도 ‘참(true)’이 될 것이다. 즉, 상위 Item에서 IsVisible의 부재는 Item에 ‘참(true)’의 값을 가진 IsVisible이 선언된 것과 같다. ‘참(true)’의 값은 형재 Title의 콘텐츠가 항상 렌더링(rendering) 애플리케이션에 의해 디스플레이 되어야 한다는 의미로 해석된다 (예를 들어, Item{IsVisible}.Title) ‘불허(false)’의 값은 형제 Title의 콘텐츠는 항상 렌더링 애플리케이션에 의해 디스플레이 되어서는 안된다는 의미로 해석된다.

6.11.7 Language 클래스

표 6.28은 IMS 콘텐츠 패키징 정보모델의 Language 클래스를 정의한다.

표 6.28 Language 클래스 정의

기술 정의
클래스명 Language
클래스 유형 특성(characteristic)
데이터 유형 문자열(string)
값의 범위 IEEE 1484.12.1에서 정의한 1.3 Language 요소의 값의 범위로, 다음 ABNF 규칙을 기반으로 정의된다. language-id = lang-code *lang-sub-code; lang-code is any language code defined by ISO 639–1 & 2lang-sub-code = "-" country-code ; country-code is any country code defined by ; ISO 3166-1
다중성 1
부모(Parents) LingualTitle
내용(Description) 부모 LingualTitle 객체에 포함된 문자열의 인간 언어를 식별하는 Language 객체

6.11.8 LinkHref 클래스

표 6.29는 IMS 콘텐츠 패키징 정보모델의 LinkHref 클래스를 정의한다.

표 6.29 LinkHref 클래스 정의

기술 정의
클래스명 LinkHref
클래스 유형 특성(characteristic)
데이터 유형 URI
값의 범위 바인딩 언어 의존적. 아래 정의된 외부 참조 규칙에 의해 제한된다.
다중성 1
부모(Parents) IPointer
내용(Description) LinkHref 객체는 같은, 혹은 다른 (‘리모트’) Manifest 문서에서 객체 집합을 명확하게 식별한다. LinkHref에 선언된 값은 의미론적으로 유효한 절대적, 또는 상대적 참조이다. URL은 위치상 제한이 없기 때문에, 특성의 범위는 전역적 (global)이다.

6.11.9 LinkType 클래스

표 6.30은 IMS 콘텐츠 패키징 정보모델의 LinkType 클래스를 정의한다.

표 6.30 LinkType 클래스 정의

기술 정의
클래스명 LinkType
클래스 유형 특성(characteristic)
데이터 유형 문자열(string)
값의 범위 바인딩 언어 의존적
다중성 0..1
부모(Parents) IPointer
내용(Description) LinkType 객체는 특별한 의미가 부여된 용어나 키워드 (예를 들어, 어휘나 구문)를 선언할 위치를 제공한다. IMS 콘텐츠 패키징에서는 ‘단순한’ 키워드를 이 객체의 값으로 사용한다. LinkType의 범위는 부모로 제한된다. NOTE: 단순 링크는 로컬 자원과 리모트 자원 하나씩을 연계하는 링크로, 로컬 자원에서 리모트 자원으로 아크(arc)가 이동한다. 즉, 단순 링크는 항상 아웃바운드 링크이다.

6.11.10 Other 클래스

표 6.31은 IMS 콘텐츠 패키징 정보모델의 Other 클래스를 정의한다.

표 6.31 Other 클래스 정의

기술 정의
클래스명 Other
클래스 유형 특성(characteristic)
데이터 유형 이 정보모델에서는 알려진 바 없다
값의 범위 이 정보모델에서는 알려진 바 없다
다중성 0..무제한(unbounded)
부모(Parents) Manifest Metadata OrganizationsOrganization Item Resources ResourceFile Dependency
내용(Description) Other 객체는 특성 클래스의 논리적으로 동등하다고 선언된 컨테이너 클래스의 특성에 대한 확장점이다. Other는 위치 표시자로, 다른 정보모델에서 정의된 특성 클래스를 도입할 유효한 위치를 이 정보모델의 바인딩에 알린다. 대체되어 사용된 확장 특성 클래스 유형의 실제 이름은 클래스의 바인딩이 이 정보모델의 바인딩 된 인스턴스에 등록될 때에만 알 수 있다. 확장된 특성 클래스의 의미론은 이 정보모델 내의 클래스의 정의에 따라 상위 클래스의 의미론 범위 내에 있다. 확장된 특성 클래스의 의미론은 이 정보모델에 정의된 어떠한 부모 클래스의 의미론도 무효화하거나 재정의하지 않는다.Other의 범위는 그 상위 객체(parent object)로 제한된다.

6.11.11 Parameter 클래스

표 6.32는 IMS 콘텐츠 패키징 정보모델의 Parameter 클래스를 정의한다.

표 6.32 Parameter 클래스 정의

기술 정의
클래스명 Parameter
클래스 유형 특성(characteristic)
데이터 유형 문자열(string)
값의 범위 아래 기술 내용 참조
다중성 0..1
부모(Parents) Item
내용(Description) Parameter 객체에는 (항상) Item 객체에 연계되는 정적이며 애플리케이션에 의해 활용되는 특정 정보가 기재된다. 그러나, 파라미터는 이 정보모델에 의 해 정의되지 않는다. 일반적으로, 파라미터는(Parameter의 상위 Item이 참조 하는 Resource 객체에 상술된 파일들을 포함하여) Item에 기재된 정보를 이 용하는 애플리케이션에 의해 그 용도가 정의된다. Parameter에 선언된 값으로 표현된 문자는 항상 RFC3986에 정의된 URI로 인코딩된 값이어야 한다.Parameter의 범위는 상위 객체로 제한된다.

6.11.12 Structure 클래스

표 6.33은 IMS 콘텐츠 패키징 정보모델의 Structure 클래스를 정의한다.

표 6.33 Structure 클래스 정의

기술 정의
클래스명 Structure
클래스 유형 특성(characteristic)
데이터 유형 문자열(string)
값의 범위 아래 기술 내용 참조
다중성 0..1
확장점 (Is extension point) 불허(false)
부모(Parents) Organization
내용(Description) Organization 객체 내에서 Item 객체들간의 관계를 기술하는 Structure 객체. Structure 특성의 범위는 부모 Organization으로 한정된다. Structure의 값의 범위에는 IMS Global Learning Consortium, Inc. 의 승인을 받고 통제 목록 [SDN11, 06]을 통해 공개된 용어들을 포함하고 있다. 승인된 용어 목록의 구문법과 의미론은 이 정보모델을 실행하는 모든 소프트웨어 구성요소에 의해 지원된다. Structure의 값의 범위는 확장될 수 있다. IMS 값 중 특정 Organization의 Item 객체 집합의 Organization을 정의하고자 하는 실행자 집단의 필요에 부응하는 승인된 IMS 값이 존재하지 않을 때 이러한 확장 표현을 생성하고 사용할 수 있다.Structure의 값으로 사용된 확장 표현들은 RFC3986의 3절에 정의된 URI 구문법 규칙을 따른다. Structure 값의 범위를 확장하는 데 사용되는 용어들의 구문법은 용어의 소스를 URI로 밝히고 Item 자체를 URI fragment: scheme://authority/hierarchy#term 로 밝힌다.

6.11.13 Type 클래스

표 6.34는 IMS 콘텐츠 패키징 정보모델의 Type 클래스를 정의한다.

표 6.34 Type 클래스 정의

기술 정의
클래스명 Type
클래스 유형 특성(characteristic)
데이터 유형 문자열(string)
값의 범위 아래 기술 내용 참조
다중성 1..1
부모(Parents) Resource
내용(Description) Type 객체는 상위(parent) Resource 객체가 기술하는 자원의 유형을 표시하는 용어, 키워드, 또는 구문을 제시한다. Type의 값의 범위는 IMS Global Learning Consortium, Inc.에서 제공한 용어를 포함하며, 이는 통제 목록 [SDN11, 06]을 통해 공개되었다. 승인된 용어 목록은 이 정보모델을 포함한 모든 소프트웨어 구성요소에 의해 지원된다.Type의 값의 범위는 통제 목록을 넘어 확장될 수 있다. 이러한 확장 표현은 실행 집단의 표현 욕구를 만족시키는 승인된 IMS 값이 없을 때에 생성되고 사용될 수 있다. Type의 값으로 사용된 확장 표현은 RFC3986의 3절에 정의된 URI 구문법 규칙을 따른다. Type 값의 범위 확장 용어의 구문법은 용어의 소스를 URI로 밝히고 용어 자체를 URI fragment: cheme://authority/hierarchy#term 로 밝힌다: Type 특성의 범위는 상위 객체에 제한되어 있다. 특히, Type 값으로 표현된 의미론은 Resource.Dependency{ IdentifierRef } 참조의 사용을 통해 전송(transmit)되거나 ‘상속(inherit)’되지 않는다.

6.11.14 Version 클래스

표 6.35는 IMS 콘텐츠 패키징 정보모델의 Version 클래스에 대한 정의를 제시한다.

표 6.35 Version 클래스 정의

기술 정의
클래스명 Version
클래스 유형 특성(characteristic)
데이터 유형 문자열(string)
값의 범위 [UCS]의 출력 가능한 문자 레파토리
다중성 0..1
부모(Parents) Manifest
내용(Description) Version 객체는 Manifest 객체의 고유한 버전을 표시하는 값을 가진다. 이 특성이 InterchangePackage 객체의 자식 매니페스트에 기재될 때(declare), 해당 값은 IMS 매니페스트 문서가 된다. 이 특성이 자식 매니페스트에 기재될 때, 그 특성은 해당 Manifest에만 적용이 되며 자식 매니페스트가 포함된 전체 문서에 해당되지는 않는다. 버전 정보의 의미론은 이 문서에 상술되어 있지 않다. 실행자들은 필요에 따라 원하는 의미 표시를 선택해 사용할 수 있다. 버전의 범위는 상위 객체에 제한된다.