KR20060070420A - 문서를 나타내기 위한 파일 포맷, 방법 및 컴퓨터 프로그램제품 - Google Patents

문서를 나타내기 위한 파일 포맷, 방법 및 컴퓨터 프로그램제품 Download PDF

Info

Publication number
KR20060070420A
KR20060070420A KR1020050105991A KR20050105991A KR20060070420A KR 20060070420 A KR20060070420 A KR 20060070420A KR 1020050105991 A KR1020050105991 A KR 1020050105991A KR 20050105991 A KR20050105991 A KR 20050105991A KR 20060070420 A KR20060070420 A KR 20060070420A
Authority
KR
South Korea
Prior art keywords
document
module
file format
parts
data
Prior art date
Application number
KR1020050105991A
Other languages
English (en)
Inventor
브라이언 존스
로버트 리틀
앤드류 비숍
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060070420A publication Critical patent/KR20060070420A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces

Abstract

모듈 콘텐트 프레임워크로 문서를 나타내는 파일 포맷, 방법 및 컴퓨터 프로그램 제품이 제공된다. 모듈 콘텐트 프레임워크는 모듈 파트들과 관련된 파일 포맷 컨테이너를 포함할 수 있다. 파일 포맷은 하나 이상의 관계들에 의해 서로 관련된 논리적으로 분리된 모듈 파트들을 포함하고, 각 모듈 파트는 관계 유형과 관련된다. 모듈 파트들은 문서의 특성에 대한 가이드로서 작용하는 문서 파트를 l마한다. 문서 파트들은 또한 파일 포맷과 관련된 빌트 인 특성을 포함하는 문서 특성 파트와, 섬네일과 관련된 섬네일 파트를 포함할 수 있다. 각 모듈 파트는 분리하여 질의받을 수 있으며, 문서로부터 추출되고, 및/또는 다른 문서에서 재사용될 수 있다.
모듈 콘텐트 프레임워크, 파일 포맷, 모듈 파트, 관계 유형, 문서 파트

Description

