KR20060070418A - 교체 포맷들을 가진 컨텍스트-프리 문서 부분들 - Google Patents

교체 포맷들을 가진 컨텍스트-프리 문서 부분들 Download PDF

Info

Publication number
KR20060070418A
KR20060070418A KR1020050103811A KR20050103811A KR20060070418A KR 20060070418 A KR20060070418 A KR 20060070418A KR 1020050103811 A KR1020050103811 A KR 1020050103811A KR 20050103811 A KR20050103811 A KR 20050103811A KR 20060070418 A KR20060070418 A KR 20060070418A
Authority
KR
South Korea
Prior art keywords
content portion
document
computer
generated document
file format
Prior art date
Application number
KR1020050103811A
Other languages
English (en)
Other versions
KR101130386B1 (ko
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 KR20060070418A publication Critical patent/KR20060070418A/ko
Application granted granted Critical
Publication of KR101130386B1 publication Critical patent/KR101130386B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • 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
    • 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/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Document Processing Apparatus (AREA)

Abstract

컴퓨터 생성 문서와의 연관 또는 컴퓨터 생성 문서 내의 삽입을 위해 텍스트 또는 데이터의 자기 기술 부분들이 제공된다. 개별 단락 또는 단락 그룹 또는 텍스트 조각과 같은 문서의 부분들에는 그 부분과 연관된 파일 포맷 타입, 스타일, 폰트, 리스트 타입 등과 같은 자기 기술 속성이 제공된다. 이러한 문서의 일부가 후속적으로 제2 문서 또는 제1 문서의 다른 위치에 링크 또는 복사 또는 이동되는 경우, 그 부분에 제공된 자기 기술 속성은 그 부분과 함께 제2 문서 또는 제1 문서의 다른 위치로 이동하게 된다. 콘텐츠 부분을 수신하는 애플리케이션은 그 부분에 제공된 속성에 따라 그 부분을 소비하고 표시할 수 있다.
컨텍스트-프리, 문서, 콘텐츠, 애플리케이션, 교체 포맷

Description

교체 포맷들을 가진 컨텍스트-프리 문서 부분들{CONTEXT-FREE DOCUMENT PORTIONS WITH ALTERNATE FORMATS}
도 1은 본 발명을 위한 예시적인 동작 환경을 제공하는 컴퓨팅 시스템 및 관련 주변 장치 및 네트워크 장치의 간단한 블록도.
도 2는 객체 지향 프로그래밍 모델에 따른 소프트웨어 객체들 간의 상호작용을 나타내는 간단한 블록도.
도 3은 문서, 첨부 스키마 파일 및 스키마 검증 기능 모델 간의 상호작용을 나타내는 블록도.
도 4는 본 발명의 실시예들에 따라 텍스트의 일부가 제2 문서에서 제1 문서로 복사 또는 이동되는 제1 문서와 제2 문서 간의 상호작용을 나타내는 블록도.
도 5는 본 발명의 실시예들에 따라 텍스트의 일부가 제2 문서에서 제1 문서로 복사 또는 이동되는 제1 문서와 제2 문서 간의 상호작용을 나타내는 블록도.
도 6은 본 발명의 실시예들에 따라 자기 기술 교체 파일 포맷들을 가진 컨텍스트-프리 문서 부분들 또는 컴포넌트들의 XML 기반 문서 내로의 삽입을 나타내는 간단한 블록도.
도 7은 본 발명의 실시예들에 따라 XML 기반 문서와의 병합을 위해 상이한 또는 교체 파일 포맷들을 가진 컨텍스트-프리 문서 부분들 또는 컴포넌트들을 참조 하는 XML 기반 문서를 나타내는 간단한 블록도.
<도면의 주요 부분에 대한 간단한 설명>
4: 중앙 처리 유닛
6: 시스템 메모리
8: RAM
10: ROM
14: 대용량 저장 장치
16: 운영 체제
18: TCP/IP 네트워크
20: 네트워크 인터페이스 유닛
22: 입출력 제어기
26: 언어 설정
305: 애플리케이션 프로그램
310: 문서
330: 스키마 파일
400: 네임 스페이스 라이브러리
<관련 출원의 상호 참조>
본 발명은 CIP(continuation-in-part)으로서, 본 명세서에서 충분히 설명하는 바와 같이 본 명세서에 참조로 반영된, "컨텍스트-프리 문서 부분들"이라는 제목으로 2003년 12월 9일자로 출원된 미국 특허 출원 번호 10/731,900에 대한 우선권을 주장한다.
<저작권 고시>
이 특허 명세서의 일부는 저작권의 보호를 받는 자료를 포함하고 있다. 저작권 소유자는 미국 특허 상표청 특허 파일 또는 레코드에 나타내 있는 대로의 특허 문서 또는 특허 명세서의 어느 누군가에 의한 팩시밀리 재생에 반대하지 않지만, 그 외의 경우에는 모든 저작권은 보유된다.
본 발명은 일반적으로 상이한 컴퓨터 생성 문서들의 데이터 관리에 관한 것이다. 구체적으로, 본 발명은 교체 포맷들 및 단일 컴퓨터 생성 문서와 연관된 다른 속성들을 가진 컨텍스트-프리 문서 부분들의 이용에 관한 것이다.
컴퓨터 시대의 도래와 함께, 컴퓨터 및 소프트웨어 사용자들은 작성, 계산, 체계화, 프리젠테이션의 준비, 전자 메일의 송수신, 작곡 등을 돕는 사용자 친화 소프트웨어 애플리케이션에 점차 익숙해져 왔다. 예를 들어, 현대의 전자 워드 프로세싱 애플리케이션들은 사용자들이 다양한 유용한 문서를 준비하는 것을 가능하게 한다. 현대의 스프레드시트 애플리케이션들은 사용자들이 데이터를 입력, 조작 및 체계화하는 것을 가능하게 한다. 현대의 전자 슬라이드 프리젠테이션 애플리케이션들은 사용자들이 텍스트, 픽쳐, 데이터 또는 다른 유용한 객체를 포함하는 다 양한 슬라이드 프리젠테이션을 생성하는 것을 가능하게 한다.
다양한 포맷팅 타입에 따라 이러한 애플리케이션들에 의해 생성된 문서들 및 관련 속성들을 표현하기 위한 방법 및 시스템이 개발되어 왔다. 예를 들어, 문서들은 바이너리 포맷, 하이퍼텍스트 마크업 언어(HTML) 포맷, 리치 텍스트 포맷(RTF), 확장형 마크업 언어 포맷(XML) 등으로 표현될 수 있다. 또한, 단락, 테이블, 스타일, 폰트, 리스트 등을 포함하는 많은 문서 구성 컴포넌트가 존재한다. 문서의 몇몇 컴포넌트는 제1 컴포넌트에 구조적인 제한을 제공하기 위해 다른 컴포넌트를 참조한다. 예를 들어, 문서 내의 단락은 이 단락이 문서에서 어떻게 보일 것인지를 정의하는 특정 포맷팅 타입 또는 스타일 설정을 참조할 수 있다. 다른 예로서, 문서의 단락 컴포넌트는 문서 내의 특정 리스트 구조의 일부일 수 있다. 일반적으로, 스타일과 같이 문서의 다른 객체들이 참조할 수 있는 다수의 속성 및 객체가 존재하므로, 문서 내에는 스타일 및 폰트 정의와 같은 다양한 속성 및 객체가 배치되는 헤더가 필요하다.
불행히도, 사용자가 예를 들어 단락, 텍스트 부분, 이미지, 챠트 등과 같은 추가 콘텐츠를 특정 문서에 추가하려고 할 때, 추가 콘텐츠가 추가될 문서의 포맷팅과 다른 포맷팅에 따라 포맷되는 문제가 발생한다. 예를 들어, 주어진 애플리케이션은 HTML 포맷으로 모든 리치 텍스트를 저장할 수 있다. 이러한 애플리케이션에 의해 생성된 문서로부터의 콘텐츠를 non-HTML 애플리케이션으로 가져가기 위하여는 HTML 포맷 콘텐츠는 다른 포맷으로 변환되어야 한다. 그렇지 않고, 예를 들어 HTML 포맷 문서가 예를 들어 XML과 같은 다른 포맷팅에 따라 포맷된 문서에 추 가되는 경우, 추가된 콘텐츠의 원래의 포맷팅이 손상되거나, 추가 콘텐츠 모두를 로딩하지 못할 수 있다.
본 발명은 이들 및 다른 사항들을 고려하여 이루어졌다.
본 발명은 문서 내에 텍스트 또는 데이터의 자기 기술 부분들을 제공함으로써 상기 및 다른 문제들을 해결한다. 본 발명의 일 실시예에 따르면, 개별 단락 또는 단락 그룹 또는 텍스트 조각과 같은 문서의 부분들에는 그 부분과 연관된 파일 포맷 타입, 스타일, 폰트, 리스트 타입 등과 같은 자기 기술 속성이 제공된다. 이러한 문서의 일부가 후속적으로 제2 문서 또는 제1 문서의 다른 위치에 복사 또는 이동되는 경우, 그 부분에 제공된 자기 기술 속성은 그 부분과 함께 제2 문서 또는 제1 문서의 다른 위치로 이동하게 된다. 결과적으로, 제2 문서 또는 제1 문서를 준비하고 표시하는 애플리케이션은 그 부분에 대해 제공된 속성에 따라 그 부분을 소비하고 표시할 수 있다.
다른 실시예에 따르면, 문서를 표시하고 편집하기 위하여 문서 컨테이너가 설정된다. 문서의 자기 기술 부분들 또는 컴포넌트들은 문서 컨테이너 내에 유지되고 편집될 수 있다. 대안으로, 문서의 자기 기술 부분들 또는 컴포넌트들은 문서 컨테이너와 별개로 유지되고 편집될 수 있으나, 문서 컨테이너 내로부터 지시될 수 있다. 문서의 개방 시간에 문서 컨테이너 내로부터 지시되는 모든 문서 부분들 또는 컴포넌트들은, 상이한 문서 부분들 또는 컴포넌트들의 개별 파일 포맷 타입 또는 다른 속성에 따라 이들 각각을 소비할 수 있는 애플리케이션에 의해 병합되고 표시될 수 있다.
본 발명의 상기 및 다른 특징들, 이점들 및 양태들은 개시된 실시예들에 대한 아래의 상세한 설명의 검토로부터, 그리고 첨부된 도면 및 청구범위를 참조하여 보다 명확히 이해될 수 있다.
간략하게 전술한 바와 같이, 본 발명의 실시예들은 텍스트 또는 데이터의 부분들을 문서 내에 삽입하거나 문서에 의해 참조하기 위한 방법 및 시스템에 관한 것으로서, 삽입 또는 참조되는 텍스트 또는 데이터의 부분들은 텍스트 또는 데이터의 부분들이 삽입되거나 수신 문서와의 병합을 위해 참조되는 문서와 상이한 파일 포맷 타입 및 다른 속성에 따라 포맷된다. 이들 실시예는 조합될 수 있고, 다른 실시예들이 이용될 수 있으며, 본 발명의 사상 또는 범위를 벗어나지 않고 구조적 변경이 이루어질 수 있다. 따라서, 아래의 상세한 설명은 제한적인 의미로 간주되어서는 안 되며, 본 발명의 범위는 첨부된 청구범위 및 그 균등물에 의해 정의된다.
이제, 여러 도면을 통해 동일 부호가 동일 요소를 나타내는 도면을 참조하여 본 발명의 양태들 및 예시적인 동작 환경이 설명된다. 도 1 및 다음 설명은 본 발명이 구현될 수 있는 적절한 컴퓨팅 환경의 간단하고 일반적인 설명을 제공하는 것을 목적으로 한다. 본 발명은 개인용 컴퓨터의 운영 체제에서 실행되는 애플리케이션 프로그램과 함께 실행되는 프로그램 모듈과 관련하여 설명되지만, 이 분야의 전문가는 본 발명이 다른 프로그램 모듈과 조합하여서도 구현될 수 있다는 것을 인 식할 것이다.
일반적으로, 프로그램 모듈은 루틴, 프로그램, 컴포넌트, 데이터 구조, 및 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 다른 타입의 구조를 포함한다. 더욱이, 이 분야의 전문가는 본 발명이 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그래머블 소비자 전자 장치, 미니 컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨팅 시스템 구성과 함께 실시될 수 있다는 것을 이해할 것이다. 본 발명은 통신 네트워크를 통해 링크된 원격 프로세싱 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서도 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 양자에 위치할 수 있다.
이제 도 1을 참조하여, 본 발명의 다양한 실시예를 실시하기 위한 개인용 컴퓨터(2)의 예시적인 컴퓨터 아키텍쳐가 설명된다. 도 1에 도시된 컴퓨터 아키텍쳐는 중앙 처리 유닛(CPU; 4), RAM(8) 및 ROM(10)을 포함하는 시스템 메모리(6), 및 메모리를 CPU(4)에 결합시키는 시스템 버스(12)를 포함하는 통상의 개인용 컴퓨터를 나타낸다. 예를 들어 시동 중에 컴퓨터 내의 요소들 간의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입출력 시스템이 ROM(10)에 저장되어 있다. 개인용 컴퓨터(2)는 또한 운영 체제(16), 애플리케이션 프로그램(305)과 같은 애플리케이션 프로그램 및 데이터를 저장하기 위한 대용량 저장 장치(14)를 포함한다.
대용량 저장 장치(14)는 버스(12)에 접속된 대용량 저장 장치 제어기(도시되지 않음)를 통해 CPU(4)에 접속된다. 대용량 저장 장치(14) 및 관련 컴퓨터 판독 가능 매체는 개인용 컴퓨터(2)의 비휘발성 저장을 제공한다. 여기에 포함된 컴퓨터 판독 가능 매체에 대한 설명은 하드 디스크 또는 CD-ROM 드라이브와 같은 대용량 저장 장치를 지칭하지만, 컴퓨터 판독 가능 매체는 개인용 컴퓨터(2)에 의해 액세스될 수 있는 임의의 이용 가능 매체일 수 있다는 점을 이 분야의 전문가는 이해하여야 한다.
예를 들어, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있으나 이에 한하지 않는다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리식 및 비분리식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 다른 반도체 메모리 기술, CD-ROM, DVD 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는 데 사용할 수 있고 컴퓨터로 액세스할 수 있는 임의의 다른 매체를 포함하지만 이에 한하지 않는다.
본 발명의 다양한 실시예에 따르면, 개인용 컴퓨터(2)는 인터넷과 같은 TCP/IP 네트워크(18)를 통한 원격 컴퓨터들에 대한 논리적 접속을 이용하여 네트워크 환경에서 동작할 수 있다. 개인용 컴퓨터(2)는 버스(12)에 접속된 네트워크 인터페이스 유닛(2)을 통해 TCP/IP 네트워크(18)에 접속할 수 있다. 네트워크 인터페이스 유닛(20)은 다른 타입의 네트워크 및 원격 컴퓨터 시스템에 접속하는 데에도 사용될 수 있다는 것을 이해하여야 한다. 개인용 컴퓨터(2)는 또한 키보드 또 는 마우스(도시되지 않음)를 포함하는 다수의 장치로부터 입력을 수신하고 처리하기 위한 입출력 제어기(22)를 포함할 수 있다. 유사하게, 입출력 제어기(22)는 표시 스크린, 프린터 또는 다른 타입의 출력 장치로 출력을 제공할 수 있다.
간단히 전술한 바와 같이, 워싱톤 레드먼드의 마이크로소프트사의 윈도우 XP 운영 체제와 같이 네트워크된 개인용 컴퓨터의 동작을 제어하는 데 적합한 운영 체제(16)를 포함하는 다수의 프로그램 모듈 및 데이터 파일이 개인용 컴퓨터(2)의 대용량 저장 장치(14) 및 RAM(8)에 저장될 수 있다. 대용량 저장 장치(14) 및 RAM(8)은 또한 하나 이상의 애플리케이션 프로그램을 저장할 수 있다. 구체적으로, 대용량 저장 장치(14) 및 RAM(8)은 전자 문서(310)를 생성하고 편집하기 위한 애플리케이션 프로그램(305)을 저장할 수 있다. 예를 들어, 애플리케이션 프로그램(305)은 워드 프로세싱 애플리케이션 프로그램, 스프레드시트 애플리케이션, 콘택 애플리케이션 등을 포함할 수 있다. 다른 타입의 전자 문서를 생성하고 편집하기 위한 애플리케이션 프로그램도 본 발명의 다양한 실시예에서 이용될 수 있다. 후술하는 스키마 파일(330) 및 네임 스페이스/스키마 라이브러리(400)도 도시되어 있다.
본 발명의 예시적인 실시예들은 객체 지향 프로그래밍 환경에서 상이한 소프트웨어 객체들 간의 통신에 의해 구현된다. 본 발명의 실시예들에 대한 아래의 설명을 위해, 객체 지향 프로그래밍 환경의 컴포넌트들을 간단히 설명하는 것이 유용하다. 도 2는 객체 지향 프로그래밍 모델에 따른 소프트웨어 객체들 간의 상호작용을 나타내는 간단한 블록도이다. 객체 지향 프로그래밍 환경에 따르면, 제1 객 체(210)는 소프트웨어 코드, 실행 가능 메소드, 속성 및 파라미터를 포함할 수 있다. 마찬가지로, 제2 객체(220)도 소프트웨어 코드, 실행 가능 메소드, 속성 및 파라미터를 포함할 수 있다.
제1 객체(210)는 제2 객체(220)와 통신하여 메시지 호(230)를 통해 제2 객체(220)를 호출함으로써 제2 객체(220)로부터 정보 또는 기능을 얻을 수 있다. 객체 지향 프로그래밍 환경 분야의 전문가에게 잘 알려져 있듯이, 제1 객체(210)는 서로로부터 정보 및 기능을 얻기 위하여 2개의 상이한 소프트웨어 객체(210, 220)가 서로 통신하는 것을 가능하게 하는 애플리케이션 프로그래밍 인터페이스(API)를 통해 제2 객체(220)와 통신할 수 있다. 예를 들어, 제1 객체(210)가 제2 객체(220)에 포함된 메소드에 의해 제공되는 기능을 요구하는 경우, 제1 객체(210)는 제2 객체(220)로 메시지 호(230)를 전송할 수 있는데, 여기에서 제1 객체는 요구된 메소드를 식별하며, 식별된 메소드를 동작시키기 위해 제2 객체에 의해 요구되는 임의의 필요한 파라미터를 제2 객체로 전송한다. 제2 객체(220)가 제1 객체로부터 호를 수신하면, 제2 객체는 제공된 파라미터에 기초하여 호출된 메소드를 실행하고, 실행된 메소드로부터 얻은 값을 포함하는 리턴 메시지(250)를 다시 제1 객체(210)로 전송한다.
예를 들어, 본 발명의 실시예들과 관련하여, 그리고 후술하는 바와 같이, 제1 객체(210)는, 제1 객체가 문서 내의 지정된 XML 요소의 검증을 요구하는 메소드를 식별하는 확장형 마크업 언어 스키마 검증 객체와 같은 제2 객체에 메시지를 전달하는 제3자 주문 애플리케이션(a third party customized application)일 수 있 는데, 상기 지정된 XML 요소는 식별된 메소드와 함께 제1 객체에 의해 전달되는 파라미터이다. 이 예에 따르면, 제1 객체로부터의 호 수신시, 스키마 검증 객체는 지정된 XML 요소 상에서 식별된 메소드를 실행하여, 검증된 XML 요소와 연관된 결과 또는 값의 형태로 제1 객체로 메시지를 리턴한다. 간단히 전술한 객체 지향 프로그래밍 환경의 동작은 이 분야의 전문가에게 공지되어 있다.
후술하는 바와 같이, 본 발명의 실시예들은 확장형 마크업 언어(XML)의 컴포넌트들의 사용, 주문화 및 적용에 있어서 소프트웨어 객체들의 상호작용을 통해 구현된다. 도 3은 문서, 첨부 스키마 파일 및 스키마 검증 기능 모듈 사이의 상호작용을 나타내는 블록도이다. 이 분야의 전문가에게 공지되어 있듯이, 확장형 마크업 언어(XML)는 사용자가 문서 내의 텍스트 또는 데이터에 적용되고 또한 관련 태그들이 적용되는 텍스트 또는 데이터를 정의하는 태그 네임들을 생성하는 것을 허용함으로써 문서 내의 텍스트 또는 데이터를 기술하는 메소드를 제공한다. 예를 들어, 도 3을 참조하면, 애플리케이션(305)으로 생성한 문서(310)는 XML 태그들(315, 320, 325)로 마크업된 텍스트를 포함한다. 예를 들어, 텍스트 "Greetings"에는 XML 태그 <title>이라는 주석이 달린다. 텍스트 "My name is Sarah"에는 <body> 태그가 달린다. XML에 따르면, <title> 및 <body> 태그의 생성자는 이들 태그가 적용될 태그들을 기술하기 위한 그 자신의 태그들을 자유롭게 생성한다. 이어서, 임의의 다운스트림 소비 애플리케이션 또는 컴퓨팅 머신에 텍스트에 적용된 태그들의 정의에 관한 명령들이 제공되는 한, 이 애플리케이션 또는 컴퓨팅 머신은 이 태그들에 따라 데이터를 이용할 수 있다. 예를 들어, 다운스트림 애플리 케이션이 이 애플리케이션에 의해 처리된 기사 또는 출판물의 제목으로서 정의된 텍스트를 추출하도록 프로그래밍된 경우, 이 애플리케이션은 도 3에 도시된 바와 같이 문서(310)를 파싱하고 텍스트 "Greetings"를 추출할 수 있는데, 이는 그 텍스트에 태그 <title>이라는 주석이 달려 있기 때문이다. 도 3에 도시된 문서(310)에 대한 특정 XML 태그 네이밍의 생성자는 텍스트 또는 데이터에 적용된 태그들과 연관된 정의를 제3자(third parties)가 제공받는한 제3자에 의해 이용될 수 있는 문서(310)에 포함된 텍스트 또는 데이터에 대한 유용한 설명을 제공한다.
본 발명의 실시예들에 따르면, 문서(310)에 입력된 텍스트 및 XML 마크업은 다양한 상이한 파일 포맷에 따라, 그리고 문서(310)를 생성한 애플리케이션(305)의 원시 프로그래밍 언어(native programming language)에 따라 저장될 수 있다. 예를 들어, 텍스트 및 XML 마크업은 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션 등에 따라 저장될 수 있다. 대안으로, 문서(310)에 입력된 텍스트 및 XML 마크업은 XML 포맷으로 저장될 수 있음으로써 텍스트 또는 데이터, 임의 적용된 XML 마크업, 및 폰트, 스타일, 단락 구조 등과 같은 임의의 포맷팅이 XML 표현으로 저장될 수 있다. 따라서, XML로서 저장된 데이터를 이해할 수 있는 다운스트림 또는 제3자 애플리케이션은 이렇게 XML 표현으로 저장된 텍스트 또는 데이터를 열어 소비할 수 있다. 문서(310)의 텍스트 및 XML 마크업 및 관련 포맷팅 및 다른 속성을 XML로 저장하는 것에 대한 상세한 설명을 위하여, 본 명세서에 충분히 설명된 바와 같이 본 명세서에 참조로 반영된, 2002년 6월 28일자로 출원된 "Word Processing Document Stored in a Single XML File that may be Manipulated by Applications that Understanding XML"이라는 제목의 미국 특허 출원 10/187,060을 참조하라. 본 발명에 따른 예시적인 스키마는 본 명세서에 그 전체가 참조로 반영된, 2003년 12월 2일자로 출원된 "Mixed Content Flexibility"라는 제목의 미국 특허 출원 10/726,077의 11페이지에서부터 개시되어 있다.
도 3에 도시된 바와 같이 텍스트 또는 데이터에 적용된 XML 마크업 요소들(태그들)에 대한 정의 프레임워크를 제공하기 위하여, 마크업되고 저장된 데이터의 사용자 및 소비자가 문서의 생성자에 의해 설계된 XML 태깅 정의를 이해하는 것을 가능하게 하기 위해 필요한 정보를 포함하는 XML 스키마 파일이 생성된다. 이 분야에서 네임 스페이스 또는 XSD 파일로도 지칭되는 각각의 스키마 파일은 바람직하게는 주어진 스키마 파일에 따라 문서에 적용될 수 있는 모든 XML 요소들(태그들)의 리스팅을 포함한다. 예를 들어, 도 3에 도시된 스키마 파일(330)은 XML 요소들의 속성들 또는 스키마 파일에 따른 XML 요소들이 주석으로 첨부될 수 있는 텍스트 또는 데이터와 연관된 제한 및/또는 규칙을 포함하는 문서(310)에 적용될 수 있는 소정의 XML 요소들의 정의를 포함하는 스키마 파일일 수 있다. 예를 들어, 도 3에 도시된 스키마 파일(330)을 참조하면, 이 스키마 파일은 네임 스페이스 "intro"에 의해 식별되며, <intro card>의 루트 요소를 포함한다.
스키마 파일(330)에 따르면, <intro card> 요소는 스키마 파일의 루트 요소로서, 또한 두 자식 요소 <title> 및 <body>에 대한 부모 요소로서 기능한다. 이 분야에 공지되어 있듯이, 단일 루트 요소 아래에 다수의 부모 요소가 정의될 수 있으며, 각각의 부모 요소 아래에 다수의 자식 요소가 정의될 수 있다. 그러나, 일 반적으로 주어진 스키마 파일(330)은 하나의 루트 요소만을 포함한다. 도 3을 계속 참조하면, 스키마 파일(330)은 또한 <title> 및 <body> 요소들 각각에 대한 속성들(340, 350)을 포함한다. 속성들(340, 345)은 문서(310) 내의 텍스트 또는 데이터에 각각의 요소들을 적용하는 것과 연관된 추가적인 정의 또는 규칙을 제공할 수 있다. 예를 들어, 속성(345)은 <title> 요소가 주석으로 첨부된 텍스트는 길이가 25 문자 이하이어야 한다는 것을 정의한다. 따라서, 길이가 25 문자를 넘는 텍스트에 <title> 요소 또는 태그가 주석으로 첨부된 경우에는, 그 텍스트에 대해 시도된 주석 첨부는 스키마 파일(330)에 포함된 정의에 따라 무효로 될 것이다.
XML 요소들에 속성들과 같은 정의 또는 규칙을 적용함으로써, 스키마 생성자는 주어진 스키마 파일과 연관된 문서에 포함된 데이터의 구조를 지시할 수 있다. 예를 들어, 이력서에 적용되는 XML 마크업을 정의하기 위한 스키마 파일(330)의 생성자가 이력서의 경력 부분이 4개보다 많은 현재 또는 이전 직업 엔트리를 포함하는 것을 원하지 않는 경우, 스키마 파일(330)의 생성자는 예를 들어 스키마 파일(330)에 따라 경력 텍스트가 유효하게 하기 위하여 4개보다 많은 현재 또는 과거 직업 엔트리가 <experience> 태그들 사이에 입력되는 것을 허용하지 않도록 <experience> 요소의 속성을 정의할 수 있다. 이 분야의 전문가에게 공지되어 있듯이, 스키마 파일(330)은 주어진 문서(310)에 첨부되거나, 첨부된 스키마 파일에 정의된 허용 가능한 XML 마크업의 주어진 문서(310)에 대한 적용을 위해 주어진 문서(310)와 연관될 수 있다. 일 실시예에 따르면, 첨부 또는 연관된 스키마 파일(330)의 XML 요소들로 마크업된 문서(310)는 첨부 또는 연관된 스키마 파일(330)을 식별하는 네임 스페이스와 연관된 균일 자원 식별자(URI)를 지시함으로써 첨부 또는 연관된 스키마 파일을 지시할 수 있다.
본 발명의 실시예들에 따르면, 문서(310)는 다수의 첨부 스키마 파일을 가질 수 있다. 즉, 문서(310)의 생성자는 하나 이상의 스키마 파일로부터 XML 마크업의 주석 첨부를 위한 프레임워크를 제공하기 위하여 문서(310)에 하나 이상의 스키마 파일(330)을 연관시키거나 첨부할 수 있다. 예를 들어, 문서(310)는 회계 데이터와 연관된 텍스트 또는 데이터를 포함할 수 있다. 문서(310)의 생성자는 다수의 회계 제도와 연관된 XML 마크업 및 정의를 포함하는 XML 스키마 파일들(330)을 연관시키기를 원할 수 있다. 따라서, 문서(310)의 생성자는 하나 이상의 회계 제도로부터의 XML 스키마 파일(330)을 문서(310)와 연관시킬 수 있다. 또한, 주어진 XML 스키마 파일(330)은 회계 데이터를 원하는 포맷으로 배열하기 위한 템플릿과 같은 특정 데이터 구조와 연관될 수 있다.
본 발명의 실시예들에 따르면, XML 스키마 파일들 및 관련 문서 솔루션들의 집합이 문서(310)와 별개로 배치된 네임 스페이스 또는 스키마 라이브러리에 유지될 수 있다. 문서(310)는 문서(310)에 첨부되거나 연관된 하나 이상의 스키마 파일과 연관된 네임 스페이스 또는 스키마 라이브러리에 URI에 대한 포인터를 포함할 수 있다. 문서(310)가 하나 이상의 관련 스키마 파일로부터 정보를 요구할 때, 문서(310)는 네임 스페이스 또는 스키마 라이브러리를 지시하여 원하는 스키마 정의를 얻는다. 네임 스페이스 또는 스키마 라이브러리의 동작의 이용에 대한 상세할 설명을 위하여, 본 명세서에 충분히 설명된 바와 같이 참조로 반영된, 200년 6월 27일자로 출원된 "System and Method for Providing Namespace Related Information"이라는 제목의 미국 특허 출원 10/184,190, 및 2002년 6월 27일자로 출원된 "System and Method for Obtaining and Using Namespace Related Information for Opening XML Document"라는 제목의 미국 특허 출원 10/185,940을 참조하라. 네임 스페이스 또는 스키마 라이브러리로부터 XML 스키마 파일 및 관련 솔루션과 같은 소프트웨어 컴포넌트를 다운로드하기 위한 메카니즘에 대한 상세한 설명을 위하여, 2002년 6월 5일자로 출원된 "Mechanism for Downloading Software Components from a Remote Source for Use by a Local Software Application"라는 제목의 미국 특허 출원 10/164,260을 참조하라.
도 3을 계속 참조하면, 전술한 바와 같이 문서(310)에 첨부되거나 연관된 XML 스키마 파일(330)에 대해 문서(310)에 적용된 XML 마크업을 검증하기 위한 스키마 검증 기능 모듈(350)이 도시되어 있다. 전술한 바와 같이, 스키마 파일(330)은 허용 가능한 XML 요소들 및 관련 속성들을 설명하고, 연관된 스키마 파일(330)로부터의 XML 마크업을 가진 문서(310)의 유효한 주석 첨부를 위한 규칙을 정의한다. 예를 들어, 스키마 파일(330)에 나타난 바와 같이, 2개의 자식 요소 <title> 및 <body>는 루트 또는 부모 요소 <intro card> 아래에 정의된다. 자식 요소들 <title> 및 <body>와 관련된 텍스트의 허용가능한 스트링 길이를 정의하는 속성들(340, 345)도 도시되어 있다. 전술한 바와 같이, 사용자가 스키마 파일(330)에 포함된 XML 마크업 정의를 위반하여 문서에 첨부되거나 연관된 스키마 파일(330)로부터의 XML 마크업을 가진 문서(310)에 주석을 첨부하려고 시도하는 경우, 무효 또는 에러 상태가 표시된다. 예를 들어, 사용자가 25 문자를 초과하는 제목 스트링을 입력하려고 시도하는 경우, 그 텍스트 엔트리는 스키마 파일(330)의 <title> 요소의 최대 문자 길이 속성을 위반하게 된다. 연관된 스키마 파일(330)에 대해 문서(310)에 적용된 XML 마크업을 검증하기 위하여, 스키마 검증 모듈(350)이 이용된다. 이 분야의 전문가가 이해하듯이, 스키마 검증 모듈은 XML 마크업 및 관련 텍스트가 문서(310)에 입력될 때 문서(310)에 입력된 XML 마크업 및 관련 텍스트를 연관되거나 첨부된 XML 스키마 파일(330)과 비교하기에 충분한 컴퓨터 실행 가능 명령들을 포함하는 소프트웨어 모듈이다.
본 발명의 실시예들에 따르면, 스키마 검증 모듈(350)은 문서(310)에 적용된 각각의 XML 마크업 요소 및 관련 텍스트 또는 데이터를 첨부 또는 연관된 스키마 파일(330)과 비교하여 각각의 요소 및 관련 텍스트 또는 데이터가 첨부된 스키마 파일(330)에 설명된 규칙 및 정의를 따르는지를 결정한다. 예를 들어, 사용자가 <title> 요소들(320)이 주석으로 첨부된 25 문자를 초과하는 문자 스트링을 입력하려고 시도하는 경우, 스키마 검증 모듈은 그 텍스트 스트링을 첨부 스키마 파일(330)의 텍스트 스트링 속성(340)과 비교하여, 사용자에 의해 입력된 텍스트 스트링이 최대로 허용가능한 텍스트 스트링 길이를 초과한 것으로 결정한다. 따라서, 에러 메시지 또는 다이얼로그가 사용자에게 표시되어, 사용자가 입력하고 있는 텍스트 스트링이 첨부 스키마 파일(330)에 따른 최대 허용 가능 문자 길이를 초과하였음을 사용자에게 알린다. 또한, 사용자가 <title> 및 <body> 요소들 사이에 XML 마크업 요소를 추가하려고 시도하는 경우, 스키마 검증 모듈(350)은 사용자에 의해 적용된 XML 마크업 요소가 첨부 스키마 파일(330)에 따라 <title> 및 <body> 요소들 사이에 허용되는 유효 요소가 아닌 것으로 결정한다. 따라서, 스키마 검증 모듈(350)은 사용자에 대한 에러 메시지 또는 다이얼로그를 생성하여 사용자에게 무효 XML 마크업임을 알린다.
컨텍스트 - 프리 문서 텍스트 및 데이터 부분들
간단히 전술한 바와 같이, 본 발명의 실시예들은 텍스트 또는 데이터의 일부를 문서에 삽입하기 위한 방법 및 시스템을 제공하는데, 텍스트 또는 데이터의 삽입 부분은 지정된 스타일, 폰트, 리스트 타입 등과 같은 그 자신의 특정 포맷팅 및 스타일 속성을 갖는다. 도 4는 본 발명의 실시예들에 따라 텍스트의 일부가 제2 문서에서 제1 문서로 복사 또는 이동되는 제1 문서와 제2 문서 간의 상호작용을 나타내는 블록도이다. 도 5는 본 발명의 실시예들에 따라 텍스트의 일부가 제2 문서에서 제1 문서로 복사 또는 이동되는 제1 문서와 제2 문서 간의 상호작용을 나타내는 블록도이다. 하나의 문서에서 다른 문서로 텍스트 부분이 복사 또는 이동하는 것에 의해 본 발명을 설명하는 것은 단지 예시적이라는 것을 이해하여야 한다. 하나의 문서에서 다른 문서로 텍스트가 복사 또는 이동하는 것 외에, 텍스트 부분의 자기 기술 속성들은 파일을 파싱하고 조작하기를 원하거나 필요로 하는 사용자 및 소프트웨어 애플리케이션이 전체 문서 또는 파일과 연관된 속성들을 관리하기 위해 전체 문서를 파싱할 필요 없이 파일 또는 문서의 부분들에 리치 편집(rich editing)을 적용할 수 있게 한다.
도 4를 참조하면, 문서(410) 및 문서(420)는 본 발명의 실시예들에 따라 문서(420)에서 문서(410)로 텍스트의 일부가 어떻게 복사될 수 있는지를 나타내기 위해 설명된다. 제1 문서(410)는 하나의 제목과 2개의 단락을 갖는다. 또한, 문서(410)에 대해 문서(435)에 적용된 XML 구조를 나타내는 XML 구조 창(XML structure pane, 425)이 도시되어 있다. 예를 들어, <title> 요소는 문서(435)의 제목에 적용되고, <paragraph 1> 요소는 문서(435)의 제1 단락에 적용되며, <paragraph 2> 요소는 문서(435)의 제2 단락에 적용된다. 제2 문서(420)는 XML 구조로 유사하게 마크업된 문서(440)를 포함한다. 문서(420)에 대한 XML 구조 창(430)이 도시되어 있다.
본 발명의 실시예들에 따르면, 제2 문서로부터의 텍스트 또는 데이터 부분이 제1 문서로 복사 또는 이동될 수 있어서, 스타일 및 다른 포맷팅 속성들이 텍스트 또는 데이터 부분과 함께 하나의 문서에서 다른 문서로 전달된다. 따라서, 제1 문서와 연관된 스타일 또는 다른 포맷팅 속성들에 대해 제1 문서에 삽입된 텍스트 부분과 연관된 스타일 또는 포맷팅 속성들을 리졸브(resolve)할 필요가 없다. 예를 들어, 도 4에 도시된 바와 같이, 제1 문서는 제1 문서와 연관된 스타일 및 다른 포맷팅 속성을 참조하기 위한 헤더 정보 속성 요소를 가질 수 있다. 즉, 제1 문서의 사용자 또는 생성자는 제1 문서에 대한 스타일 또는 포맷팅 속성 세트를 설정할 수 있다. 전술한 바와 같이, 종래의 시스템에 따르면, 사용자가 제2 문서(420)에서 제1 문서(410)로 제2 단락(455)을 복사하기를 원하는 경우, 제2 문서(420) 내의 제2 단락(455)과 연관된 스타일 또는 포맷팅 정보는 제1 문서(410)의 문서 레벨에 포 함된 스타일 또는 포맷팅 정보와 충돌할 수 있다.
예를 들어, 제1 문서(410)는 문서(435)에 굵은 이탤릭체의 포맷팅을 적용하게 하는 "Header 1"이라고 하는 스타일을 가질 수 있다. 반면, 제2 문서(420)의 생성자는 제2 문서에 포함된 제2 단락(455)을 이탤릭체는 아니지만 굵은 글자체를 포함하도록 포맷팅하기 위해 스타일 표시자 "Header 1"을 사용할 수도 있다. 제2 문서(420)의 제2 단락(455)이 제1 문서(410)로 복사되는 경우, 제2 문서에 적용된 스타일은 제1 문서(410) 내의 문서에 적용된 스타일과 충돌하게 된다. 따라서, 제1 문서(410)의 사용자는 2개의 스타일의 충돌을 방지할 수 있도록 삽입 텍스트 또는 데이터에 적용된 스타일들을 변경하기 위해 제1 문서(410)에 적용된 XML 구조의 헤더 정보 속성 요소를 수동으로 파싱하는 것이 요구될 것이다.
본 발명의 실시예들에 따르면, 제2 문서(420)의 제2 단락(455)과 같은 문서의 지정된 텍스트 및 데이터 부분들에 스타일 마크업을 적용하기 위하여 XML 스키마가 제공되어 주어진 텍스트 또는 데이터 부분에 대한 특정 스타일 또는 포맷팅 적용이 텍스트 또는 데이터 부분과 함께 제1 문서로 전달된다. 특정 텍스트 또는 데이터 선택에 XML 마크업을 적용함으로써, 제1 문서는 삽입된 텍스트 또는 데이터 부분에 적용된 스타일 또는 포맷팅 마크업에 액세스하는 한은 삽입된 텍스트 또는 데이터 부분에 적용된 스타일 또는 포맷팅 속성과 디컨플릭트(de-conflict)할 필요가 없다.
도 5를 참조하면, 제1 문서(410)로 삽입할 텍스트 부분(510) 및 텍스트 부분(520)이 도시되어 있다. 본 발명의 실시예들에 따르면, 각각의 텍스트 부분(510, 520)은 문장, 단락, 다수의 단락, 문장들 또는 단락들의 조각, 영숫자 데이터 또는 임의의 다른 원시 객체들일 수 있다. 제2 문서(420)의 생성자는 후술하는 바와 같이 그 자신과 함께 그 자신의 스타일 또는 다른 포맷팅 속성을 전달하는 특정 텍스트 또는 데이터 부분들을 지정하기 위해, XML 요소들을 정의하는 컨텍스트-프리 텍스트 부분 스키마에 따라 제2 문서를 XML 데이터로 마크업한다는 것을 이해해야 한다. 결과적으로, 텍스트 부분들(510, 520) 각각은 제1 문서(410)에 삽입될 수 있고 문서(410) 상에서 동작하는 XML 파싱 애플리케이션에 의해 주 문서(410)와 별개로 처리될 수 있는 그 자신의 스타일 및 포맷팅 속성을 가진 "미니(mini)" 문서가 된다.
제2 단락(455)과 같은 텍스트 또는 데이터 부분 또는 도 5에 도시된 텍스트 부분들(510, 520) 중 어느 하나가 다양한 소프트웨어 애플리케이션으로부터 이용 가능한 통상의 절단/복사 및 붙이기 방법에 따라 제2 문서에서 제1 문서로 복사 및 붙이기 또는 절단 및 붙이기될 수 있다는 것을 이해해야 한다. 대안으로, 다양한 XML 파싱 애플리케이션에 따라, 사용자는 XML 구조 창(430)으로부터 적절한 XML 노드를 선택하고 그 XML 노드를 제1 문서의 XML 구조에 복사함으로써 텍스트 또는 데이터 부분을 제2 문서에서 제1 문서로 삽입할 수도 있다. 즉, 제2 문서(420)의 XML 구조(430)로부터 <paragraph 2> 노드(460)를 선택하고 이 노드를 제1 문서(410)의 XML 구조로 이동함으로써 전술한 바와 같이 제2 단락(455)의 XML 마크업 및 관련 텍스트 또는 데이터가 그 자신의 스타일 및 다른 포맷팅 속성들과 함께 제1 문서에 삽입될 수 있다.
본 발명의 실시예들의 동작을 더 설명하기 위하여, 다음의 XML 구조는 다음의 두 단락을 가진 간단한 문서와 연관된다.
단락 1: The quick brown fox jumps over the lazy dog.
단락 2: The quick brown fox jumps over the lazy dog.
다음의 XML 구조에서 알 수 있듯이, "Times New Roman"의 폰트 및 "Default Paragraph Font"의 스타일 식별이 두 단락에 적용된다. 두 단락의 실제 텍스트도 다음의 XML 구조에 나타나 있다.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<w:wordDocument
xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve">
 
- <w:styles> 
  <w:versionOfBuiltInStylenames w:val="4" />  
  <w:latentStyles w:defLockedState="off" w:latentStyleCount="156" />  
- <w:style w:type="paragraph" w:default="on" w:styleId="Normal"> 
  <w:name w:val="Normal" />  
- <w:rPr> 
  <wx:font wx:val="Times New Roman" />  
  <w:sz w:val="24" />  
  <w:sz-cs w:val="24" />  
  <w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA" />  
  </w:rPr> 
  </w:style> 
- <w:style w:type="character" w:default="on" w:styleId="DefaultParagraphFont"> 
  <w:name w:val="Default Paragraph Font" />  
  <w:semiHidden />  
  </w:style> 
- <w:style w:type="list" w:default="on" w:styleId="NoList"> 
  <w:name w:val="No List" />  
  <w:semiHidden />  
  </w:style> 
  </w:styles> 
- <w:body> 
- <w:p> 
- <w:r> 
  <w:t>The quick brown fox jumps over the lazy dog.</w:t>  
  </w:r> 
  </w:p>
- <w:p> 
- <w:r> 
  <w:t>The quick brown fox jumps over the lazy dog.</w:t>  
  </w:r> 
  </w:p> 
  <w:p />
  </w:body>
</w:wordDocument>
본 발명의 실시예들에 따라, 예를 들어 사용자가 "The quick brown fox jumps over the lazy dog"과 같이 제3 단락을 문서에 삽입하여 삽입된 단락이 아래와 같은 최종 문서를 제공하도록 하고자 하는 경우를 고려하자.
단락 1: The quick brown fox jumps over the lazy dog.
단락 2: The quick brown fox jumps over the lazy dog.
단락 3: The quick brown fox jumps over the lazy dog.
아래는 표준 디폴트 스타일이 적용된 문서의 처음 두 단락을 나타내는 XML 구조의 일례이다. 이 예에 따르면, 다음의 XML 구조에 나타난 바와 같이, 사용자는 "My Style"이라는 스타일 하에서 문서에 제3의 이탤릭체 단락을 삽입한다. 이 단락은 원시 워드 프로세싱 애플리케이션 외부의 환경에서 삽입되고 있기 때문에, "My Style" 스타일이 존재하는 것을 검사하는 로직은 수동으로 행해져야 한다. XML 파일은 스타일 선언의 적절한 위치를 찾기 위해 파싱되어야 하며, 이어서 스타일 선언은 충돌이 없음을 보장하기 위해 파싱되어야 한다. 이것이 완료되면, "My Style" 선언이 입력될 수 있다. 이제, "My Style" 선언이 입력된 후, 단락 자체에 대한 적절한 위치를 찾기 위하여 XML 파일은 다시 파싱되어야 한다. "My Style" 선언과의 충돌이 없으므로, 삽입되고 있는 단락은 "My Style" 스타일을 계속 참조할 수 있다. 그렇지 않은 경우, 단락 자체는 적절한 스타일을 참조하도록 변경되어야 한다.
  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
  <?mso-application progid="Word.Document"?>
-                             <w:wordDocument
xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve"> 
- <w:styles> 
  <w:versionOfBuiltInStylenames w:val="4" />  
  <w:latentStyles w:defLockedState="off" w:latentStyleCount="156" />  
- <w:style w:type="paragraph" w:default="on" w:styleId="Normal"> 
  <w:name w:val="Normal" />  
- <w:rPr> 
  <wx:font wx:val="Times New Roman" />  
  <w:sz w:val="24" />  
  <w:sz-cs w:val="24" />  
  <w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA" />  
  </w:rPr> 
  </w:style> 
- <w:style w:type="character" w:default="on" w:styleId="DefaultParagraphFont"> 
  <w:name w:val="Default Paragraph Font" />  
  <w:semiHidden />  
  </w:style> 
- <w:style w:type="table" w:default="on" w:styleId="TableNormal"> 
  <w:name w:val="Normal Table" />  
  <wx:uiName wx:val="Table Normal" />  
  <w:semiHidden />  
- <w:rPr> 
  <wx:font wx:val="Times New Roman" />  
  </w:rPr> 
- <w:tblPr> 
  <w:tblInd w:w="0" w:type="dxa" />  
- <w:tblCellMar> 
  <w:top w:w="0" w:type="dxa" />  
  <w:left w:w="108" w:type="dxa" />  
  <w:bottom w:w="0" w:type="dxa" />  
  <w:right w:w="108" w:type="dxa" />  
  </w:tblCellMar> 
  </w:tblPr> 
  </w:style> 
- <w:style w:type="paragraph" w:styleId="myStyle"> 
  <w:name w:val="myStyle" />  
  <w:basedOn w:val="Normal" />  
  <w:rsid w:val="000874C3" />  
- <w:pPr> 
  <w:pStyle w:val="myStyle" />  
  </w:pPr> 
- <w:rPr> 
  <wx:font wx:val="Times New Roman" />  
  <w:color w:val="FF0000" />  
  </w:rPr> 
  </w:style> 
- <w:style w:type="list" w:default="on" w:styleId="NoList"> 
  <w:name w:val="No List" />  
  <w:semiHidden />  
  </w:style> 
  </w:styles> 
- <w:body> 
- <w:p> 
- <w:r> 
  <w:t>The quick brown fox jumps over the lazy dog.</w:t>  
  </w:r> 
  </w:p> 
- <w:p> 
- <w:r> 
  <w:t>The quick brown fox jumps over the lazy dog.</w:t>  
  </w:r> 
  </w:p> 
- <w:p> 
- <w:pPr> 
  <w:pStyle w:val="myStyle" />  
  </w:pPr> 
- <w:r> 
  <w:t>The quick brown fox jumps over the lazy dog.</w:t>  
  </w:r> 
  </w:p> 
  <w:p />  
  </w:body> 
  </w:wordDocument>
전술한 바와 같이, 본 발명의 실시예들에 따르면, 문서의 특정 텍스트 또는 데이터 부분을 마크업하고 기술하는 데 사용될 수 있는 XML 요소를 제공하여 텍스트 또는 데이터 부분에 적용된 스타일 또는 다른 포맷팅 속성들이 텍스트 또는 데이터 부분이 삽입되는 문서와 연관된 나머지 스타일 또는 포맷팅 속성들과 별개로 처리되도록 하는 XML 스키마가 제공된다. 텍스트 또는 데이터 부분이 삽입되는 문서가 문서에 삽입되는 텍스트 또는 데이터 부분과 연관된 XML 스키마를 이해할 수 있는 애플리케이션에 의해 조작되는 한, 삽입 텍스트 또는 데이터 부분을 랩핑하는 XML 요소가 이해될 것이다.
아래는 본 발명의 실시예들에 따라 제3의 이탤릭체 단락 "The quick brown fox jumps over the lazy dog"의 추가를 보이는 XML 구조의 샘플이다. 아래의 XML 구조에 나타난 바와 같이, 처음 두 단락은 "Times New Roman" 및 "Default Paragraph Font"의 스타일 식별을 갖는 문서에 포함된다. 그러나, 아래의 XML 구조에 나타난 바와 같이, 문서에 삽입되고 있는 세 번째 단락은 <cfChunk>라고 하는 XML 요소 내에 랩핑되어 있다. 요소 <cfChunk>는 이 특정 XML 구조의 생성자에 의해 본 발명의 실시예들에 따른 요소에 제공될 수 있는 무한 수의 네임을 나타낸다는 것을 이해해야 한다. 요소는 유사하게 컨텍스트-프리 부분, cfPortion, 컨텍스트-프리 데이터, cfData 등으로 지칭될 수 있다는 것을 이해해야 한다. 요소 <cfChunk> 내에 "My Style"의 스타일 식별을 갖고 "italics"의 폰트 식별을 갖는 세 번째 단락 "The quick brown fox jumps over the lazy dog"이 포함된다.
본 발명의 실시예들에 따르면, 세 번째 단락 "The quick brown fox jumps over the lazy dog"이 제2 문서에서 제1 문서로 복사 또는 이동될 때, 이동된 텍스트 또는 데이터 부분은 텍스트 또는 데이터 부분을 랩핑하고 텍스트 또는 데이터 부분과 함께 그 자신의 개별 스타일들 또는 다른 포맷팅 속성들을 전달하는 데 사용되는 <cfChunk> 요소를 포함하는 스키마 파일에 따라 XML 요소들과 연관된 문법 및 다른 정의 규칙들에 대한 제1 문서 액세스와 연관된 XML 파싱 애플리케이션을 제공하는 XML 스키마 파일을 지시하거나 참조한다. 따라서, 제1 문서의 XML 파싱 애플리케이션이 요소 <cfChunk>를 만날 때, 이 애플리케이션은 연관된 XML 스키마를 참조하여, <cfChunk> 요소 내에 랩핑된 구조에 포함된 스타일 및 다른 포맷팅 지시들이 특히 제1 문서에 삽입되고 있고 <cfChunk> 요소와 연관되고 있는 텍스트 또는 데이터 부분에 대해 처리된다는 것을 학습할 수 있다. 따라서, 본 발명의 실시예들에 따르면, 아래의 XML 구조의 샘플에 나타난 바와 같이, 세 번째 단락이 제1 문서에 삽입될 때, 텍스트 부분과 연관된 스타일 및 다른 포맷팅 속성들은 텍스트 부분이 삽입되는 문서와 연관된 스타일 또는 다른 포맷팅 속성들과의 잠재적인 충돌과 관계 없이 삽입된 텍스트 또는 데이터 부분을 수신하는 애플리케이션에 의해 허가된다. 애플리케이션은 임의의 충돌을 리졸브하고 단락에 대한 스타일 참조를 적절한 스타일과 적절히 연관시키기 위한 필요한 작업을 행한다.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-                             <w:wordDocument
xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve"> 
- <w:styles> 
  <w:versionOfBuiltInStylenames w:val="4" />  
  <w:latentStyles w:defLockedState="off" w:latentStyleCount="156" />  
- <w:style w:type="paragraph" w:default="on" w:styleId="Normal"> 
  <w:name w:val="Normal" />  
- <w:rPr> 
  <wx:font wx:val="Times New Roman" />  
  <w:sz w:val="24" />  
  <w:sz-cs w:val="24" />
    <w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA" />  
  </w:rPr> 
  </w:style> 
- <w:style w:type="character" w:default="on" w:styleId="DefaultParagraphFont"> 
  <w:name w:val="Default Paragraph Font" />  
  <w:semiHidden />  
  </w:style> 
- <w:style w:type="list" w:default="on" w:styleId="NoList"> 
  <w:name w:val="No List" />  
  <w:semiHidden />  
  </w:style> 
- <w:style w:type="table" w:default="on" w:styleId="TableNormal">
  <w:name w:val="Normal Table" />  
  <wx:uiName wx:val="Table Normal" />  
  <w:semiHidden />  
- <w:rPr> 
  <wx:font wx:val="Times New Roman" />  
  </w:rPr> 
- <w:tblPr> 
  <w:tblInd w:w="0" w:type="dxa" />  
- <w:tblCellMar> 
  <w:top w:w="0" w:type="dxa" />  
  <w:left w:w="108" w:type="dxa" />  
  <w:bottom w:w="0" w:type="dxa" />  
  <w:right w:w="108" w:type="dxa" />  
  </w:tblCellMar> 
  </w:tblPr> 
  </w:style> 
  </w:styles> 
- <w:body> 
- <w:p> 
- <w:r> 
  <w:t>The quick brown fox jumps over the lazy dog.</w:t>  
  </w:r> 
  </w:p> 
- <w:p> 
- <w:r> 
  <w:t>The quick brown fox jumps over the lazy dog.</w:t>  
  </w:r>
 
  </w:p> 
- <w:cfChunk> 
- <w:styles> 
- <w:style w:type="paragraph" w:styleId="myStyle"> 
  <w:name w:val="myStyle" />  
  <w:basedOn w:val="Normal" />  
  <w:rsid w:val="000874C3" />  
- <w:pPr> 
  <w:pStyle w:val="myStyle" />  
  </w:pPr> 
- <w:rPr> 
  <wx:font wx:val="Italics" />  
  <w:color w:val="FF0000" />  
  </w:rPr> 
  </w:style> 
  </w:styles> 
- <w:p> 
- <w:pPr> 
  <w:pStyle w:val="myStyle" />  
  </w:pPr> 
- <w:r> 
  <w:t>The quick brown fox jumps over the lazy dog.</w:t>  
  </w:r>
    </w:p> 
  </w:cfChunk> 
  <w:p />  
  </w:body> 
  </w:wordDocument>
교체 파일 포맷을 가진 컨텍스트 - 프리 문서 부분
전술한 바와 같이, 종래의 방법 및 시스템에 따르면, 데이터 또는 콘텐츠의 일부가 수신 문서로서 상이한 파일 포맷을 가진 문서에 추가될 때, 수신 문서는 인커밍 부분이 스타일, 폰트 등을 포함하는 적절한 포맷팅 속성들과 함께 적절히 표시되는 방식으로 인커밍 부분을 처리하지 못할 수 있다. 또는, 인커밍 부분이 수 신 문서와 다른 포맷팅 타입을 갖는 경우, 수신 문서는 인커밍 부분을 전혀 로딩하지 못할 수 있다. 예를 들어, HTML에 따라 포맷된 데이터의 일부가 XML에 따라 포맷된 문서로 복사되는 경우, HTML 부분은 로드에 실패할 수 있는데, 이는 문서의 처리 및 표시를 담당하는 애플리케이션이 콘텐츠의 인커밍 부분이 무엇인지를 이해하지 못할 수 있기 때문이다. 도 4 및 5를 참조하여 전술한 바와 같이, 텍스트 또는 데이터의 인커밍 부분들은 <cfChunk> XML 태그 내에 랩핑될 수 있고, 텍스트 또는 데이터의 일부에 적용된 XML 주석은 텍스트 또는 데이터의 인커밍 부분과 연관된 스타일, 폰트 등과 같은 포맷팅 정보를 식별하여, 수신 XML 표현 문서가 론칭되고 텍스트 또는 데이터의 인커밍 부분이 론칭된 문서와 통합(즉, 병합, 복사, 이동, 링크)될 때 텍스트 또는 데이터의 인커밍 부분에 적용될 포맷팅 속성들을 확인 또는 리졸브할 수 있다.
본 발명의 다른 실시예에 따르면, 텍스트, 데이터 또는 다른 콘텐츠의 인커밍 부분에 XML <cfChunk> 주석이 적용되며, 이것은 인커밍 부분이 수신 문서에 사용되는 것과 다른 파일 포맷 타입인 것을 수신 XML 표현 문서에 알리기 위하여 텍스트, 데이터 또는 다른 콘텐츠의 인커밍 또는 참조 부분과 연관된 교체 파일 포맷 타입들에 관하여 수신 문서 및 애플리케이션에 알리기 위하여 자기 기술 속성들을 제공한다. 도 6은 본 발명의 실시예들에 따라 자기 기술 교체 파일 포맷(self-described alternative file formats)을 가진 컨텍스트-프리 콘텐츠 부분의 XML 기반 문서로의 삽입을 나타내는 간단한 블록도이다. 도 6에 도시된 바와 같이, XML 표현 문서(610), 예를 들어 메모랜덤 또는 기사와 같은 워드 프로세싱 문서가 도시 되어 있다. XML 문서(610)는 다양한 XML 구조가 문서에 적용된 것으로 도시되어 있다. 예를 들어, 문서에 입력될 헤딩 정보를 구조화하기 위하여 <heading> 태그들(615)이 문서에 적용된다. 문서(610)의 본문에 삽입될 텍스트, 데이터 또는 다른 콘텐츠를 구조화하기 위해 <Body> 태그들(620)이 문서에 적용된다. 도 6에 도시된 XML 구조 샘플은 양호하게 구성된 XML 태그들 및 관련 구조를 나타내는 것을 의미하지 않는다는 것을 이 분야의 전문가는 이해해야 한다. 도 6에 도시된 샘플 XML 구조 및 정보는 단지 예시적인 것이다.
도 6을 계속 참조하면, <body> 태그(620) 내의 XML 문서(610)에 세 개의 <cfChunk> 태그(625, 630, 635)가 적용되었다. 본 발명의 실시예들에 따르면, <cfChunk> 태그들(625, 630, 635)은 인커밍 부분들이 XML 문서(610)에 대해 자기 기술하는 것을 허용하는 컨텍스트-프리 방식으로 텍스트, 데이터 또는 다른 콘텐츠의 인커밍 부분들에 주석을 첨부하는 데 사용된다. 도 4 및 5를 참조하여 전술한 바와 같이, XML 문서(610)를 생성 및/또는 편집하는 애플리케이션은 사용시에 그 애플리케이션과 통합되거나 애플리케이션에 의해 호출되는 XML 파싱 애플리케이션을 호출하여, XML 문서(610)에 적용된 XML 구조를 파싱한다.
본 발명의 실시예들에 따르면, XML 파싱 애플리케이션이 부분들(640, 645, 650)과 각각 연관된 XML <cfChunk> 태그들(625, 630, 635)을 파싱할 때, 파싱 애플리케이션은 콘텐츠의 각각의 인커밍 부분에 적용된 지정 파일 포맷 타입 및 포맷팅 정보를 결정한다. 예를 들어, XML 문서(610)의 본문에 삽입될 제1 인커밍 부분(640)은 <cfChunk 1> 태그와 연관되어 있고, 인커밍 부분의 파일 포맷 타입을 HTML 로서 식별한다. "style:1"의 스타일 타입도 식별된다. 따라서, XML 문서(610)를 생성, 편집 및 표시하기 위한 애플리케이션, 예를 들어 워드 프로세싱 애플리케이션(125)은 문서(610)에 적용된 XML 구조의 파싱을 통해, 삽입된 콘텐츠 부분(640)이 HTML에 따라 포맷되고 "style:1"의 포맷팅 스타일을 갖는다는 것을 학습한다. 따라서, XML 표현 문서(610)를 생성 및/또는 편집하기 위해 사용되는 애플리케이션은 인커밍 부분과 연관된 파일 포맷 타입 및 스타일에 따라 인커밍 콘텐츠 부분(640)을 처리할 수 있다. 예를 들어, 인커밍 부분(640)을 참조하여, 수신 애플리케이션은 인커밍 부분이 HTML에 따라 처리, 판독 및 표시되어야 한다는 것, 또는 인커밍 부분이 HTML 파일 포맷에서 수신 애플리케이션에 의해 처리하기에 적절한 다른 파일 포맷 타입으로 변환되어야 한다는 것을 알게 된다. 유사하게, 수신 애플리케이션은 인커밍 부분이 "style:1"의 식별 포맷팅 속성과 연관된 포맷팅 속성들, 예를 들어 폰트, 스타일 등과 함께 표시되어야 한다는 것을 알게 된다.
도 6에 도시된 바와 같이, 제2 인커밍 콘텐츠 부분(645)이 도시되어 있다. 제2 인커밍 부분(645)은 "style:4"로서 식별되는 스타일의 리치 텍스트 포맷팅(RTF)의 파일 포맷 타입을 가진 것으로 도시되어 있다. 인커밍 부분(640)에서와 같이, 콘텐츠의 인커밍 부분을 자기 기술하는 데 사용되는 정보는 수신 또는 소비 애플리케이션에 의해 인커밍 부분과 연관된 파일 포맷 타입을 이해하고 인커밍 콘텐츠에 적용된 임의의 관련 포맷팅 속성들을 이해하기 위해 사용될 수 있다. 유사하게, 관련 바이너리 파일 포맷 타입 및 "style:2"의 관련 스타일을 가진 제3 인커밍 부분(650)이 도시되어 있다. 다른 인커밍 콘텐츠 부분에서와 같이, 수신 또는 소비 애플리케이션은 인커밍 콘텐츠 부분을 수신하고 처리하기 위하여 식별된 스타일 속성들과 같은 식별된 파일 포맷 타입 및 다른 정보를 이용할 수 있다.
이 실시예에 따르면, 수신 또는 소비 애플리케이션, 예를 들어 워드 프로세싱 애플리케이션은 인커밍 부분들과 연관된 파일 포맷 타입에 비추어 콘텐츠의 인커밍 부분들을 이용할 수 있다. 종래의 방법 및 시스템에 따르면, 인커밍 부분들은 수신 애플리케이션에 의해 로딩되지 못하거나, 인커밍 부분들이 수신 애플리케이션에 의해 성공적으로 로딩된 경우에도 관련 텍스트, 데이터 또는 다른 콘텐츠가 잘못 처리될 수 있다. 예를 들어, 인커밍 부분은 만족스럽지 못한 방식으로 표시될 수 있다. 수신 애플리케이션은 인커밍 콘텐츠의 원래의 파일 포맷 타입을 확인할 수 있으므로, 수신 애플리케이션은 인커밍 콘텐츠의 변환, 또는 인커밍 콘텐츠의 이해, 소비 및 이용에 필요한 소프트웨어 프로그래밍의 호출과 같은 적절한 동작을 취할 수 있다. 예를 들어, 인커밍 콘텐츠가 HTML에 따라 포맷되는 경우, 수신 애플리케이션은 인커밍 콘텐츠를 이용하기 전에 인커밍 콘텐츠를 변환하거나, 인커밍 콘텐츠를 이용, 예를 들어 표시하는 데 필요한 코드에 액세스할 수 있다. 따라서, 본 발명의 실시예들에 따르면, 도 4 및 5를 참조하여 전술한 바와 같이, 수신 애플리케이션이 인커밍 콘텐츠에 대한 관련 포맷팅 속성들을 리졸브할 때, 수신 애플리케이션은 인커밍 콘텐츠와 연관된 교체 파일 포맷 타입들도 리졸브할 수 있다.
본 발명의 일 실시예에 따르면, 전술한 콘텐츠 부분들의 수신 또는 소비를 담당하는 소프트웨어 애플리케이션, 예를 들어 워드 프로세싱 애플리케이션, 스프 레드시트 애플리케이션, 슬라이드 프리젠테이션 애플리케이션, 탁상 출판 애플리케이션 등도 다른 애플리케이션들에 의해 사용하기 위한 컨텍스트-프리 데이터 부분들(640, 645, 650)을 생성할 수 있다. 이러한 애플리케이션에 의해 데이터의 일부가 저장될 때, 또는 다른 문서에 의해 조작되는 문서에 붙이기 위해 데이터의 일부가 복사될 때, 컨텍스트-프리 부분을 생성하기 위해 사용되는 애플리케이션은 데이터에 <cfChunk> 주석을 적용할 수 있으며, 데이터의 일부와 연관된 파일 포맷은 물론 포맷팅과 같은 다른 속성들(예를 들어, 굵은 글자체, 이탤릭체, 폰트 등)을 식별하기 위해 데이터의 일부에 대한 속성들을 저장할 수 있다. 예를 들어, 컨텍스트-프리 부분(640, 645, 650)을 생성하는 애플리케이션이 HTML 포맷에 따라 데이터를 생성하는 경우, 다른 애플리케이션들에 의한 사용을 위해 생성되는 데이터의 컨텍스트-프리 부분들은 데이터의 컨텍스트-프리 부분과 연관된 파일 포맷으로서 HTML을 식별하기 위해 주석이 첨부될 수 있다. 전술한 바와 같이, 소비 애플리케이션이 데이터를 수신할 때, 소비 애플리케이션은 생성 애플리케이션에 의해 데이터의 일부에 적용된 관련 파일 포맷 및 다른 포맷팅 속성들에 따라 컨텍스트-프리 부분을 판독하고 사용할 수 있다.
이제, 도 7을 참조하고, 본 발명의 다른 실시예에 따르면, 수신 문서(710) 및 하나 이상의 인커밍 콘텐츠 부분(730, 735, 740)은 전자 파일 컨테이너(700)에 넣어질 수 있다. 예를 들어, 파일 컨테이너(700)는 .ZIP 파일 포맷과 같은 파일 포맷을 나타낼 수 있다. 실시예들에 따르면, 파일 컨테이너(700)가 선택되거나 열리는 경우, XML 수신 문서(710) 및 관련 콘텐츠 부분들(730, 735, 740)의 각각은 개별 파일들로서 식별되고 가시적으로 표현될 수 있다. 이 실시예에 따르면, 각각의 인커밍 콘텐츠 부분(730, 735, 740)은 도 6을 참조하여 전술한 바와 같이 수신 문서(710) 내에 일렬로 삽입되거나 채워지지 않으나, 그 대신에 수신 문서(710)는 관계 파일(750)을 참조하는데, 이 참조 파일은 인커밍 콘텐츠 부분들을 지시하며, 수신 문서(710)에, 그리고 인커밍 콘텐츠 부분들을 이용하기 위해 수신 문서(710)의 처리를 담당하는 애플리케이션에 정보를 제공한다.
도 7에 도시된 바와 같이, XML 문서(710)는 저자/편집자에 의해 생성되고 있는 수신 문서를 나타내며, 콘텐츠 부분들(730, 735, 740)은 수신 문서(710)와 병합하기 위한 인커밍 콘텐츠 부분들을 나타낸다. 수신 문서(710)는 3개의 콘텐츠 참조(715, 720, 725)를 포함한다. 본 발명의 실시예들에 따르면, 파일 컨테이너(700)는 수신 문서 애플리케이션, 예를 들어 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 슬라이드 프리젠테이션 애플리케이션 등에 의한 로드 및/또는 론치 시에 수신 문서(710)와 병합되는 인커밍 콘텐츠 부분들과 수신 문서(710) 사이의 관계를 나타내는 관계 트리를 포함하는 관계 파일(750)에 링크된다.
관계 파일(750)을 참조하면, XML 문서(710)에서 식별된 각각의 콘텐츠 참조는 관련 인커밍 콘텐츠 부분을 지시한다. 본 발명의 실시예들에 따르면, 수신 문서(710)의 조작을 담당하는 소프트웨어 애플리케이션, 예를 들어 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 슬라이드 프리젠테이션 애플리케이션 등이 수신 문서(710)를 로딩할 때, 문서(710)는 관련 파싱 애플리케이션, 예를 들어 XML 파서(parser)에 의해 수신 문서(710)에 적용된 구조에 대해 파싱된다. 각각의 참조(715, 720, 725)가 파싱될 때, 수신 애플리케이션은 어떠한 인커밍 또는 관련 콘텐츠 부분이 식별된 참조에 의해 지시되는지를 결정하기 위해 관계 파일(750)을 참조한다. 예를 들어, XML 문서(710)가 파싱될 때, 제1 참조(715)는 예를 들어 HTML의 파일 포맷 타입을 가진 콘텐츠 부분인 제1 콘텐츠 부분(730)을 지시하는 것으로 발견된다. 제2 참조(720)가 XML 문서(710)에서 파싱될 때, 관계 파일(750)에 대한 참조는 제2 참조(720)가 RTF의 파일 포맷을 가진 제2 인커밍 콘텐츠 부분(735)을 지시하는 것으로 결정한다. 유사하게, 제3 참조(725)가 수신 문서(710)에서 파싱될 때, 관련된 관계 파일(750)에 대한 참조는 제3 참조(725)가 바이너리 파일 포맷 타입을 가진 제3 인커밍 부분(740)을 지시하는 것을 보여준다. 참조된 콘텐츠와 연관된 파일 포맷 타입들과 같은 모든 정보가 리졸브되면, 수신 애플리케이션은 병합 문서를 표시하기 위해 지시된 콘텐츠 부분들과 수신 문서를 병합할 수 있다. 도 7을 참조하여 설명된 바와 같은 문서의 컴포넌트들의 포함 및 연관성에 대한 상세한 설명을 위해, 본 명세서에 충분히 설명된 바와 같이 참고로 반영된, 2004년 12월 20일자로 미국출원, "Improved Management And Use Of Data In A Computer-Generated Document", 대리인 관리번호 No.60001.0440US01, 출원인 관리번호 309861.01, 일련 번호 _______를 참조하라.
본 명세서에 설명된 바와 같이, 텍스트 또는 데이터의 일부를 문서에 삽입하거나 텍스트 또는 데이터의 일부를 문서와 연관시키기 위한 방법 및 시스템이 제공되는데, 여기에서 삽입 또는 연관된 텍스트 또는 데이터의 부분은 그 자신과 함께 그 파일 포맷 타입 및 지정 스타일, 폰트, 리스트 타입 등과 같은 다른 포맷팅 속 성들을 운반하여, 수신 애플리케이션이 텍스트 또는 데이터의 부분을 적절히 처리할 수 있게 한다. 본 발명의 범위 또는 사상으로부터 벗어나지 않고 본 발명에서 다양한 수정 또는 변형이 이루어질 수 있다는 것이 이 분야의 전문가에게 자명할 것이다. 본 명세서에 개시된 본 발명의 명세서 및 실시를 고려할 때 본 발명의 다른 실시예들은 이 분야의 전문가에게 자명할 것이다.
본 발명에 따르면, 텍스트 또는 데이터의 부분들을 문서 내에 삽입하거나 문서에 의해 참조하기 위한 방법 및 시스템이 제공된다.

Claims (20)

  1. 컴퓨터에 의해 실행될 때, 수신 문서 내의 콘텐츠 부분과 연관된 자기 기술 속성에 기초하여 상기 콘텐츠 부분을 통합하는 방법을 수행하는 명령들이 저장된 컴퓨터 판독 가능 매체에 있어서,
    상기 방법은
    콘텐츠 부분을 포맷하는 파일 포맷을 식별하는 자기 기술 속성을 가진 콘텐츠 부분을 수신하는 단계;
    상기 콘텐츠 부분과 컴퓨터 생성 문서를 통합하기 위해 수신 애플리케이션에서 상기 콘텐츠 부분을 수신하는 단계;
    상기 수신 애플리케이션에서, 상기 콘텐츠 부분을 포맷하는 파일 포맷을 식별하는 자기 기술 속성을 파싱하는 단계;
    상기 콘텐츠 부분을 포맷하는 파일 포맷에 따라 상기 콘텐츠 부분을 처리하는 단계; 및
    상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하는 단계
    를 포함하는 컴퓨터 판독 가능 매체.
  2. 제1항에 있어서, 상기 콘텐츠 부분을 포맷하는 파일 포맷을 식별하는 자기 기술 속성을 가진 상기 콘텐츠 부분을 수신하는 단계는 상기 수신 애플리케이션에서 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하기 위한 선택의 표시를 수 신하는 단계를 포함하는 컴퓨터 판독 가능 매체.
  3. 제1항에 있어서, 상기 콘텐츠 부분을 포맷하는 파일 포맷을 식별하는 자기 기술 속성을 파싱하는 단계는 상기 콘텐츠 부분을 포맷하는 파일 포맷을 결정하는 단계 및 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하기 위한 임의의 처리 요건을 결정하는 단계를 포함하는 컴퓨터 판독 가능 매체.
  4. 제3항에 있어서, 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하기 위한 임의의 처리 요건을 결정하는 단계는 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하기 전에 상기 콘텐츠 부분이 다른 파일 포맷으로 변환되어야 하는지를 결정하는 단계를 포함하는 컴퓨터 판독 가능 매체.
  5. 제4항에 있어서, 상기 콘텐츠 부분을 포맷하는 파일 포맷에 따라 상기 콘텐츠 부분을 처리하는 단계는 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하기 전에 상기 콘텐츠 부분을 다른 파일 포맷으로 변환하는 단계를 포함하는 컴퓨터 판독 가능 매체.
  6. 제3항에 있어서, 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하기 위한 임의의 처리 요건을 결정하는 단계는 상기 수신 애플리케이션이 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하기 위한 추가적인 기능을 요구하는지를 결정 하는 단계를 포함하는 컴퓨터 판독 가능 매체.
  7. 제6항에 있어서, 상기 콘텐츠 부분을 포맷하는 파일 포맷에 따라 상기 콘텐츠 부분을 처리하는 단계는,
    상기 수신 애플리케이션에 의해 추가 기능에 액세스하는 단계; 및
    상기 추가 기능으로 상기 콘텐츠 부분을 처리하는 단계
    를 포함하는 컴퓨터 판독 가능 매체.
  8. 제1항에 있어서, 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하는 단계는 상기 콘텐츠 부분을 포맷하는 파일 포맷에 따라 상기 콘텐츠 부분을 처리한 후에 상기 콘텐츠 부분을 상기 컴퓨터 생성 문서 내로 복사하는 단계를 포함하는 컴퓨터 판독 가능 매체.
  9. 제1항에 있어서, 상기 방법은 전자 파일 컨테이너 내에 상기 컴퓨터 생성 문서 및 상기 콘텐츠 부분을 저장하는 단계; 및 상기 콘텐츠 부분이 상기 컴퓨터 생성 문서와 어떻게 관련되는지를 나타내는 관계 표현을 제공하는 단계를 더 포함하는 컴퓨터 판독 가능 매체.
  10. 제9항에 있어서, 상기 콘텐츠 부분이 상기 컴퓨터 생성 문서와 어떻게 관련되는지를 나타내는 관계 표현을 제공하는 단계는 상기 콘텐츠 부분이 상기 컴퓨터 생성 문서와 통합되는 상기 컴퓨터 생성 문서 내의 위치를 나타내는 단계를 포함하는 컴퓨터 판독 가능 매체.
  11. 제10항에 있어서, 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하는 단계는,
    상기 콘텐츠 부분을 상기 컴퓨터 생성 문서 내의 주어진 위치에 링크하는 단계; 및
    상기 콘텐츠 부분을 포맷하는 파일 포맷에 따라 상기 콘텐츠 부분을 처리한 후에 상기 주어진 위치에 상기 콘텐츠 부분을 제공하기 위해 상기 콘텐츠 부분을 호출하는 단계
    를 포함하는 컴퓨터 판독 가능 매체.
  12. 제1항에 있어서, 상기 방법은 상기 콘텐츠 부분을 포맷하는 파일 포맷을 식별하는 자기 기술 속성을 가진 콘텐츠 부분을 수신하기 전에,
    수신 애플리케이션에 의한 사용을 위한 콘텐츠 부분을 생성하는 단계; 및
    상기 콘텐츠 부분을 포맷하는 파일 포맷을 상기 수신 애플리케이션에 대하여 식별하기 위해 상기 콘텐츠 부분에 자기 기술 속성을 적용하는 단계
    를 더 포함하는 컴퓨터 판독 가능 매체.
  13. 수신 문서 내의 콘텐츠 부분과 연관된 자기 기술 속성에 기초하여 상기 콘텐 츠 부분을 통합하는 방법에 있어서,
    콘텐츠 부분을 포맷하는 파일 포맷을 식별하는 자기 기술 속성을 가진 콘텐츠 부분을 수신하는 단계;
    상기 콘텐츠 부분과 컴퓨터 생성 문서를 통합하기 위해 수신 애플리케이션에서 상기 콘텐츠 부분을 수신하는 단계;
    상기 수신 애플리케이션에서, 상기 콘텐츠 부분을 포맷하는 파일 포맷을 식별하는 자기 기술 속성을 파싱하여 상기 콘텐츠 부분을 포맷하는 파일 포맷을 결정하고 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서 사이의 관계를 결정하는 단계;
    전자 파일 컨테이너 내에 상기 컴퓨터 생성 문서 및 상기 콘텐츠 부분을 저장하는 단계; 및
    상기 콘텐츠 부분이 상기 컴퓨터 생성 문서와 어떻게 관련되는지를 나타내는 관계 표현을 제공하는 단계
    를 포함하는 방법.
  14. 제13항에 있어서,
    상기 콘텐츠 부분을 포맷하는 파일 포맷에 따라 상기 콘텐츠 부분을 처리하는 단계; 및
    상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하는 단계
    를 더 포함하는 방법.
  15. 제14항에 있어서, 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하는 단계는
    상기 컴퓨터 생성 문서 내의 주어진 위치에 상기 콘텐츠 부분을 링크하는 단계; 및
    상기 콘텐츠 부분을 포맷하는 파일 포맷에 따라 상기 콘텐츠 부분을 처리한 후에 상기 주어진 위치에 상기 콘텐츠 부분을 제공하기 위해 상기 콘텐츠 부분을 호출하는 단계
    를 포함하는 방법.
  16. 컴퓨터에 의해 실행될 때, 수신 문서 내의 콘텐츠 부분과 연관된 자기 기술 속성에 기초하여 상기 콘텐츠 부분을 통합하는 방법을 수행하는 명령들이 저장된 컴퓨터 판독 가능 매체에 있어서, 상기 방법은
    콘텐츠 부분을 포맷하는 파일 포맷을 식별하는 자기 기술 속성을 가진 콘텐츠 부분을 수신하는 단계;
    상기 콘텐츠 부분과 컴퓨터 생성 문서를 통합하기 위해 수신 애플리케이션에서 상기 콘텐츠 부분을 수신하는 단계;
    상기 수신 애플리케이션에서, 상기 콘텐츠 부분을 포맷하는 파일 포맷을 식별하는 자기 기술 속성을 파싱하는 단계;
    상기 콘텐츠 부분을 포맷하는 파일 포맷에 따라 상기 콘텐츠 부분을 처리하는 단계; 및
    상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하는 단계
    를 포함하는 컴퓨터 판독 가능 매체.
  17. 제16항에 있어서, 상기 콘텐츠 부분을 포맷하는 파일 포맷을 식별하는 자기 기술 속성을 가진 상기 콘텐츠 부분을 수신하는 단계는 상기 수신 애플리케이션에서 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하기 위한 선택의 표시를 수신하는 단계를 포함하는 컴퓨터 판독 가능 매체.
  18. 제16항에 있어서, 상기 콘텐츠 부분을 포맷하는 파일 포맷을 식별하는 자기 기술 속성을 파싱하는 단계는 상기 콘텐츠 부분을 포맷하는 파일 포맷을 결정하는 단계 및 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하기 위한 임의의 처리 요건을 결정하는 단계를 포함하는 컴퓨터 판독 가능 매체.
  19. 제18항에 있어서, 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하기 위한 임의의 처리 요건을 결정하는 단계는 상기 콘텐츠 부분과 상기 컴퓨터 생성 문서를 통합하기 전에 상기 콘텐츠 부분이 다른 파일 포맷으로 변환되어야 하는지를 결정하는 단계를 포함하는 컴퓨터 판독 가능 매체.
  20. 제16항에 있어서, 상기 방법은 전자 파일 컨테이너 내에 상기 컴퓨터 생성 문서 및 상기 콘텐츠 부분을 저장하는 단계; 및 상기 콘텐츠 부분이 상기 컴퓨터 생성 문서와 어떻게 관련되는지를 나타내는 관계 표현을 제공하는 단계를 더 포함하는 컴퓨터 판독 가능 매체.
KR1020050103811A 2004-12-20 2005-11-01 교체 포맷들을 가진 컨텍스트-프리 문서 부분들 KR101130386B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/018,405 US7464330B2 (en) 2003-12-09 2004-12-20 Context-free document portions with alternate formats
US11/018,405 2004-12-20

Publications (2)

Publication Number Publication Date
KR20060070418A true KR20060070418A (ko) 2006-06-23
KR101130386B1 KR101130386B1 (ko) 2012-07-03

Family

ID=36032106

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050103811A KR101130386B1 (ko) 2004-12-20 2005-11-01 교체 포맷들을 가진 컨텍스트-프리 문서 부분들

Country Status (5)

Country Link
US (1) US7464330B2 (ko)
EP (1) EP1672520B1 (ko)
JP (1) JP5060043B2 (ko)
KR (1) KR101130386B1 (ko)
CN (1) CN1794231B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100081522A (ko) * 2009-01-06 2010-07-15 삼성전자주식회사 애플리케이션 간의 콘텐츠를 이동하는 장치 및 방법
KR20170127320A (ko) * 2016-05-11 2017-11-21 쿠팡 주식회사 웹 페이지 생성 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Families Citing this family (40)

* 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
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US8661332B2 (en) * 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US8117534B1 (en) * 2004-06-09 2012-02-14 Oracle America, Inc. Context translation
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
US7478325B2 (en) 2005-04-22 2009-01-13 Microsoft Corporation Methods for providing an accurate visual rendition of a text element formatted with an unavailable font
US20070061714A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Quick styles for formatting of documents
US8645816B1 (en) * 2006-08-08 2014-02-04 Emc Corporation Customizing user documentation
US20080104203A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Viewing Digital Information Over a Network
US7836396B2 (en) * 2007-01-05 2010-11-16 International Business Machines Corporation Automatically collecting and compressing style attributes within a web document
US11113451B2 (en) * 2007-01-30 2021-09-07 Thomson Reuters Enterprise Centre Gmbh Representation of mark-up of master documents
US8161369B2 (en) * 2007-03-16 2012-04-17 Branchfire, Llc System and method of providing a two-part graphic design and interactive document application
US7941749B2 (en) * 2007-05-15 2011-05-10 Microsoft Corporation Composition of electronic document layout
WO2008156640A2 (en) * 2007-06-12 2008-12-24 Smartmicros Usa, Llc A method and apparatus for encoding data
GB0712935D0 (en) * 2007-07-04 2007-08-15 Deltamxl Ltd Representation of multiple markup language files in one file for the productionof new new markup language files
US20090254809A1 (en) * 2008-04-02 2009-10-08 Colorquick, L.L.C. Objects having usage rules that exist outside of the environment in which the object is used
US8074286B2 (en) * 2008-09-15 2011-12-06 Realnetworks, Inc. Secure media path system and method
JP5687269B2 (ja) * 2009-05-14 2015-03-18 コレクシス・ホールディングス・インコーポレーテッド 知識発見のための方法およびシステム
US10417334B2 (en) * 2010-04-19 2019-09-17 Oath, Inc. Systems and methods for providing a microdocument framework for storage, retrieval, and aggregation
US9898454B2 (en) 2010-12-14 2018-02-20 Microsoft Technology Licensing, Llc Using text messages to interact with spreadsheets
US9811516B2 (en) * 2010-12-14 2017-11-07 Microsoft Technology Licensing, Llc Location aware spreadsheet actions
US9129234B2 (en) 2011-01-24 2015-09-08 Microsoft Technology Licensing, Llc Representation of people in a spreadsheet
CN102651000A (zh) * 2011-02-28 2012-08-29 福建星网视易信息系统有限公司 基于xml的金融数据显示方法及系统
US9600807B2 (en) * 2011-12-20 2017-03-21 Excalibur Ip, Llc Server-side modification of messages during a mobile terminal message exchange
CN103377174B (zh) * 2012-04-28 2016-08-03 国际商业机器公司 用于复制文本格式的方法和装置
US8965940B2 (en) * 2012-07-20 2015-02-24 Microsoft Technology Licensing, Llc Imitation of file embedding in a document
US20140164904A1 (en) * 2012-08-20 2014-06-12 Open-Xchange, Inc. Content management system
US9053085B2 (en) * 2012-12-10 2015-06-09 International Business Machines Corporation Electronic document source ingestion for natural language processing systems
GB201315520D0 (en) * 2013-08-30 2013-10-16 Deltaxml Ltd Representation of multiple markup language files that differ in structure and content in one file for the production of new markup language files
CN104881409B (zh) * 2014-02-27 2018-04-20 北京方捷软件有限公司 一种文档加载的方法及装置
EP3193261B1 (en) * 2014-03-18 2020-11-04 smartwork solutions GmbH Method and system for editing virtual documents
US20160344677A1 (en) 2015-05-22 2016-11-24 Microsoft Technology Licensing, Llc Unified messaging platform for providing interactive semantic objects
US10339183B2 (en) 2015-06-22 2019-07-02 Microsoft Technology Licensing, Llc Document storage for reuse of content within documents
US10740349B2 (en) 2015-06-22 2020-08-11 Microsoft Technology Licensing, Llc Document storage for reuse of content within documents
US10394949B2 (en) * 2015-06-22 2019-08-27 Microsoft Technology Licensing, Llc Deconstructing documents into component blocks for reuse in productivity applications
US20160378735A1 (en) * 2015-06-29 2016-12-29 Microsoft Technology Licensing, Llc Metamorphic documents
US11238220B1 (en) * 2015-11-13 2022-02-01 Wells Fargo Bank, N.A. Dynamic user interface framework
US10169325B2 (en) 2017-02-09 2019-01-01 International Business Machines Corporation Segmenting and interpreting a document, and relocating document fragments to corresponding sections
US10176889B2 (en) 2017-02-09 2019-01-08 International Business Machines Corporation Segmenting and interpreting a document, and relocating document fragments to corresponding sections
US11934359B1 (en) 2022-11-18 2024-03-19 International Business Machines Corporation Log content modeling

Family Cites Families (160)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4410286A (en) 1981-06-16 1983-10-18 International Business Machines Corporation Printing complex characters
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
US4870611A (en) 1983-11-15 1989-09-26 International Business Machines Corporation Apparatus and method for system printing mode control
US5148366A (en) 1989-10-16 1992-09-15 Medical Documenting Systems, Inc. Computer-assisted documentation system for enhancing or replacing the process of dictating and transcribing
EP0518967A4 (en) 1990-03-05 1993-06-30 Interleaf, Inc. Extensible electronic document processing system for creating new classes of active documents
US5222205A (en) * 1990-03-16 1993-06-22 Hewlett-Packard Company Method for generating addresses to textured graphics primitives stored in rip maps
EP0578207B1 (en) * 1992-07-06 1999-12-01 Microsoft Corporation Method for naming and binding objects
US5469533A (en) 1992-07-10 1995-11-21 Microsoft Corporation Resource-oriented printer system and method of operation
AU675816B2 (en) 1992-12-14 1997-02-20 Commonwealth Of Australia, The Message document security
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
US5537526A (en) 1993-11-12 1996-07-16 Taugent, Inc. Method and apparatus for processing a display document utilizing a system level document framework
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
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
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
US5579466A (en) 1994-09-01 1996-11-26 Microsoft Corporation Method and system for editing and formatting data in a dialog window
US5881213A (en) 1994-10-05 1999-03-09 Microsoft Corporation Deferred printing
US5602974A (en) 1994-10-05 1997-02-11 Microsoft Corporation Device independent spooling in a print architecture
US5655130A (en) * 1994-10-14 1997-08-05 Unisys Corporation Method and apparatus for document production using a common document database
JPH08297669A (ja) * 1994-12-27 1996-11-12 Internatl Business Mach Corp <Ibm> 複合ドキュメント内の複数のパートを自動的にリンクするシステムおよび方法
JPH08212205A (ja) 1995-02-07 1996-08-20 Nec Corp 複合文書管理システム
US5734883A (en) 1995-04-27 1998-03-31 Michael Umen & Co., Inc. Drug document production system
US6952801B2 (en) 1995-06-07 2005-10-04 R.R. Donnelley Book assembly process and apparatus for variable imaging system
US6199082B1 (en) * 1995-07-17 2001-03-06 Microsoft Corporation Method for delivering separate design and content in a multimedia publishing system
US5675788A (en) 1995-09-15 1997-10-07 Infonautics Corp. Method and apparatus for generating a composite document on a selected topic from a plurality of information sources
JPH09128380A (ja) 1995-10-30 1997-05-16 Matsushita Electric Ind Co Ltd 文書蓄積管理システム
JPH09128379A (ja) * 1995-11-06 1997-05-16 Hitachi 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
US6457017B2 (en) 1996-05-17 2002-09-24 Softscape, Inc. Computing system for information management
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
US6144974A (en) 1996-12-13 2000-11-07 Adobe Systems Incorporated Automated layout of content in a page framework
US5911776A (en) * 1996-12-18 1999-06-15 Unisys Corporation Automatic format conversion system and publishing methodology for multi-user network
KR20000069550A (ko) 1996-12-20 2000-11-25 챨스 에이치. 셀라 전자문서 프로세스를 위한 방법 및 시스템
US6449653B2 (en) 1997-03-25 2002-09-10 Microsoft Corporation Interleaved multiple multimedia stream for synchronized transmission over a computer network
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
US6604144B1 (en) 1997-06-30 2003-08-05 Microsoft Corporation Data format for multimedia object storage, retrieval and transfer
US6269403B1 (en) 1997-06-30 2001-07-31 Microsoft Corporation Browser and publisher for multimedia object storage, retrieval and transfer
US8386912B2 (en) * 1997-07-28 2013-02-26 Ca, Inc. Hypermedia document publishing including hypermedia document parsing
US6938203B1 (en) 1997-08-11 2005-08-30 Chrysanne Dimarco Method and apparatus for authoring of customizable multimedia documents
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
US6094665A (en) 1997-09-18 2000-07-25 Hewlett-Packard Company Method and apparatus for correcting a uniform resource identifier
US6134552A (en) 1997-10-07 2000-10-17 Sap Aktiengesellschaft Knowledge provider with logical hyperlinks
US6594682B2 (en) * 1997-10-28 2003-07-15 Microsoft Corporation Client-side system for scheduling delivery of web content and locally managing the web content
GB9800100D0 (en) * 1998-01-06 1998-03-04 Ibm A method and component for presentation of information
US6470364B1 (en) 1998-02-24 2002-10-22 Sun Microsystems, Inc. Method and apparatus for generating text components
US20010013043A1 (en) 1998-03-12 2001-08-09 Richard J. Wagner System and method for determining browser package and version compatibility of a web document
US6247018B1 (en) * 1998-04-16 2001-06-12 Platinum Technology Ip, Inc. Method for processing a file to generate a database
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
US6496206B1 (en) 1998-06-29 2002-12-17 Scansoft, Inc. Displaying thumbnail images of document pages in an electronic folder
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
US6407821B1 (en) * 1998-09-08 2002-06-18 International Business Machines Corporation Method and apparatus for printing documents including embedded print objects with an intelligent printing system
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
US5993088A (en) 1998-09-30 1999-11-30 International Business Machines Corporation Method for improving print performance and quality by accumulating, storing and using resource accounting information with a print job
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
US6583789B1 (en) * 1998-12-03 2003-06-24 International Business Machines Corporation Method and system for processing glyph-based quality variability requests
US6918082B1 (en) * 1998-12-17 2005-07-12 Jeffrey M. Gross Electronic document proofing system
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
US6608693B1 (en) 1999-04-30 2003-08-19 Hewlett-Packard Development Company, L.P. Apparatus and method for generating a print job from a command stream describing multiple copies of a document
US6658477B1 (en) 1999-05-12 2003-12-02 Microsoft Corporation Improving the control of streaming data through multiple processing modules
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
US6763343B1 (en) 1999-09-20 2004-07-13 David M. Brooke Preventing duplication of the data in reference resource for XML page generation
US6418448B1 (en) 1999-12-06 2002-07-09 Shyam Sundar Sarkar Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web
US6812941B1 (en) 1999-12-09 2004-11-02 International Business Machines Corp. User interface management through view depth
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
US6981207B1 (en) 2000-01-11 2005-12-27 Ecora Software Corporation Automatic documentation of configurable systems by outputting explanatory information of configuration parameters in a narrative format and configuration parameters differences
WO2001052094A2 (en) * 2000-01-14 2001-07-19 Thinkstream, Inc. Distributed globally accessible information network
US6643652B2 (en) * 2000-01-14 2003-11-04 Saba Software, Inc. Method and apparatus for managing data exchange among systems in a network
JP3879350B2 (ja) 2000-01-25 2007-02-14 富士ゼロックス株式会社 構造化文書処理システム及び構造化文書処理方法
US6785673B1 (en) 2000-02-09 2004-08-31 At&T Corp. Method for converting relational data into XML
AU2001235957A1 (en) * 2000-03-01 2001-09-12 Celltrex Ltd. System and method for rapid document conversion
US6591278B1 (en) 2000-03-03 2003-07-08 R-Objects, Inc. Project data management system and method
US6961902B2 (en) 2000-03-07 2005-11-01 Broadcom Corporation Interactive system for and method of automating the generation of legal documents
AU2001251736A1 (en) * 2000-03-27 2001-10-08 Documentum, Inc Method and apparatus for generating metadata for a document
US7284199B2 (en) 2000-03-29 2007-10-16 Microsoft Corporation Process of localizing objects in markup language documents
EP1292895A4 (en) * 2000-04-07 2006-08-09 Financeware Com METHOD AND DEVICE FOR PLAYING ELECTRONIC DOCUMENTS
US7055095B1 (en) 2000-04-14 2006-05-30 Picsel Research Limited Systems and methods for digital document processing
US6789229B1 (en) 2000-04-19 2004-09-07 Microsoft Corporation Document pagination based on hard breaks and active formatting tags
US20040049737A1 (en) * 2000-04-26 2004-03-11 Novarra, Inc. System and method for displaying information content with selective horizontal scrolling
US6781609B1 (en) 2000-05-09 2004-08-24 International Business Machines Corporation Technique for flexible inclusion of information items and various media types in a user interface
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
US6654737B1 (en) 2000-05-23 2003-11-25 Centor Software Corp. Hypertext-based database architecture
US6771291B1 (en) 2000-06-07 2004-08-03 The Perfect Web Corporation Method for developing electronic documents employing multiple display regions
US20010051962A1 (en) 2000-06-08 2001-12-13 Robert Plotkin Presentation customization
JP2002024211A (ja) 2000-06-30 2002-01-25 Hitachi Ltd 文書管理方法およびシステム並びにその処理プログラムを格納した記憶媒体
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
US6657647B1 (en) 2000-09-25 2003-12-02 Xoucin, Inc. Controlling the order in which content is displayed in a browser
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
US6925631B2 (en) 2000-12-08 2005-08-02 Hewlett-Packard Development Company, L.P. Method, computer system and computer program product for processing extensible markup language streams
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
US20020184263A1 (en) * 2001-05-17 2002-12-05 Pierre Perinet Method and system for converting usage data to extensive markup language
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
US6732090B2 (en) * 2001-08-13 2004-05-04 Xerox Corporation Meta-document management system with user definable personalities
US7133862B2 (en) * 2001-08-13 2006-11-07 Xerox Corporation System with user directed enrichment and import/export control
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
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
JP2003223440A (ja) * 2001-11-21 2003-08-08 Ricoh Co Ltd 文書処理装置
US6910843B2 (en) 2001-11-26 2005-06-28 Hewlett-Packard Development Company, L.P. Cover authoring systems and methods and bookbinding systems incorporating the same
US7146564B2 (en) * 2001-12-21 2006-12-05 Xmlcities, Inc. Extensible stylesheet designs using meta-tag and/or associated meta-tag information
US7155670B2 (en) * 2002-01-18 2006-12-26 Internet Disclosure Co., Ltd. Document authoring system and authoring management program
US6912555B2 (en) 2002-01-18 2005-06-28 Hewlett-Packard Development Company, L.P. Method for content mining of semi-structured documents
US20040030987A1 (en) * 2002-04-30 2004-02-12 Manelli Donald D. Method for generating customized patient education documents
US20040205580A1 (en) * 2002-05-23 2004-10-14 Mindflash Technologies, Inc. Method and system for document management
US7281245B2 (en) 2002-06-05 2007-10-09 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7669120B2 (en) * 2002-06-21 2010-02-23 Microsoft Corporation Method and system for encoding a mark-up language document
US7392479B2 (en) 2002-06-27 2008-06-24 Microsoft Corporation System and method for providing namespace related information
US7458018B2 (en) 2002-06-27 2008-11-25 Microsoft Corporation System and method for obtaining and using namespace related information for opening XML documents
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
FR2844370B1 (fr) * 2002-09-05 2008-05-09 Canon Kk Document electronique de description d'un service informatique
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
US20040148278A1 (en) * 2003-01-22 2004-07-29 Amir Milo System and method for providing content warehouse
US20040172584A1 (en) * 2003-02-28 2004-09-02 Microsoft Corporation Method and system for enhancing paste functionality of a computer software application
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
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 キヤノン株式会社 文書処理装置及び文書処理方法
US7383289B2 (en) * 2003-12-02 2008-06-03 Sap Aktiengesellschaft Updating and maintaining data in a multi-system network using asynchronous message transfer
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
US20060025091A1 (en) * 2004-08-02 2006-02-02 Matsushita Electric Industrial Co., Ltd Method for creating and using phrase history for accelerating instant messaging input on mobile devices
US9286275B2 (en) * 2004-08-23 2016-03-15 Oracle America, Inc. System and method for automatically generating XML schema for validating XML input documents
US7712027B2 (en) * 2004-08-31 2010-05-04 Research In Motion Limited Method for document page delivery to a mobile communication device
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
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
US7617229B2 (en) 2004-12-20 2009-11-10 Microsoft Corporation Management and use of data in a computer-generated document
US7154503B2 (en) 2005-03-31 2006-12-26 Microsoft Corporation Methods and systems for brush composition

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100081522A (ko) * 2009-01-06 2010-07-15 삼성전자주식회사 애플리케이션 간의 콘텐츠를 이동하는 장치 및 방법
KR20170127320A (ko) * 2016-05-11 2017-11-21 쿠팡 주식회사 웹 페이지 생성 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR101880706B1 (ko) * 2016-05-11 2018-07-20 쿠팡 주식회사 웹 페이지 생성 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Also Published As

Publication number Publication date
US7464330B2 (en) 2008-12-09
KR101130386B1 (ko) 2012-07-03
JP2006178950A (ja) 2006-07-06
JP5060043B2 (ja) 2012-10-31
EP1672520B1 (en) 2019-06-12
US20050149861A1 (en) 2005-07-07
EP1672520A3 (en) 2009-04-08
CN1794231B (zh) 2012-04-11
CN1794231A (zh) 2006-06-28
EP1672520A2 (en) 2006-06-21

Similar Documents

Publication Publication Date Title
KR101130386B1 (ko) 교체 포맷들을 가진 컨텍스트-프리 문서 부분들
KR101169098B1 (ko) 소프트웨어 애플리케이션 문서의 데이터 저장소
RU2348064C2 (ru) Способ и система для расширения функциональных возможностей вставки для компьютерного прикладного программного обеспечения
US7434157B2 (en) Programmable object model for namespace or schema library support in a software application
US7783971B2 (en) Graphic object themes
US20060195454A1 (en) XML schema for binding data
JP5072845B2 (ja) 文書用のxmlデータストアのためのプログラム可能性
EP1672523A2 (en) Method and system for linking data ranges of a computer-generated document with associated extensible markup language elements
WO2007030586A1 (en) Programmability for xml data store for documents
US20080209572A1 (en) Data Processing System, Data Processing Method, and Management Server
Faulkner et al. HTML 5.2
US7178102B1 (en) Representing latent data in an extensible markup language document
US7487515B1 (en) Programmable object model for extensible markup language schema validation
US20090094273A1 (en) Information processing apparatus and control method thereof, and document verification apparatus and control method thereof
EP1826682A1 (en) Document managing device and document managing method
US20080010587A1 (en) Document Processing Device and Document Processing Method
US20050268233A1 (en) System and method for mixed language editing
US7617447B1 (en) Context free document portions
US7404195B1 (en) Programmable object model for extensible markup language markup in an application
US7509573B1 (en) Anti-virus security information in an extensible markup language document
US20080285064A1 (en) Document Processing Device, Document Processing Method, and Electronic Mail Processing Device
US7426690B1 (en) Extensible markup language markup cloning on table rows and cells in a software application document
Lieske et al. Internationalization tag set (ITS) version 1.0
Chang et al. Document Object Model (DOM) Level 3 Content Models and Load and Save Specification
IL165625A (en) Programmable object model for namespace or schema library support in a software application

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 9