문서를 나타내기 위한 파일 포맷, 방법 및 컴퓨터 프로그램 제품{FILE FORMATS, METHODS, AND COMPUTER PROGRAM PRODUCTS FOR REPRESENTING DOCUMENTS}
도 1은 본 발명의 다양한 예시적인 실시예들에서 이용되고 제공되는 컴퓨팅 장치를 예시하는 컴퓨터 시스템 아키텍처.
도 2a-2c는 본 발명의 디양한 예시적인 실시예들에 따른 워드 프로세서 문서를 나타내기 위한 파일 포맷에서 사용되는 다양한 모듈 파트들에 대한 문서 관계 계층 구조를 예시한 블럭도.
도 3-4는 본 발명의 예시적인 실시예들에 따라서 모듈 콘텐트 프레임워크로 문서들을 나타내는 것을 구현한 예시적인 루틴.
<도면의 주요 부분에 대한 부호의 설명>
202 : 문서 파트
203 : 파트 유형
205 : 문서 특성 파트
207 : 파일 포맷 컨테이너
208 : 문서 관계 계층 구조
209 : 섬네일 파트
<관련 출원들에 대한 상호 참조>
본 특허 출원은, 본 출원과 동일한 양수인에게 양도된, "File formats, Methods, and Computer Program Products For Representing Workbooks"이라는 제목으로 2004년 12월 20일 출원한, U.S. 특허 출원, Attorney Docket No.60001.0447US01; "File formats, Methods, and Computer Program Products For Representing Presentations"이라는 제목으로 2004년 12월 20일 출원한, U.S. 특허 출원, Attorney Docket No.60001.0443US01; 및 "Management and Use of Data in a Computer-Generated Document"라는 제목으로 2004년 12월 20일 출원된 Attorney Docket No.60001.0440US01과 관련되고 이와 함께 제출되었다.
<기술 분야>
본 발명은 일반적으로 파일 포맷에 관한 것으로, 특히, 컴포넌트화된 워드 프로세싱 애플리케이션 프로그램으로 문서를 나타내는 방법 및 파일 포맷에 관한 것이다.
<배경 기술>
정보화 시대는 워드 프로세싱 소프트웨어 애플리케이션을 사용하여 복잡한 문서를 작성하는 시대를 순조롭게 한다. 그러나, 문서를 저장하기 위해서 이전 파일 포맷들을 생성하고 구조화하는 방식은 여러 단점들을 가지고 있다. 예를 들어, 이전 문서 파일 포맷들은 모놀리식(monolithic) 데이터를 포함하는 단일 파일의 형 태로 생성된다. 이들 단일 파일들을 생성하기 위해서 일반적으로 전용(proprietary) 포맷들이 사용되기 때문에, 문서 저장소를 구축하는 각 회사는 다른 파일 포맷을 개발한다. 따라서, 이전 파일 포맷들 중 어떤 것도 디폴트 파일 포맷으로 익숙하지 않다. 이들 다른 파일 포맷들 내의 데이터는 모놀리식하고 개별 파트들로 액세스 가능하지 않기 때문에, 일련의 문제들이 일어난다.
프로그래머에 대한 하나의 문제는 기본 문서의 재사용 문제이다. 예를 들어, 동일한 애플리케이션에서도, 워드 프로세싱 애플리케이션을 구동하지 않고 하나의 워드 프로세싱 애플리케이션으로부터 하나 이상의 문서들을 추출하고, 다른 워드 프로세싱 애플리케이션에서 추출한 문서들을 재사용하고, 문서 무결성(integrity)을 유지하는 것이 곤란하다. 비교해보면, 다른 애플리케이션들 사이에서 문서를 재사용하기는 더 나쁘다. 문서로부터 표 또는 차트와 같은 콘텐트를 재사용하는 것은 마찬가지로 곤란하다.
다음으로, 모놀리식 파일 포맷때문에, 문서의 일부를 잠그는 것이 실질적으로 불가능하다. 따라서, 어쩌면 다른 플랫폼에서, 및/또는 다른 로캘(locale)로부터의 다수의 사람들이 잠금(locking) 메카니즘의 도움으로 문서를 협조하여 편집하는 다중 사용자 편집과 같은 특성이 금지된다. 잠금에 있어서 대부분의 기술은 파일 레벨에서 모두 행해지므로, 파일이 사용자에 의해 잠겨지면, 다른 어떤 사용자들도 그 파일을 편집할 수 없다. 보는 것은 가능하지만, 편집은 않된다.
또한, 문서 파일 질의(interrogation)의 문제가 있다. 문서 파일 내에서 콘텐트를 찾는 것, 예를 들면, 2004 세일 예상에 대한 문서를 찾는 것은 쉽지 않은 (daunting) 과제일 수 있다. 콘텐트의 의미 구조(semantics)가 결정될 수 있는 모놀리식 파일 포맷 문서 내의 개별 파트들을 찾는 것은 매우 어렵다. 이러한 문제는, 현재의 이진 파일 포맷이 문서화될 때에도 존재한다. 현재의 이진 파일 포맷을 잘 처리할 수 있는 리더(reader) 및 라이터(writer) 클래스를 구현하는 것도 여전히 어렵다. 애플리케이션을 타깃으로 하는 툴(tool)이 개발되었다고 해도, 모든 문서 포맷을 질의(interrogate)할 수 없다. 이러한 문제를 단일 파일 포맷의 불투명성(opaqueness)이라고 한다.
하나의 파일 포맷된 문서의 조각들을 취합하여 이들을 다른 문서에 떨어뜨리는(drop) 능력인, 문서 표면화(surfacing)도 또한 문제이다. 예를 들어, 워드 프로세서 문서로부터 프레젠테이션 문서로 복사된 표는 모놀리식형 파일 포맷에서 질의하기 힘들다.
또한, 문서 미리 보기(preview)의 경우에, 예를 들어, 그래픽적으로 브라우징 액세스 가능한 콘텐트에 대해서, 브라우저 또는 제3의 애플리케이션 내의 쉘을 통해 노출된 콘텐트의 고 해상도 미리 보기를 검색(retrieve)하는 것은 매우 어렵다. 몇몇 워드 프로세싱 애플리케이션들은 단일 페이지의 섬네일(thumbnail) 또는 미리 보기를 제공하지만, 문서 내의 모든 파트들에 대한 고 해상도 미리 보기를 제공하지는 않는다.
따라서, 전술한 부족함과 결함들을 처리하기 위한 산업상의 미해결된(unaddressed) 요구가 있다.
본 발명의 실시예들은 컴퓨팅 장치 내에서 구동된 모듈 콘텐트 프레임워크로 문서를 나타내는 파일 포맷, 방법, 및 컴퓨터 프로그램 제품을 제공한다. 본 발명의 실시예들은 XML 파일 포맷 및/또는 이진 파일 포맷과 같은 오픈 파일 포맷, 및 문서의 특징 및 데이터가 워드 프로세싱 애플리케이션 내에서 조직화되고 모델링되는 방법을 개시한다. 파일 포맷은 컬렉션(collection)과 파트(part)들로 구성되도록 설계된다. 각 컬렉션은 폴더로서 기능하고 각 모듈 파트는 파일로서 기능한다. 이들 분리된 파일들은 관계(relationship)들과 관련되며, 각 분리된 관계는 관계 유형(relationship type)을 갖는다. 이러한 설계는 워드 프로세싱 애플리케이션이 문서 특징 및 데이터를 조직하는 방식을 매우 단순화하고, 혼동이 적은 논리 모델을 제시한다.
일 실시예는 모듈 콘텐트 프레임워크(modular content framework)로 문서를 나타내는 파일 포맷이다. 모듈 콘텐트 프레임워크는 모듈 파트와 관련된 파일 포맷 컨테이너를 포함할 수 있다. 파일 포맷은 논리적으로 분리되지만 하나 이상의 관계들에 의해 서로 관련된 모듈 파트들을 포함한다. 각 모듈 파트는 관계 유형과 관련되고 모듈 파트들은 문서의 특성에 대한 가이드로서 작용하는 문서 파트를 포함한다. 각 모듈 파트는 워드 프로세싱 애플리케이션과 또는 워드 프로세싱 애플리케이션 및 질의받을 다른 모듈 파트없이 분리하여 질의받을 수 있으며, 이는 문서가 질문될 때 효율적으로 게인(gain)을 제공한다.
모듈 파트들은 또한 파일 포맷과 관련된 빌트 인 특성을 포함하는 문서 특성 파트 및 파일 포맷과 관련된 하나 이상의 섬네일을 포함하는 섬네일 파트를 포함할 수 있다. 각 모듈 파트는 이 문서로부터 추출되거나/되고 복사(copy)될 수 있으며 재사용된 모듈 파트의 관계를 검토(traverse)하고 탐색(navigate)함으로써 확인된 관련된 모듈 파트들과 함께 다른 문서에서 재사용될 수 있다. 관계들을 탐색함으로써, 추출되거나 재사용된 모듈 파트가 어떤 다른 파트에 영향을 미치는지를 판단할 수 있다.
또 다른 실시예는, 파일 포맷으로 문서를 나타내는 방법이며, 이 문서와 관련된 모듈 파트는 파일 포맷 내에 기록된 각 파트를 포함한다. 이 방법은 파일 포맷의 제1 모듈 파트를 기록하는 단계와, 논리적으로 분리되지만 하나 이상의 관계들에 의해 관련된 모듈 파트들와 관련된 관계 유형에 대해 제1 모듈 문서를 질문하는 단계를 포함한다. 추가적으로, 이 방법은 제1 모듈 파트와 분리된 파일 포맷의 제2 모듈 파트를 기록하는 단계와, 제1 모듈 파트 및 제2 모듈 파트 사이의 관계를 설정하는 단계를 포함할 수 있다. 각 모듈 파트는 질의 받을 다른 모듈 파트들없이 분리하여 질의받을 수 있다.
이 방법은 또한 문서 파트와 파일 포맷 컨테이너 사이의 관계를 설정하는 단계를 포함할 수 있으며, 파일 포맷 컨테이너는 파일 포맷과 관련된 빌트 인 특성들을 포함하는 문서 특성과 파일 포맷과 관련된 섬네일을 포함하는 섬네일 파트를 포함한다.
또한, 이 방법은 공유될 다른 모듈 파트들이 단 한번 기록되는 관계 유형들과 관련된 다른 모듈 파트들을 기록하는 단계와 기록된 다른 모듈 파트들에 대해 관계들을 설정하는 단계를 포함할 수 있다. 관계 유형들과 관련된 다른 모듈 파트 들을 기록하는 단계는 이 문서와 관련된 데이터를 검사하는 단계, 검사된 데이터가 모듈 파트에 기록되었는지를 결정하는 단계, 및 검사된 데이터가 모듈 파트에 기록되지 않았을 때, 검사된 데이터를 포함하도록 모듈 파트를 기록하는 단계를 포함한다.
또 다른 실시예는, 컴퓨터로 하여금 파일 포맷으로 문서를 나타내도록, 저장된 제어 로직을 갖는 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품이며, 파일 포맷의 모듈 파트들은 파일 포맷에 기록된 각 파트를 포함한다. 제어 로직은, 컴퓨터로 하여금 파일 포맷의 문서 파트를 기록하고, 논리적으로 분리되지만 하나 이상의 관계들에 의해서 문서 파트와 관련된 모듈 파트와 관련될 관계 유형에 대해서 이 문서에 질문하고, 이 문서 파트로부터 분리된 파일 포맷의 모듈 파트를 기록하고, 문서 파트와 기록된 모듈 파트 사이의 관계를 설정하도록 하는 컴퓨터 판독 가능 프로그램 코드를 포함한다.
파트들을 함께 묶는(tying) 관계들의 이용은 별도로 하고, 또한 각 모듈 파트에 대한 콘텐트 유형들을 기술하는 모든 모듈 파트 또는 파일 내에 단일 파트(single part)가 있다. 이것은 어떤 유형의 콘텐트가 파일 내부에 있는지를 발견하도록 질문하는 예견가능한 장소(predictable place)를 제공한다.
본 발명은 컴퓨터 프로세서, 컴퓨팅 시스템을 사용하여, 또는 컴퓨터 프로그램 제품 또는 컴퓨터 판독 가능 매체와 같은 제조 물품으로서 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독 가능한 컴퓨터 저장 매체이며, 컴퓨터 프로세스를 실행하는 명령들의 컴퓨터 프로그램을 인코딩할 수 있다. 컴퓨 터 프로그램 제품은 또한 컴퓨팅 시스템에 의해 캐리어(carrier) 판독 가능한 전달 신호(propagated signal)일 수 있으며 컴퓨터 프로세스를 실행하는 명령들의 컴퓨터 프로그램을 인코딩할 수 있다.
이들 및 다양한 다른 특징들은 물론, 장점들은 본 발명을 특징지우며, 다음의 상세한 설명의 해석과 관련된 도면을 검토하여 분명해질 것이다.
이제 도면을 참조하면, 같은 숫자는 같은 구성 요소를 나타내며, 본 발명의 다양한 양상들이 기술될 것이다. 구체적으로, 도 1 및 대응하는 설명은 간략하고, 일반적으로 본 발명의 실시예들이 구현될 수 있는 적절한 컴퓨팅 환경에 대한 설명을 제공하려고 의도되었다. 본 발명이 퍼스널 컴퓨터 상의 운영 체제에서 구동하는 프로그램 모듈들과 관련하여 실행되는 프로그램 모듈들의 일반적인 환경에서 기술될 것이라고 해도, 당업자라면 본 발명이 또한 다른 유형의 컴퓨터 시스템 및 프로그램 모듈과 결합하여 구현될 수 있다는 것을 인식할 것이다.
일반적으로, 프로그램 모듈들은 루틴(routine), 프로그램, 오퍼레이션, 컴포넌트, 데이터 구조, 및 특정 업무를 수행하거나 특정한 추상 데이터 유형을 구현하는 다른 유형의 구조들을 포함한다. 또한, 본 발명이 핸드헬드 디바이스들, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램 가능 가전, 미니 컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성을 가지고 실시될 수 있다는 것을 당업자라면 인식할 것이다. 본 발명은 또한 통신 네트워크를 통해 링크된 원격 프로세싱 디바이스들에 의해 업무가 실행되는 분산 컴퓨팅 환경에서 실시 될 수도 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 저장 장치 모두에 위치될 수 있다.
이제 도 1을 참조하면, 본 발명의 실시예에서 사용되는 컴퓨터(2)에 대한 예시적인 컴퓨터 아키텍처가 기술될 것이다. 도 1에 도시된 컴퓨터 아키텍처는, CPU(5)와, RAM(9) 및 ROM(11)을 포함하는 시스템 메모리(7)와, 메모리를 CPU(5)에 연결하는 시스템 버스(12)를 포함하는, 서버, 데스크톱, 랩톱, 또는 핸드헬드 컴퓨팅 장치와 같은 컴퓨팅 장치를 예시한다. 시동 중에, 컴퓨터 내의 구성 요소들 사이의 정보 전달을 돕는 기본 루틴을 포함하는 기본 입력/출력 시스템이 ROM(11) 내에 저장된다. 컴퓨터(2)는 또한 운영 체제(16), 애플리케이션 프로그램, 및 다른 프로그램 모듈들을 저장하는 대용량 저장 장치(14)를 포함하는데, 이하 더욱 자세히 기술될 것이다.
대용량 저장 장치(14)는 버스(12)에 접속된 대용량 저장 컨트롤러(도시되지 않음)를 통해 CPU(5)에 접속된다. 대용량 저장 장치(14) 및 그와 관련된 컴퓨터 판독 가능 매체는 컴퓨터(2)에 비휘발성 저장소를 제공한다. 여기에 포함된 컴퓨터 판독 가능 매체의 설명이 하드 디스크 또는 CD-ROM 드라이브와 같은 대용량 저장 장치를 나타낸다고 해도, 컴퓨터 판독 가능 매체가 컴퓨터(2)에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다는 것은 당업자에게 자명한 것이다.
일례로서, 그리고 이에 제한하지 않고, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는, 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 및 다른 데이터와 같은 정보를 저장하는 임의의 방법 또는 기법으로 구현된 휘발성 및 비휘발성, 제거가능 및 제거불가능 매체를 포함한다. 컴퓨터 저장 매체는, RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 다른 고체 상태 메모리 기법, CD-ROM, DVD 또는 다른 광 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 장치, 또는 소정의 정보를 저장하는데 사용될 수 있으며 컴퓨터(2)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 제한되지 않는다.
본 발명의 다양한 실시예들에 따르면, 컴퓨터(2)는 인터넷과 같은 네트워크(18)를 통한 원격 컴퓨터들과의 논리적 접속을 사용하는 네트워크된 환경에서 동작할 수 있다. 컴퓨터(2)는 버스(12)에 접속된 네트워크 인터페이스 유닛(20)을 통해 네트워크에 접속될 수 있다. 네크워크 인터페이스 유닛(20)이 또한 다른 유형의 네트워크들 및 원격 컴퓨터 시스템들과 접속하기 위해서 사용되어질 수 있다는 것은 자명하다. 컴퓨터(2)는 또한 키보드, 마우스, 또는 전자 스타일러스(도 1에 도시되지 않음)를 포함하는 다수의 다른 디바이스들로부터 입력을 수신하고 처리하기 위한 입력/출력 컨트롤러(22)를 포함할 수 있다. 마찬가지로, 입력/출력 컨트롤러(22)는 디스플레이 스크린, 프린터, 또는 다른 유형의 출력 디바이스에 출력을 제공할 수 있다.
간략히 앞에서 언급한 바와 같이, 다수의 프로그램 모듈들 및 데이터 파일들은, 워싱턴주 레드몬드의 MICROSOFT사로부터 WINDOWS XP운영 체제와 같은 네트워크된 퍼스널 컴퓨터의 동작을 제어하기에 적절한 운영 체제(16)를 포함하는 컴퓨터(2)의 대용량 저장 장치(14) 및 RAM(9)에 저장될 수 있다. 대용량 저장 장치(14) 및 RAM(9)은 또한 하나 이상의 프로그램 모듈들을 저장할 수 있다. 구체적으로, 대용량 저장 장치(14) 및 RAM(9)은 워드 프로세싱 애플리케이션 프로그램(10)을 저장할 수 있다. 워드 프로세싱 애플리케이션 프로그램(10)은 XML 파일 포맷 및/또는 이진 파일 포맷과 같은 오픈 파일 포맷으로, 문서(27)와 같은 워드 프로세서 문서의 생성 및 구조에 기능성을 제공하는데 효과적이다. 본 발명의 일 실시예에 따라서, 워드 프로세싱 애플리케이션 프로그램(10) 및 다른 애플리케이션 프로그램(26)은 WORD, EXCEL, 및 POWERPOINT 애플리케이션 프로그램들을 포함하는 MICROSOFT사로부터의 애플리케이션 프로그램의 OFFICE 제품군을 포함한다.
본 발명의 실시예들은 문서 특징 및 데이터의 조직을 매우 단순화하고 명료화한다. 워드 프로세싱 프로그램(10)은 문서의 '파트(parts)'를 논리적이며, 분리된 조각들로 조직한 후 분리된 파트들 사이의 관계들을 나타낸다. 이들 관계들은 및 문서의 '파트들'의 논리적 분리는, 이를테면 개발자의 코드에 의해서 쉽게 액세스될 수 있는 새로운 파일 조직을 구성한다.
이제 도 2a-2c를 참조하면, 본 발명의 다양한 예시적인 실시예들에 따라 문서를 나타내기 위해서 파일 포맷(24)에서 이용되어진 다양한 모듈 파트들에 대한 워드 프로세서 문서 관계 계층 구조(word processor document relationship hierarchy; 208)를 예시하는 블록도가 기술될 것이다. 워드 프로세스 문서 관계 계층 구조(208)는, 예를 들어 관계 식별자(relationship identifier)를 통해, 모듈 파트의 콘텐트 내의 이 관계에 대한 명시적 참조(explicit reference)를 표시하는 명시적 참조 표시자(indicator)(205)를 사용하여 몇몇 특정 파일 포맷 관계들을 열 거한다. 일례는, 부모 또는 부모 파트가 관계를 갖는 모듈 파트들을 참조하는 참조 파트(referring part)에 의해 참조된 이미지 파트(260)이다. 본 발명의 몇몇 실시예들에서는, 부모 또는 참조 모듈 파트로부터, 예를 들면, 문서 파트(202)로부터 이미지 파트(260)에 대한 관계를 정확히 갖는 것은 충분하지 않을 것이다. 부모 파트는 또한 이미지가 어디로 가는지를 알도록 그 이미지 파트 관계 인라인(inline)에 대한 명시적 참조를 가질 필요가 있을 것이다. 비 명시적 표시자들(206)은, 참조 모듈 파트가 관련은 되지만, 부모 파트의 콘텐트에 직접 콜 아웃(call out)되지 않는다는 것을 표시한다. 일례는, 관련된 스타일시트(stylesheet)가 항상 존재하고, 그러므로 콘텐트 내에 스타일시트(261)를 콜 아웃할 필요가 없음을 암시하는 스타일시트(261)일 것이다. 스타일시트(261)를 찾고자 하는 모든 사람들의 요구는 단지 그 유형의 관계를 찾는 것이다. 유효성(validation)에 대한 옵션 관계는 이탤릭체로 표시된다.
프레젠테이션 계층 구조(208)의 다양한 모듈 파트들 또는 컴포넌트들은 논리적으로 분리되지만 하나 이상의 관계들과 관련된다. 각 모듈 파트는 또한 관계 유형과 관련되며, 워드 프로세싱 애플리케이션 프로그램(10)과 함께 또는 워드 프로세싱 애플리케이션 프로그램(10)없이, 및/또는 질의 받고/받거나 이해될 다른 모듈 파트들과 함께 또는 다른 모듈 파트들없이 분리하여 질의 받고 이해될 수 있다. 그러므로, 예를 들면, 문서 정보에 대해 모든 이진 기록을 통해 검색하는 대신에, 코드가 문서 내의 관계를 손쉽게 검사하고 파일 포맷(24) 내의 다른 특징 및 데이터를 효과적으로 무시하는 문서 파트들을 발견하도록 기록될 수 있기 때문에, 문서 의 콘텐트를 위치 지정하는 것이 더욱 쉽다. 따라서, 이 코드는 이전 질의 코드보다 훨씬 간단한 방식으로 문서를 통해 단계적으로 기록된다. 그러므로, 과거에는 지루했지만, 모든 이미지들을 제거하는 것과 같은 액션인 이제 덜 복잡해진다.
모듈 콘텐트 프레임워크는 모듈 파트들과 관련된 파일 포맷 컨테이너(207)를 포함할 수 있다. 모듈 파트들은, 문서의 특성에 대한 가이드로서 작용하는 문서 파트(202)를 포함한다. 문서 계층 구조(208)는 또한 파일 포맷(24)과 관련된 빌트 인 특성을 포함하는 문서 특성 파트(205)와, 파일 포맷(24)과 관련된 섬네일을 포함하는 섬네일 파트(209)를 포함할 수 있다. 각 모듈 파트는 문서로부터 추출되거나 복사되고 재사용되어진 모듈 파트의 관계들을 검토함으로써 식별된 관련된 모듈 파트들과 함께 다른 문서에서 재사용될 수 있다. 관련된 모듈 파트들은, 워드 프로세싱 애플리케이션(10)이 재사용된 모듈 파트의 인바운드(inbound) 및 아웃바운드(outbound) 관계들를 검토할 때 식별된다.
파트들을 함께 묶는 관계들의 사용에 대해서는 별도로 하고, 각 모듈 파트에 대한 콘텐트 유형들을 기술하는 모든 파일에는 단일 파트가 또한 존재한다. 이것은 파일의 내부에 어떤 유형의 콘텐트가 있는지를 발견하도록 질문할 예상가능한 장소를 제공한다. 부모 파트가 타깃 파트(이를테면, "이미지" 또는 "스타일시트")를 이용할 방법을 관계 유형이 기술하는 동안, 콘텐트 또는 파트 유형(203)은 실제 모듈 파트가 콘텐트 포맷에 관한 것(이를테면 JPEG 또는 XML)을 기술한다. 이것은 이해될 콘텐트를 찾는 것은 물론, (보안상의 이유 등으로) 원하지 않다고 간주될 수 있는 콘텐트를 빠르게 제거하는 것을 손쉽게 하는 것 모두를 지원한다. 이것에 대한 키(key)는, 워드 프로세싱 애플리케이션은 선언된 콘텐트 유형이 실제로 정확하다는 것을 강제해야 한다는 점이다. 선언된 콘텐트 유형들이 정확하지 않고, 실제의 콘텐트 유형 또는 모듈 파트의 포맷과 일치하지 않는다면, 워드 프로세싱 애플리케이션은 모듈 파트 또는 파일의 오픈에 실패해야 한다. 그렇지 않으면, 잠재적으로 악의있는 콘텐트가 오픈될 수 있다.
도 2b를 참조하면, 다른 모듈 파트들은 문서와 관련된 코멘트(comment)들을 포함하는 코멘트 파트(220), 예를 들면, 문서와 관련된 다양한 단어들의 정의를 포함하는 용어집인, 오토텍스트 파트(autotext part; 214), 및 문서의 텍스트와 관련된 데이터를 포함하는 청크 파트(chunk part; 218)를 포함할 수 있다. 또한, 모듈 파트들은 문서에서 판독되고 변화될 수 있는 사용자 지정(customized) 데이터를 포함하는 사용자 데이터 파트(222)와, 문서와 관련된 각주(footnote)를 포함하는 각주 파트(224)와, 문서와 관련된 미주(endnote)를 포함하는 미주 파트(225)를 포함할 수 있다.
다른 모듈 파트들은 문서와 관련된 바닥글(footer) 데이터를 포함하는 바닥글 파트(227)와, 문서와 관련된 머리글(header) 데이터를 포함하는 머리글 파트(229), 및 문서와 관련된 서지 사항(bibliography) 데이터 및/또는 서지 사항의 원본(underlying) 데이터를 포함하는 서지 사항 파트(231)를 포함한다. 또한, 모듈 파트들은 문서와 관련된 스프레드시트 객체를 정의하는 데이터를 포함하는 스프레드시트 파트(249), 문서와 관련된 객체를 포함하는 포함 객체(embeded object) 파트(251), 및 문서와 관련된 폰트를 정의하는 데이터를 포함하는 폰트 파트(253)를 포함할 수 있다.
도 2c를 참조하면, 모듈 파트들은 또한 드로잉 플랫폼(drawing platform)을 사용하여 드로잉 객체를 만드는 문서와 관련된, Escher 2.0. 객체와 같은 객체를 포함하는 드로잉 객체 파트(257)와, 문서의 사용자가 전자 메일을 통해 문서를 전달하는 봉투(envelope) 데이터를 포함하는 메일 봉투 파트(259)와, 코드 파일 파트가 외부 링크(270)를 통해 액세스될 수 있는 문서와 관련된 코드를 포함하는 코드 파일 파트(255)와, 문서와 관련된 하이퍼링크를 포함하는 하이퍼링크 파트(272) - 하이퍼링크 파트(272)는 URL포함함- 를 포함한다.
다른 모듈 파트들은 또한 문서와 관련된 객체를 포함하는 포함 객체 파트(251)와, 파일 포맷 컨테이너에서 판독되고 변화될 수 있는 사용자 지정 데이터를 포함하는 제2 사용자 데이터 파트(245)를 포함할 수 있다. 예로서, 본 발명의 실시예들은, 임의의 포함 객체가, 대응하는 관계가 표현된 파일 포맷(24) 내에 분리된 포함 객체 파트(251)를 갖기 때문에 프로그래머/개발자가 문서 내의 포함 객체를 위치 지정하기가 더욱 쉬워진다. 다른 모듈 파트들에서와 같이, 포함 객체 파트(251)는 논리적으로 준비되고 문서의 다른 특징들 및 데이터와 분리된다. 하나 이상의 관계에서 공유된 모듈 파트들은 통상적으로 메모리에 한번만 기록된다는 것을 인식해야 한다. 특정 모듈 파트들은 글로벌하므로, 파일 포맷의 어디에서나 사용될 수 있다는 점을 또한 인식해야 한다. 반대로, 몇몇 모듈 파트들은 글로벌하지 않으므로, 한정된 기본에서 공유되기만 할 수 있다.
본 발명의 다양한 실시예들에서, 파일 포맷(24)은 XML 및/또는 이진 포맷에 따라 포맷될 수 있다. 당업자들이 이해하고 있는 바와 같이, XML은 데이터를 교환하기 위한 표준 포맷이다. XML 데이터 포맷에서는, 문법상 그리고 교환될 데이터의 유형과 구조를 관리하는 데이터 타입 룰의 집합을 XML 데이터에 제공하기 위해서 스키마(schema)가 사용된다. XML 데이터 포맷은 당업자에게 공지되었으므로, 여기서 더욱 상세히 논의되지 않는다. XML 포맷팅은 엄밀하게 내부 메모리 구조를 반영한다. 그러므로, 로드(load)와 저장 속도의 증가가 입증된다.
본 발명의 실시예들은 문서를 더욱 프로그램적으로 액세스 가능하게 한다. 이것은, 단순히 이전 파일 포맷이 이루기 어려웠던 수 많은 새로운 사용을 가능하게 한다. 예를 들어, 본 발명의 실시예들을 사용하면, 서버측 프로그램이 그 입력에 기초하여 문서를 작성할 수 있다. 예를 들면, 1/1/2004-12/31/2004의 시간 기간 동안 회사 A에 보고서를 작성한다.
도 2a-2c는 또한 본 발명의 다양한 예시적인 실시예들에 따른 파일 포맷(24)에서 사용된 관계 유형들을 포함한다. 모듈 파트들과 관련된 관계 유형들은 관련성(association) 또는 의존성(dependency)을 식별할 뿐만 아니라 의존성의 근거를 식별한다. 관계 유형들은, 잠재적으로 유해한 코드 파일들을 식별할 수 있는 코드 파일 관계, 사용자 데이터 관계, 하이퍼링크 관계, 코멘트 관계, 포함 객체 관계, 드로잉 객체 관계, 이미지 관계, 메일 봉투 관계, 문서 특성 관계, 섬네일 관계, 용어집 관계, 청크 관계, 및 스프레드시트 관계를 포함한다.
도 2a를 참조하면, 모듈 파트들을 조직하기 위한 컬렉션 유형들을 열거하는 리스팅(211)을 또한 예시한다. 컬렉션 유형들은 코드 파일 파트(255)을 포함하는 코드 컬렉션과, 드로잉 객체 파트(257)를 포함하는 이미지 컬렉션과, 사용자 데이터 파트(222)를 포함하는 데이터 파트를 포함한다. 컬렉션 유형들은 또한 포함 객체 파트(251)를 포함하는 포함 컬렉션과, 폰트 파트(253)를 포함하는 폰트 컬렉션과, 코멘트 파트(220), 각주 파트(224), 미주 파트(225), 바닥글 파트(227), 머리글 파트(229) 및/또는 서지 사항 파트(231)를 포함하는 코멘트 컬렉션을 포함한다.
도 3-4는 본 발명의 예시적 실시예들에 따라서 모듈 콘텐트 프레임워크로 문서를 나타내도록 구현된 예시적인 루틴이다. 여기서 제시된 루틴의 설명을 읽을 때, 본 발명의 다양한 실시예들의 논리적 동작은, (1) 컴퓨터 구현된 액트 또는 컴퓨터 시스템 상에서 구동하는 프로그램 모듈의 시퀀스로서 및/또는 (2) 컴퓨팅 시스템 내의 상호 접속된 기계 논리 회로 또는 회로 모듈로서 구현된다는 점을 인식해야 한다. 이 구현은 본 발명을 구현하는 컴퓨터 시스템의 성능 요구 사항들에 의존한 선택의 문제이다. 따라서, 도 3-4에 예시되고, 여기서 기술된 본 발명의 실시예들을 구성하는 논리적 동작들은 동작, 구조적 디바이스들, 액트 또는 모듈로서 다양하게 언급된다. 이들 동작, 구조적 디바이스들, 액트 및 모듈들이, 여기서 기재된 특허청구범위 내에서 인용되는 바와 같이, 본 발명의 정신 및 범주에서 벗어나지 않고 소프트웨어, 펌웨어, 전용 디지털 로직, 및 이들의 임의의 조합으로 구현될 수 있다는 것을 당업자가 인식할 것이다.
이제 도 2a-2c 및 도 3을 참조하면, 루틴(300)은 워드 프로세싱 애플리케이션 프로그램(10)이 문서 파트(202)를 기록하는 동작 304에서 시작한다. 루틴(300)은 동작 304에서 동작 305까지 계속하며, 동작 305에서, 워드 프로세싱 애플리케이 션 프로그램(10)은 문서 파트로부터 논리적으로 분리되지만 하나 이상의 관계들에 의해 문서 파트와 관련된 모듈 파트들과 관련되는 관계 유형들에 대해 문서에 질문한다. 다음으로, 동작 308에서, 워드 프로세싱 애플리케이션(10)은 문서 파트와 분리된 파일 포맷의 모듈 파트들을 기록한다. 각 모듈 파트는 질의 받고 이해될 다른 모듈 파트들 없이 분리하여 질의 받을 수 있다. 다른 모듈 파트들과 공유될 임의의 모듈 파트는 단 한번만 기록된다. 이후에 루틴(300)은 동작 310에서 계속된다.
동작 310에서, 스프레드시트 애플리케이션(10)은 새롭게 기록된 모듈 파트와 이전에 기록된 모듈 파트 사이의 관계를 설정한다. 이후에 루틴(300)은 리턴 동작 312에서 종료된다.
이제 도 4를 참조하면, 모듈 파트들을 기록하기 위한 루틴(400)이 기술된다. 루틴(400)은 워드 프로세싱 애플리케이션(10)이 워드 프로세싱 애플리케이션 내의 데이터를 검사하는 동작 402에서 시작한다. 이후에 루틴(400)은, 데이터가 모듈 파트에 기록되었는지 여부를 결정하는 검출 동작 404에서 계속된다. 데이터가 모듈 파트에 기록되지 않을 때, 루틴(400)은 검출 동작 404로부터 동작 405까지 계속되며, 동작 405에서 워드 프로세싱 애플리케이션은 검사된 데이터를 포함하는 모듈 파트를 기록한다. 이후에, 루틴(400)은 이하 기술된 검출 동작 407에서 계속된다.
검출 동작(404)에서, 검사된 데이터가 모듈 파트에 기록되고, 검출 동작 404에서 검출 동작 407까지 루틴(400)이 계속된다. 검출 동작 407에서, 모든 데이터가 검사되었는지 여부가 결정된다. 모든 데이터가 검사되었다면, 루틴(400)은 리 턴 동작 412에서 다른 동작을 제어하도록 리턴한다. 검사할 데이터가 여전히 많다면, 루틴(400)은 검출 동작 407에서 워드 프로세싱 애플리케이션(10)이 다른 데이터를 지적하는 동작 410까지 계속된다. 이후에 루틴(400)은 상술한 동작 402로 리턴한다.
전술한 바에 근거하여, 본 발명의 다양한 실시예들은 모듈 콘텐트 프레임워크로 문서를 나타내기 위한 파일 포맷, 방법 및 컴퓨터 프로그램 제품을 포함한다는 점을 인식해야 한다. 상기 설명, 예제들 및 데이터는 제조의 완전한 설명 및 본 발명의 구성의 사용을 제공한다. 본 발명의 많은 실시예들이 본 발명의 정신 및 범주에서 벗어나지 않기 때문에, 본 발명은 이하 첨부된 특허청구범위에 귀속한다.
모듈 콘텐트 프레임워크로 문서를 나타내는 파일 포맷, 방법 및 컴퓨터 프로그램 제품이 제공된다. 본 발명에서 분리된 파일들은 관계들과 관련되며, 각 분리된 관계는 관계 유형을 갖는다. 이러한 설계는 워드 프로세싱 애플리케이션이 문서 특징 및 데이터를 조직하는 방식을 매우 단순화하고, 혼동이 적은 논리 모델을 제시한다.

Claims (20)

  1. 워드 프로세싱 애플리케이션에 의해 생성된 문서를 나타내는 파일 포맷으로서, 상기 파일 포맷은 컴퓨팅 장치 내에서 구현된 모듈 콘텐트 프레임워크(module content framework)로 상기 문서를 표현하며, 상기 파일 포맷은,
    논리적으로 분리(separate)되지만 하나 이상의 관계들(relationships)에 의해 관련된 모듈 파트들(module parts) - 각각의 모듈 파트는 관계 유형과 관련되고, 상기 모듈 파트들은,
    상기 문서의 특성에 대한 가이드로서 작용하는 문서 파트
    를 포함함 -
    를 포함하며, 각 모듈 파트는 질의(interrogate)받을 다른 모듈 파트들없이 분리하여 질의받을 수 있는 파일 포맷.
  2. 제1항에 있어서, 상기 모듈 콘텐트 프레임워크는 상기 모듈 파트들과 관련된 파일 포맷 컨테이너를 포함하며, 상기 모듈 파트들은,
    상기 파일 포맷과 관련된 빌트 인 특성을 포함하는 문서 특성 파트와,
    상기 파일 포맷과 관련된 섬네일(thumbnail)를 포함하는 섬네일 파트
    를 더 포함하는 파일 포맷.
  3. 제1항에 있어서, 각 모듈 파트는 상기 문서로부터 추출되고 복사되며, 재사 용된 상기 모듈 파트의 관계들을 검토(traverse)함으로써 확인된 관련된 모듈 파트들과 함께 다른 문서에서 재사용될 수 있는 파일 포맷.
  4. 제3항에 있어서, 상기 모듈 파트들은,
    상기 문서와 관련된 코멘트(comment)들을 포함하는 코멘트 파트.
    상기 문서와 관련된 여러 단어들의 정의를 포함하는 용어집 파트, 및
    상기 문서의 텍스트와 관련된 데이터를 포함하는 청크(chunk) 파트
    중 적어도 하나를 더 포함하는 파일 포맷.
  5. 제4항에 있어서, 상기 모듈 파트들은 상기 문서 내에서 판독되고 변화될 수 있는 사용자 지정된(customized) 데이터를 포함하는 사용자 데이터 파트를 더 포함하는 파일 포맷.
  6. 제4항에 있어서, 상기 모듈 파트들은,
    상기 문서와 관련된 각주(footnote)들을 포함하는 각주 파트,
    상기 문서와 관련된 미주(endnote)들을 포함하는 미주 파트,
    상기 문서와 관련된 바닥글(footer) 데이터를 포함하는 바닥글 파트,
    상기 문서와 관련된 머리글(header) 데이터를 포함하는 머리글 파트, 및
    상기 문서와 관련된 서지 사항(bibliography)의 서지 사항 데이터 및 원본(underlying) 데이터 중 적어도 하나를 포함하는 서지 사항 파트
    중 적어도 하나를 더 포함하는 파일 포맷.
  7. 제4항에 있어서, 상기 모듈 파트들은,
    상기 문서와 관련된 스프레드시트 객체를 정의하는 데이터를 포함하는 스프레트시트 파트,
    상기 문서와 관련된 객체를 포함하는 포함(embeded) 객체 파트,
    상기 문서와 관련된 폰트를 정의하는 데이터를 포함하는 폰트 파트,
    상기 문서와 관련된 객체를 포함하는 드로잉 객체 파트 - 상기 드로잉 객체 파트는 드로잉 플랫폼을 사용하여 형성됨 -,
    상기 문서의 사용자가 전자 메일을 통해 상기 문서를 전달하는 봉투(envelope) 데이터를 포함하는 메일 봉투 파트,
    상기 문서와 관련된 코드를 포함하는 코드 파일 파트 - 상기 코드 파일 파트는 외부 링크를 통해 액세스될 수 있음 - , 및
    상기 문서와 관련된 하이퍼링크(hyperlink)를 포함하는 하이퍼링크 파트 - 상기 하이퍼링크 파트는 URL(uniform resource locator)을 포함함 -
    중 적어도 하나를 더 포함하는 파일 포맷.
  8. 제7항에 있어서, 상기 모듈 파트들의 적어도 몇몇은 컬렉션(collection) 유형들로 조직되며, 상기 컬렉션 유형들은,
    상기 코드 파일 파트를 포함하는 코드 컬렉션,
    상기 드로잉 객체 파트를 포함하는 이미지 컬렉션,
    상기 사용자 데이터 파트를 포함하는 데이터 파트,
    상기 포함 객체 파트를 포함하는 포함 컬렉션,
    상기 폰트 파트를 포함하는 폰트 컬렉션, 및
    상기 코멘트 파트, 상기 주석 파트, 상기 미주 파트, 상기 바닥글 파트, 상기 머리글 파트 및 서지 사항 파트 중 적어도 하나를 포함하는 코멘트 컬렉션
    중 적어도 하나를 포함하는 파일 포맷.
  9. 제3항에 있어서, 상기 모듈 파트들과 관련된 상기 관계 유형들은, 잠재적으로 유해한 코드 파일들을 식별할 수 있는 코드 파일 관계, 사용자 데이터 관계, 하이퍼링크 관계, 코멘트 관계, 포함 객체 관계, 드로잉 객체 관계, 이미지 관계, 메일 봉투 관계, 문서 특성 관계, 섬네일 관계, 용어집 관계, 청크 관계, 및 스프레드시트 관계 중 적어도 하나를 포함하는 파일 포맷.
  10. 제3항에 있어서, 상기 문서의 콘텐트는 상기 문서로부터 추출되고 복사되며, 다른 문서에서 재사용될 수 있는 파일 포맷.
  11. 제3항에 있어서, 각 모듈 파트는 다른 모듈 파트들이 잠김(locking) 가능하게 유지되는 동안 분리하여 잠겨질 수 있으며, 그에 의해 다중 편집자들이 상기 파일 포맷의 모듈 파트를 각각 동시에 편집할 수 있는 파일 포맷.
  12. 제3항에 있어서, 상기 모듈 파트들은 모듈 파트가 질의받을 때 상기 문서내의 콘텐트에 대한 의미 구조(semantics)를 제공할 수 있는 파일 포맷.
  13. 제3항에 있어서, 상기 파일 포맷은 상기 문서 내의 각 페이지의 고 해상도 섬네일 미리보기(preview)를 제공하 수 있는 파일 포맷.
  14. 제1항에 있어서, 상기 파일 포맷은 마크업 언어 포맷 및 이진 포맷 중 적어오 하나에 따라서 포맷되는 파일 포맷.
  15. 제1항에 있어서, 적어도 하나의 모듈 파트는 적어도 하나의 모듈 파트의 콘텐트 포맷을 선언하는 콘텐트 유형을 포함하고 그에 의해 상기 콘텐트 유형의 질문(query)는 질문된 적어도 하나의 모듈 파트의 상기 콘텐트 포맷을 확인하는 파일 포맷.
  16. 제15항에 있어서, 선언된 상기 콘텐트 포맷이 정확하지 않을 때, 상기 워드 프로세싱 애플리케이션은 상기 적어도 하나의 모듈 파트를 오픈하지 못하는 포맷 파일.
  17. 파일 포맷으로 문서를 나타내는 방법으로서, 상기 문서와 관련된 모듈 파트 들은 상기 파일 포맷에 기록된 각 파트를 포함하며, 상기 방법은,
    상기 파일 포맷의 제1 모듈 파트를 기록하는 단계,
    상기 제1 모듈 파트와 논리적으로 분리되지만, 하나 이상의 관계들에 의해 상기 제1 모듈 파트와 관련되는 모듈 파트들과 관련된 관계 유형들에 대해 상기 문서에 질문하는 단계,
    상기 제1 모듈 파트로부터 분리된 상기 파일 포맷의 제2 모듈 파트를 기록하는 단계, 및
    상기 제1 모듈 파트와 상기 제2 모듈 파트 사이의 관계를 설정하는 단계
    를 포함하며, 각 모듈 파트는 질의 받을 다른 모듈 파트들없이 분리하여 질의받을 수 있는 방법.
  18. 제17항에 있어서,
    공유될 상기 다른 모듈 파트들이 단 한번 기록되는 관계 유형들과 관련된 다른 모듈 파트들을 기록하는 단계와,
    기록된 상기 다른 모듈 파트들에 대해 관계를 설정하는 단계
    를 더 포함하는 방법.
  19. 제18항에 있어서, 상기 관계 유형과 관련된 상기 다른 모듈 파트들을 기록하는 단계는,
    a) 상기 문서와 관련된 데이터를 검사(examine)하는 단계,
    b) 검사된 상기 데이터가 모듈 파트에 기록되었는지 여부를 결정하는 단계,
    c) 검사된 상기 데이터가 상기 모듈 파트에 기록되지 않았을 때, 검사된 상기 데이터를 포함하도록 상기 모듈 파트를 기록하는 단계,
    d) 상기 문서와 관련된 다른 데이터가 검사되었는지 여부를 결정하는 단계,
    e) 상기 다른 데이터가 검사되지 않았다는 결정에 응답하여 상기 문서와 관련된 상기 다른 데이터를 검사하는 단계, 및
    b)에서 e)를 반복하는 단계
    를 포함하는 방법.
  20. 컴퓨터로 하여금 모듈 파트들을 포함하는 파일 포맷으로 문서를 나타내도록 그 안에 저장된 제어 로직을 갖는 컴퓨터 판독 가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 파일 포맷의 상기 모듈 파트들은 상기 파일 포맷으로 기록된 각 파트를 포함하고, 상기 제어 로직은 상기 컴퓨터로 하여금,
    상기 파일 포맷의 문서 파트를 기록하고,
    논리적으로 분리되지만 하나 이상의 관계들에 의해 관련된 모듈 파트와 관련된 관계 유형에 대해 상기 문서를 질문하고,
    상기 문서 파트로부터 분리된 상기 파일 포맷의 상기 모듈 파트를 기록하고,
    상기 문서 파트와 기록된 상기 모듈 파트 사이의 관계를 설정하도록 하는 컴퓨터 판독 가능 프로그램 코드를 포함하는 컴퓨터 판독 가능 매체.
KR1020050105991A 2004-12-20 2005-11-07 문서를 나타내기 위한 파일 포맷, 방법 및 컴퓨터 프로그램제품 KR20060070420A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/018,718 2004-12-20
US11/018,718 US20060136816A1 (en) 2004-12-20 2004-12-20 File formats, methods, and computer program products for representing documents

Publications (1)

Publication Number Publication Date
KR20060070420A true KR20060070420A (ko) 2006-06-23

Family

ID=36218129

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050105991A KR20060070420A (ko) 2004-12-20 2005-11-07 문서를 나타내기 위한 파일 포맷, 방법 및 컴퓨터 프로그램제품

Country Status (12)

Country Link
US (1) US20060136816A1 (ko)
EP (1) EP1672526A3 (ko)
JP (1) JP2006178944A (ko)
KR (1) KR20060070420A (ko)
CN (1) CN1794225A (ko)
AU (1) AU2005225140A1 (ko)
BR (1) BRPI0505583A (ko)
CA (1) CA2526288A1 (ko)
MX (1) MXPA05012553A (ko)
RU (1) RU2005139787A (ko)
TW (1) TW200627282A (ko)
ZA (1) ZA200509352B (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512878B2 (en) * 2004-04-30 2009-03-31 Microsoft Corporation Modular document format
US8661332B2 (en) * 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US7383500B2 (en) * 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US7487448B2 (en) * 2004-04-30 2009-02-03 Microsoft Corporation Document mark up methods and systems
US7617450B2 (en) * 2004-09-30 2009-11-10 Microsoft Corporation Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document
US20080104203A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Viewing Digital Information Over a Network
JP2008146624A (ja) * 2006-11-15 2008-06-26 Sony Corp コンテンツのフィルタリング方法、フィルタリング装置およびフィルタリングプログラム
US7855799B2 (en) * 2007-01-16 2010-12-21 Shah Pradip K Print workflow automation
US8281234B2 (en) * 2007-03-20 2012-10-02 Microsoft Corporation Definable application assistant
US7823076B2 (en) * 2007-07-13 2010-10-26 Adobe Systems Incorporated Simplified user interface navigation
US10133719B2 (en) 2007-09-28 2018-11-20 Microsoft Technology Licensing, Llc Spreadsheet workbook part libraries
US20110091844A1 (en) * 2009-10-20 2011-04-21 Best Roger J Virtual book
EP2625655A4 (en) 2010-10-06 2014-04-16 Planet Data Solutions SYSTEM AND METHOD FOR INDEXING ELECTRONIC DETECTION DATA
EP2691871A4 (en) * 2011-03-31 2014-08-27 Lukup Media Pvt Ltd SYSTEM AND METHOD FOR PRODUCING AND DISTRIBUTING PLATFORM-INDEPENDENT INTERACTIVE APPLICATIONS TO USER DEVICES
CN102254045B (zh) * 2011-08-17 2013-04-03 北京数码大方科技股份有限公司 图形文件的处理方法及装置

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4594674A (en) * 1983-02-18 1986-06-10 International Business Machines Corporation Generating and storing electronic fonts
US4649513A (en) * 1983-11-15 1987-03-10 International Business Machines Corporation Apparatus and method for processing system printing data records on a page printer
US5222205A (en) * 1990-03-16 1993-06-22 Hewlett-Packard Company Method for generating addresses to textured graphics primitives stored in rip maps
US5745910A (en) * 1993-05-10 1998-04-28 Apple Computer, Inc. Frame structure which provides an interface between parts of a compound document
US5487138A (en) * 1993-09-02 1996-01-23 Hewlett-Packard Company Method to reduce memory requirements in Asian printers while improving performance
US5752056A (en) * 1994-03-02 1998-05-12 Apple Computer, Inc. System for binding document parts and handlers by fidelity of parts or by automatic translation of parts
US5608909A (en) * 1994-04-15 1997-03-04 Microsoft Corporation Method and system for caching presentation data of a source object in a presentation cache
US5649083A (en) * 1994-04-15 1997-07-15 Hewlett-Packard Company System and method for dithering and quantizing image data to optimize visual quality of a color recovered image
JPH08297669A (ja) * 1994-12-27 1996-11-12 Internatl Business Mach Corp <Ibm> 複合ドキュメント内の複数のパートを自動的にリンクするシステムおよび方法
US6199082B1 (en) * 1995-07-17 2001-03-06 Microsoft Corporation Method for delivering separate design and content in a multimedia publishing system
JPH09212508A (ja) * 1996-01-30 1997-08-15 Fuji Xerox Co Ltd 文書処理装置
US5893109A (en) * 1996-03-15 1999-04-06 Inso Providence Corporation Generation of chunks of a long document for an electronic book system
US5903903A (en) * 1996-04-25 1999-05-11 Microsoft Corporation System for determining the sequence and placement of pages for a multiple-page document
US5903905A (en) * 1996-04-30 1999-05-11 Microsoft Corporation Method for simultaneously constructing and displaying a dynamic preview of a document that provides an accurate customized document
US5933841A (en) * 1996-05-17 1999-08-03 Ameritech Corporation Structured document browser
US6026416A (en) * 1996-05-30 2000-02-15 Microsoft Corp. System and method for storing, viewing, editing, and processing ordered sections having different file formats
US6596032B2 (en) * 1996-10-15 2003-07-22 Fujitsu Limited Document processing apparatus storing and modifying data using effect data
US6023714A (en) * 1997-04-24 2000-02-08 Microsoft Corporation Method and system for dynamically adapting the layout of a document to an output device
AU8380998A (en) * 1997-07-01 1999-01-25 Sanga International, Inc. Platform-independent universal data access system and method in a client-server environment
US6182080B1 (en) * 1997-09-12 2001-01-30 Netvoyage Corporation System, method and computer program product for storage of a plurality of documents within a single file
GB9800100D0 (en) * 1998-01-06 1998-03-04 Ibm A method and component for presentation of information
US6212530B1 (en) * 1998-05-12 2001-04-03 Compaq Computer Corporation Method and apparatus based on relational database design techniques supporting modeling, analysis and automatic hypertext generation for structured document collections
US6182096B1 (en) * 1998-06-30 2001-01-30 International Business Machines Corporation Method and apparatus of creating highly portable output files by combining pages from multiple input files
US6067531A (en) * 1998-07-21 2000-05-23 Mci Communications Corporation Automated contract negotiator/generation system and method
US6538760B1 (en) * 1998-09-08 2003-03-25 International Business Machines Corp. Method and apparatus for generating a production print stream from files optimized for viewing
US6715126B1 (en) * 1998-09-16 2004-03-30 International Business Machines Corporation Efficient streaming of synchronized web content from multiple sources
US6549918B1 (en) * 1998-09-21 2003-04-15 Microsoft Corporation Dynamic information format conversion
US6362870B2 (en) * 1998-10-26 2002-03-26 Hewlett-Packard Company Image copier having enhanced duplex capabilities; method of printing a copy of a document to produce a duplex copy product
US6342904B1 (en) * 1998-12-17 2002-01-29 Newstakes, Inc. Creating a slide presentation from full motion video
US6993527B1 (en) * 1998-12-21 2006-01-31 Adobe Systems Incorporated Describing documents and expressing document structure
US6675356B1 (en) * 1998-12-22 2004-01-06 Xerox Corporation Distributed document-based calendaring system
US6507856B1 (en) * 1999-01-05 2003-01-14 International Business Machines Corporation Dynamic business process automation system using XML documents
US6674540B1 (en) * 1999-05-24 2004-01-06 Hewlett-Packard Development Company, L.P. Assembling and printing compound documents
US6675353B1 (en) * 1999-07-26 2004-01-06 Microsoft Corporation Methods and systems for generating XML documents
US6694485B1 (en) * 1999-07-27 2004-02-17 International Business Machines Corporation Enhanced viewing of hypertext markup language file
WO2001044934A1 (en) * 1999-12-15 2001-06-21 Sun Microsystems, Inc. Preparation of a software configuration using an xml type programming language
US20010044813A1 (en) * 2000-01-10 2001-11-22 Frank Kenneth B. Document production platform
DE60139157D1 (de) * 2000-01-14 2009-08-13 Thinkstream Inc Verteiltes informationsnetzwerk mit globalem zugriff
JP2003525492A (ja) * 2000-03-01 2003-08-26 セルトレックス リミテッド 高速文書変換のためのシステムおよび方法
CA2404337A1 (en) * 2000-03-27 2001-10-04 Documentum, Inc. Method and apparatus for generating metadata for a document
JP2001282603A (ja) * 2000-03-29 2001-10-12 Toshihiro Wakayama 情報コンテンツの連携管理システム
WO2001077847A1 (en) * 2000-04-07 2001-10-18 Financeware.Com Method and apparatus for rendering electronic documents
US7055095B1 (en) * 2000-04-14 2006-05-30 Picsel Research Limited Systems and methods for digital document processing
US20040049737A1 (en) * 2000-04-26 2004-03-11 Novarra, Inc. System and method for displaying information content with selective horizontal scrolling
US6509974B1 (en) * 2000-05-17 2003-01-21 Heidelberger Druckmaschinen Ag Automated job creation for job preparation
FR2828307B1 (fr) * 2000-05-18 2004-10-22 Il System Procede pour la constitution d'une base de donnees relative aux informations contenues dans un document
US6681223B1 (en) * 2000-07-27 2004-01-20 International Business Machines Corporation System and method of performing profile matching with a structured document
US20020049790A1 (en) * 2000-08-08 2002-04-25 Ricker Jeffrey M Data interchange format transformation method and data dictionary used therefor
WO2002017115A2 (en) * 2000-08-21 2002-02-28 Thoughtslinger Corporation Simultaneous multi-user document editing system
US7584413B2 (en) * 2000-09-12 2009-09-01 Canon Kabuhsiki Kaisha Electronic document binder builder
US7051276B1 (en) * 2000-09-27 2006-05-23 Microsoft Corporation View templates for HTML source documents
US20020065857A1 (en) * 2000-10-04 2002-05-30 Zbigniew Michalewicz System and method for analysis and clustering of documents for search engine
FR2818409B1 (fr) * 2000-12-18 2003-03-14 Expaway Procede pour diviser des documents structures en plusieurs parties
US20020169738A1 (en) * 2001-05-10 2002-11-14 Giel Peter Van Method and system for auditing an enterprise configuration
US20040015890A1 (en) * 2001-05-11 2004-01-22 Windriver Systems, Inc. System and method for adapting files for backward compatibility
US8001465B2 (en) * 2001-06-26 2011-08-16 Kudrollis Software Inventions Pvt. Ltd. Compacting an information array display to cope with two dimensional display space constraint
US6968504B2 (en) * 2001-06-29 2005-11-22 Microsoft Corporation Automated document formatting tool
US7133862B2 (en) * 2001-08-13 2006-11-07 Xerox Corporation System with user directed enrichment and import/export control
US6732090B2 (en) * 2001-08-13 2004-05-04 Xerox Corporation Meta-document management system with user definable personalities
US9460414B2 (en) * 2001-08-28 2016-10-04 Eugene M. Lee Computer assisted and/or implemented process and system for annotating and/or linking documents and data, optionally in an intellectual property management system
US6594184B2 (en) * 2001-09-06 2003-07-15 Sun Microsystems, Inc. System and method for accessing a memory array which tolerates non-exclusive read select enables
GB2380016A (en) * 2001-09-21 2003-03-26 Hewlett Packard Co Generating a contract
US7054841B1 (en) * 2001-09-27 2006-05-30 I2 Technologies Us, Inc. Document storage and classification
US20030065946A1 (en) * 2001-10-01 2003-04-03 Holliday John F. Paragraph management software system
GB2381424B (en) * 2001-10-26 2005-01-05 Roke Manor Research A method of controlling the amount of data transferred between a terminal and a server
NO316480B1 (no) * 2001-11-15 2004-01-26 Forinnova As Fremgangsmåte og system for tekstuell granskning og oppdagelse
US7155670B2 (en) * 2002-01-18 2006-12-26 Internet Disclosure Co., Ltd. Document authoring system and authoring management program
US20040030987A1 (en) * 2002-04-30 2004-02-12 Manelli Donald D. Method for generating customized patient education documents
US7669120B2 (en) * 2002-06-21 2010-02-23 Microsoft Corporation Method and system for encoding a mark-up language document
US7523394B2 (en) * 2002-06-28 2009-04-21 Microsoft Corporation Word-processing document stored in a single XML file that may be manipulated by applications that understand XML
US20040015782A1 (en) * 2002-07-17 2004-01-22 Day Young Francis Templating method for automated generation of print product catalogs
AU2003259744A1 (en) * 2002-08-09 2004-02-25 Corticon Technologies, Inc. Rule engine
US7127479B2 (en) * 2002-09-16 2006-10-24 Veritas Operating Corporation One-pass node-based message processing
EP1403778A1 (en) * 2002-09-27 2004-03-31 Sony International (Europe) GmbH Adaptive multimedia integration language (AMIL) for adaptive multimedia applications and presentations
US20040066527A1 (en) * 2002-10-02 2004-04-08 Nexpress Solutions Llc Finish verification in printing
JP2004139484A (ja) * 2002-10-21 2004-05-13 Hitachi Ltd 帳票処理装置、該装置実行のためのプログラム、及び、帳票書式作成プログラム
KR100636909B1 (ko) * 2002-11-14 2006-10-19 엘지전자 주식회사 확장성 표기 언어 기반의 전자문서 버전 매김 및 버전을이용한 갱신 문서 제공 방법
US20040103073A1 (en) * 2002-11-21 2004-05-27 Blake M. Brian System for and method of using component-based development and web tools to support a distributed data management system
US7168035B1 (en) * 2003-06-11 2007-01-23 Microsoft Corporation Building a view on markup language data through a set of components
US7299410B2 (en) * 2003-07-01 2007-11-20 Microsoft Corporation System and method for reporting hierarchically arranged data in markup language formats
US20050022113A1 (en) * 2003-07-24 2005-01-27 Hanlon Robert Eliot System and method to efficiently switch between paper, electronic and audio versions of documents
US7171618B2 (en) * 2003-07-30 2007-01-30 Xerox Corporation Multi-versioned documents and method for creation and use thereof
US20050066335A1 (en) * 2003-09-23 2005-03-24 Robert Aarts System and method for exposing local clipboard functionality towards external applications
US20050063010A1 (en) * 2003-09-24 2005-03-24 Hewlett-Packard Development Company, L.P. Multiple flow rendering using dynamic content
US7694293B2 (en) * 2003-09-26 2010-04-06 Hewlett-Packard Development Company, L.P. Update package catalog for update package transfer between generator and content server in a network
US7721254B2 (en) * 2003-10-24 2010-05-18 Microsoft Corporation Programming interface for a computer platform
US8065616B2 (en) * 2003-10-27 2011-11-22 Nokia Corporation Multimedia presentation editor for a small-display communication terminal or computing device
US8074184B2 (en) * 2003-11-07 2011-12-06 Mocrosoft Corporation Modifying electronic documents with recognized content or other associated data
JP4194476B2 (ja) * 2003-11-13 2008-12-10 キヤノン株式会社 文書処理装置及び文書処理方法
US7650512B2 (en) * 2003-11-18 2010-01-19 Oracle International Corporation Method of and system for searching unstructured data stored in a database
US7487448B2 (en) * 2004-04-30 2009-02-03 Microsoft Corporation Document mark up methods and systems
US7383500B2 (en) * 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US7788662B2 (en) * 2004-07-28 2010-08-31 Microsoft Corporation Automatic upgrade of pluggable components
US9286275B2 (en) * 2004-08-23 2016-03-15 Oracle America, Inc. System and method for automatically generating XML schema for validating XML input documents
US7636891B2 (en) * 2004-08-31 2009-12-22 Research In Motion Limited Method for paginating a document structure of a document for viewing on a mobile communication device
US7712027B2 (en) * 2004-08-31 2010-05-04 Research In Motion Limited Method for document page delivery to a mobile communication device
US7617450B2 (en) * 2004-09-30 2009-11-10 Microsoft Corporation Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document
US20060080316A1 (en) * 2004-10-08 2006-04-13 Meridio Ltd Multiple indexing of an electronic document to selectively permit access to the content and metadata thereof
DE102005026864A1 (de) * 2005-06-10 2006-12-14 Bayer Materialscience Ag Verfahren zur Herstellung von 4,4'-Diphenylmethandiisocyanat

Also Published As

Publication number Publication date
AU2005225140A1 (en) 2006-07-06
RU2005139787A (ru) 2007-06-27
CA2526288A1 (en) 2006-06-20
EP1672526A3 (en) 2008-01-16
CN1794225A (zh) 2006-06-28
TW200627282A (en) 2006-08-01
US20060136816A1 (en) 2006-06-22
EP1672526A2 (en) 2006-06-21
MXPA05012553A (es) 2006-06-19
JP2006178944A (ja) 2006-07-06
BRPI0505583A (pt) 2006-09-12
ZA200509352B (en) 2008-04-30

Similar Documents

Publication Publication Date Title
KR20060070420A (ko) 문서를 나타내기 위한 파일 포맷, 방법 및 컴퓨터 프로그램제품
US7617444B2 (en) File formats, methods, and computer program products for representing workbooks
US7617451B2 (en) Structuring data for word processing documents
TWI399654B (zh) 用於索引檔案容器內容之方法及用於索引殼層命名空間延伸之內容的系統與電腦儲存媒體
US10635744B2 (en) File format agnostic document viewing, link creation and validation in a multi-domain document hierarchy
US7290205B2 (en) System and method for management of document cross-reference links
RU2400816C2 (ru) Форматы файлов, способы и компьютерные программные продукты для представления презентаций
US20070022128A1 (en) Structuring data for spreadsheet documents
US20060277452A1 (en) Structuring data for presentation documents
US7673235B2 (en) Method and apparatus for utilizing an object model to manage document parts for use in an electronic document
US20070277095A1 (en) Data Processing Device And Data Processing Method
US20080040588A1 (en) Data Processing Device and Data Processing Method
CA2526593A1 (en) Management and use of data in a computer-generated document
US20060259854A1 (en) Structuring an electronic document for efficient identification and use of document parts
US20080133563A1 (en) Data Processing Device And Data Processing Method
US20070185832A1 (en) Managing tasks for multiple file types
US20080162530A1 (en) Method and Apparatus for Utilizing an Extensible Markup Language Data Structure For Defining a Data-Analysis Parts Container For Use in a Word Processor Application
Rose et al. Virtual XML: A toolbox and use cases for the XML world view
WO2006133136A2 (en) Structuring data for word processing documents
JP2007501464A (ja) Xml文書の確率に基づく検証のための方法およびシステム
US20110246870A1 (en) Validating markup language schemas and semantic constraints
Wright et al. Introducing System. Xml
Schemas Integrating Heterogeneous OO Schemas
Kuikka et al. Survey of software for structured text
Chiang Engineering Information into Open Documents

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid