KR100977352B1 - 워드 프로세서 문서의 원시 xml에서 비원시 xml을 지원하는 시스템 및 방법 - Google Patents

워드 프로세서 문서의 원시 xml에서 비원시 xml을 지원하는 시스템 및 방법 Download PDF

Info

Publication number
KR100977352B1
KR100977352B1 KR1020090000133A KR20090000133A KR100977352B1 KR 100977352 B1 KR100977352 B1 KR 100977352B1 KR 1020090000133 A KR1020090000133 A KR 1020090000133A KR 20090000133 A KR20090000133 A KR 20090000133A KR 100977352 B1 KR100977352 B1 KR 100977352B1
Authority
KR
South Korea
Prior art keywords
xml
native
elements
schema
native xml
Prior art date
Application number
KR1020090000133A
Other languages
English (en)
Other versions
KR20090013243A (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 KR20090013243A publication Critical patent/KR20090013243A/ko
Application granted granted Critical
Publication of KR100977352B1 publication Critical patent/KR100977352B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 둘 이상의 스키마(schema)와 연관된 요소를 갖는 확장 마크업 언어(XML) 문서를 검증하는 시스템 및 방법에 관한 것으로서, 각각의 스키마의 요소는 다른 스키마의 요소에 임의로 중첩되고, 요소의 각각의 세트는 자신의 스키마 내에서 유효하다. 워드 프로세서가 제1 스키마의 요소를 검증할 때, 제2 스키마의 요소는 제1 스키마의 요소에 대해 무시된다. 제2 스키마의 요소는 분리되어 검증되므로, 제1 스키마의 요소는 제2 스키마에 대응하는 요소를 검증함에 있어서 무시된다.
확장 마크업 언어(XML), 원시 XML, 비원시 XML, 스키마, 병렬 트리, 노드

Description

워드 프로세서 문서의 원시 XML에서 비원시 XML을 지원하는 시스템 및 방법{SYSTEM AND METHOD FOR SUPPORTING NON-NATIVE XML IN NATIVE XML OF A WORD-PROCESSOR DOCUMENT}
본 발명은 둘 이상의 스키마(schema)와 연관된 요소를 갖는 확장 마크업 언어(XML) 문서를 검증하는 시스템 및 방법에 관한 것이다.
마크업 언어(markup language)는 최근에 널리 인기를 끌었다. 마크업 언어 중 한 유형인 확장 마크업 언어(Extensible Markup Language; XML)는 여러 종류의 데이터를 식별하고, 교환하고, 처리하는 방법을 제공하는 범용 언어이다. 예컨대, XML은 다양한 응용 프로그램에 의해 사용될 수 있는 문서를 생성하는데 사용된다. XML 파일의 요소는 연관된 네임스페이스(namespace)와 스키마(schema)를 갖는다.
XML에서, 네임스페이스는 보통 각각의 XML 문서를 유일하게 식별하는데 사용된다. 각각의 XML 문서는 네임스페이스를 사용하여, 프로세스가 문서와 연관된 XML의 유형을 쉽게 식별하도록 할 수 있다. 고유의 네임스페이스는 또한 상이한 소스와 연관되지만 우연히 같은 이름을 갖는 마크업 요소를 구별하는데 도움이 된다.
XML 스키마는 XML 환경에서 데이터를 설명하고 검증하는 방법을 제공한다. 스키마는 어떤 요소(element)와 속성(attribute)이 XML 문서의 내용(content)을 설명하는데 사용되는지, 각각의 요소가 어디에서 인정되는지, 어떤 요소가 다른 요소에 나타날 수 있는지를 말해 준다. 스키마의 사용으로 파일이 동일한 방법으로 구조화되는 것이 보장된다. 스키마는 사용자에 의해 생성되고, 일반적으로 XML과 같은 연관된 마크업 언어에 의해 지원된다. 스키마를 지원하는 XML 에디터를 사용함으로써, 사용자는 XML 파일을 조작하고, 사용자가 생성한 스키마를 따르는 XML 문서를 생성할 수 있다.
XML 문서는 하나 이상의 스키마를 따르도록 생성될 수 있다. 그러나, XML 문서의 요소를 하나 이상의 스키마에 대하여 검증하기 위한 종래의 메커니즘은 어떤 환경에서는 받아들여지기 어렵다.
제1 스키마와 연관된 요소가 제2 스키마의 요소에 중첩되는 경우, 두 스키마가 서로를 설명하는 방식으로 구조화될 수 없다면, 중첩된 요소의 어떠한 자식(children)도 제1 스키마에 대하여 검증될 수 없다. 다시 말해서, 기존의 검증 메커니즘은 스키마에 대하여 단지 요소와 그 자식을 검증할 수 있으나, 직접 손자(grandchildren)를 검증할 수는 없다. 일반적으로 부모만이 자식의 규칙을 설정할 수 있다. 자식 요소가 상이한 스키마에 있는 경우, 자식 요소의 스키마가 부모의 스키마에 손자를 삽입하기를 원한다면 부모 스키마를 참고하여야 한다. 자식의 스키마가 무시된다고 처음부터 말하거나, 손자가 무엇인지를 부모가 정의하도록 할 방법이 없었다. 지금까지, 이러한 제한이 마크업 언어 툴의 개발자에게 문제점을 제기해 왔다.
발명의 요약
본 발명은 둘 이상의 스키마와 연관된 요소를 갖는 확장 마크업 언어(XML) 문서를 검증하는 것에 관한 것으로서, 각각의 스키마의 요소는 다른 스키마의 요소에 임의로 중첩될 수 있고, 요소의 각각의 세트는 그 자신의 스키마에서 유효하다. 워드 프로세서는 원시 XML에 대응하는 제1 연관 또는 원시 스키마를 갖는다. 원시 XML에 따라 생성된 문서는 원시 XML 요소에 중첩된 임의 또는 비원시 XML 요소와, 비원시 XML 요소에 중첩된 원시 XML 요소를 포함할 수 있다. 비원시 XML 요소는 혼합 XML 파일의 원시 XML 요소를 검증할 때 워드 프로세서에 의해 무시된다. 비원시 XML 요소는 혼합 XML 파일의 비원시 XML 요소로부터 생성된 병렬 XML 트리를 이용하고, 원시 XML 요소가 마치 무시되는 것처럼 처리함으로써, 분리되어 검증된다.
본 발명은 자기 자신과 관련된 네임스페이스를 갖는 비원시 XML 요소가 다른 것과 관련된 네임스페이스를 갖는 원시 XML 요소에 내장되도록 한다. 이전에는, 사용자는 표시 또는 다른 기능을 위해 XML 파일을 다른 포맷으로 변환했었다. 이전의 XML 에디터는 검증될 때 (연관된 스키마 모두가 그들의 서로의 네임스페이스를 분명히 인정하지 않았다면) 제2 네임스페이스의 요소에 내장된 제1 네임스페이스의 요소를 승인하지 않았다 (즉, 검증하지 않았다). 본 발명은 XML 스키마 중 어느 것이 내장된 요소를 분명히 인정했는지에 관계없이, 다른 비원시 XML 요소가 동일한 XML 파일의 원시 XML 요소에 내장되게 하는 원시 XML을 제공한다. XML 파일로부터 원시 XML 요소를 제거하는 것은 비원시 XML만을 갖는 비원시 XML 스키마에 유효한 문서로 귀결될 것이다. 대응하여, XML 파일로부터 비원시 XML 요소를 제거하는 것은 원시 XML만을 갖는 원시 XML 스키마에 유효한 문서로 귀결될 것이다. 따라서, 하나의 네임스페이스의 XML 스키마는 각각의 스키마와 연관된 요소가 개별적으로 분리되어 검증되도록, 다른 네임스페이스의 XML 스키마에 대해 무시된다.
무시되는 것을 유지하기 위하여, 문서가 혼합 XML 파일로부터 생성될 때, 비원시 XML 요소는 병렬 XML 트리로 지칭되는 별도의 위치에 저장된다. 트리의 각각의 노드는 혼합 XML 파일의 XML 네임스페이스의 요소에 대응한다. 노드는 혼합 XML 파일의 대응하는 요소의 위치로 맵핑된다. 따라서, XML 파일이 저장될 때, 비원시 XML 및 원시 XML 요소 모두를 유지한다. XML 트리의 이점은 원시 XML에 비원시 XML의 위치를 유지하는 동안, 비원시 XML 스키마에 대하여 검증 목적으로 비원시 XML을 원시 XML로부터 분리된 것으로 간주하는 것을 고려한다는 것이다. 원시 XML을 비원시 XML에 대해 무시되는 것으로 간주하는 것은 XML 파일이 여전히 단일 파일로서 사용되고 저장될 수 있게 한다.
본 발명은 둘 이상의 스키마와 연관된 요소를 갖는 XML 문서를 검증하는 경우, 각각의 스키마의 요소가 다른 스키마의 요소에 임의로 중첩되더라도 서로 분리되어 검증됨으로써, 원시 XML과 비원시 XML을 모두 포함하는 혼합 XML 문서를 효과적으로 검증할 수 있게 한다.
명세서와 특허청구범위에 걸쳐, 문맥에 의해 다른 뜻을 나타내는 것이 명백한 경우를 제외하고, 이하의 용어들은 다음과 같은 의미를 갖는다.
"마크업 언어" 또는 "ML"은 문서의 일부가 애플리케이션에 의해 어떻게 해석되는지를 상술하는 문서의 특별 코드에 대한 언어를 나타낸다. 워드 프로세서 파일에서, 마크업 요소는 요소의 내용이 어떻게 표시되거나 진열되는지를 상술하는 특정 포맷과 연관될 수 있다. 다른 문서에서는, 마크업은 표현을 고려함이 없이 데이터를 설명하는 것에 관한 것일 수 있다.
"원시 마크업 언어" 또는 "원시 XML"은 워드 프로세서 애플리케이션과 연관된 마크업 언어 요소와 워드 프로세서 애플리케이션과 연관된 스키마를 나타낸다.
"비원시 마크업 언어" 또는 "비원시 XML"은 사용자 또는 다른 애플리케이션이 생성하고, 원시 XML 스키마와 다른 스키마를 따르는 마크업 언어 요소를 나타낸다.
"요소"는 XML 문서의 기본 단위를 나타낸다. 요소는 XML 문서에 대한 속성, 다른 요소, 내용 및 다른 설계 블록을 포함할 수 있다.
"태그"는 XML 문서 내의 요소를 묘사하는 문서에 삽입된 명령을 나타낸다. 각각의 요소는 단지 두 개의 태그(개시 태그와 종료 태그)만을 가질 수 있다. 하나의 태그가 인정되는 경우에는 빈 요소(내용이 없는)를 가질 수 있다.
태그 사이의 내용은 요소의 "자식"(또는 후손)으로서 고려된다. 따라서, 요소의 내용에 내장된 다른 요소는 "자식 요소" 또는 "자식 노드" 또는 요소로 불린다. 요소의 내용에 직접 내장된 텍스트는 요소의 "자식 텍스트 노드"로 고려된다. 동시에, 요소 내의 자식 요소와 텍스트는 그 요소의 "내용"을 구성한다.
"속성"은 특정 값으로 설정되고 요소와 연관된 추가적인 특성을 나타낸다. 요소는 하나도 없는 것을 포함하여 요소와 연관된 속성 세팅의 임의의 수를 가질 수도 있다. 속성은 추가적인 정보를 요소의 내용에 포함되지 않은 요소와 연관시키는데 사용된다.
예시적인 운영 환경
도 1과 관련하여, 본 발명을 구현하는 예시적인 시스템은 컴퓨팅 장치(100)와 같은 컴퓨팅 장치를 포함한다. 아주 기본적인 구성에서, 컴퓨팅 장치(100)는 전형적으로 적어도 하나의 프로세싱 유닛(102)과 시스템 메모리(104)를 포함한다. 컴퓨팅 장치의 정확한 구성과 유형에 따라, 시스템 메모리(104)는 (RAM과 같은) 휘발성, (ROM, 플래시 메모리 등과 같은) 비휘발성 또는 이 둘의 결합일 수 있다. 시스템 메모리(104)는 전형적으로 운영 시스템(105), 하나 이상의 애플리케이션(106)을 포함하고, 프로그램 데이터(107)를 포함할 수 있다. 실시예에서, 애플리케이션(106)은 XML 에디터(122)를 더 포함하는 워드 프로세서 애플리케이션(120)을 포함할 수 있다. 이러한 기본 구성은 파선(108) 내의 구성 성분에 의해 도 1에 도시된다.
컴퓨팅 장치(100)는 추가적인 특성이나 기능을 가질 수 있다. 예컨대, 컴퓨팅 장치(100)는 또한 예를 들어 자기 디스크, 광 디스크 또는 테이프와 같은 추가적인 데이터 저장 장치(이동식 및/또는 비이동식)를 포함할 수 있다. 이러한 추가적인 저장 장치는 이동식 저장 장치(109)와 비이동식 저장 장치(110)에 의해 도 1에 도시된다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보 저장을 위한 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함할 수 있다. 시스템 메모리(104), 이동식 저장 장치(109) 및 비이동식 저장 장치(110)는 컴퓨터 저장 매체의 모든 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 자기 저장 장치 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨팅 장치(100)에 의해 액세스될 수 있는 어느 다른 매체에 제한되지는 않지만, 이런 매체들을 포함한다. 이러한 컴퓨터 저장 매체는 장치(100)의 일부일 수 있다. 컴퓨팅 장치(100)는 또한 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등과 같은 입력 장치(112)를 가질 수 있다. 표시 장치, 스피커, 프린터 등과 같은 출력 장치(114)도 또한 포함될 수 있다. 이러한 장치들은 그 기술분야에 잘 알려져 있고 여기서 상세히 설명할 필요가 없다.
컴퓨팅 장치(100)는 또한 네트워크를 통해서와 같이, 장치가 다른 컴퓨팅 장치(118)와 통신하도록 하는 통신 접속부(116)를 포함할 수 있다. 통신 접속부(116)는 통신 매체의 일례이다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 반송파(carrier wave)나 다른 전송 메커니즘과 같은 피변조 데이터 신호의 다른 데이터에 의해 구현될 수 있고, 정보 전송 매체를 포함한다. "피변조 데이터 신호"는 신호의 정보를 인코딩하기 위한 방식으로 설정되거나 변형된 특성 중 하나 이상을 갖는 신호이다. 제한이 아닌 예로서, 통신 매체는 유선 네트워크나 직접 회선 접속과 같은 유선 매체와 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 여기서 사용된 바와 같이, 컴퓨터 판독가능 매체는 저장 매체와 통신 매체를 모두 포함한다.
워드 프로세서 파일 구조
도 2는 본 발명을 실시하기 위한 예시적인 환경을 도시하는 블록도이다. 도 2에 도시된 예시적인 환경은 워드 프로세서(120), 혼합 XML 파일(210), 비원시 XML 스키마(215), 병렬 XML 트리(220) 및 XML 검증 엔진(225)을 포함하는 워드 프로세서 환경(200)이다. 혼합 XML 파일(210)은 원시 XML(211)과 비원시 XML(212)을 모두 포함한다.
실시예에서, 워드 프로세서(120)는 워드 프로세서(120)와 연관된 문서에 사용하기 위해 정의된 스키마의 세트와 그 자신의 네임스페이스를 갖는다. 워드 프로세서(120)에 대한 스키마에 의해 정의된 태그와 속성의 세트는 그 자신의 마크업 언어인 원시 XML로 간주될 정도로 문서의 포맷을 정의할 수 있다. 원시 XML은 워드 프로세서(120)에 의해 지원되고, 그 자신의 규칙을 더 생성하는 동안 다른 마크업 언어의 규칙에 따를 수 있다. 원시 XML은 사용자가 표시 정보에 대응하는 스키마를 생성하는데 시간을 소비할 필요없이 요청할 수 있는 풍부한 표시 정보를 포함하는 마크업 언어를 제공한다.
원시 XML(211)과 비원시 XML(212)은 혼합 XML 파일(210)에서 서로 혼합된다. 본 발명에 따라, 비원시 XML(212) 요소는 원시 XML(211) 요소에 중첩될 수 있고, 원시 XML(211) 요소는 비원시 XML(212) 요소에 중첩될 수 있다. 따라서, 워드 프로세서(120)가 혼합 XML 파일(210)의 원시 XML(211)을 내부적으로 검증할 때, 내부 검증 프로세스는 비원시 XML(212) 요소와 직면하게 된다. 예시적인 혼합 XML 파일(210)은 이하 도 2의 설명에서 더 설명된다.
비원시 XML 스키마(215)는 비원시 XML(212) 요소와 연관된다. 비원시 XML(212) 요소가 검증될 때, 비원시 XML 요소가 비원시 XML 스키마(215)를 따르는 지에 관하여 검사된다. 전술한 바와 같이, 스키마는 어떤 태그와 속성이 XML 문서의 내용을 설명하는데 사용되는지, 각각의 태그가 어디에서 인정되는지, 어떤 태그가 다른 태그에 나타날 수 있는지를 말해 주고, 문서화가 동일한 방식으로 구조화됨을 보장한다. 따라서, 비원시 XML(212)은 비원시 XML 스키마(215)에서 설명되듯이 구조화될 때 유효하다. 비원시 XML(212)의 검증은 이하 도 5의 설명에서 더 설명된다.
검증 전에, 비원시 XML(212) 요소는 병렬 XML 트리(220)에 저장된다. 병렬 XML 트리(220)는 이하 도 4의 설명에서 더 설명된다. 병렬 XML 트리(220)는 비원시 XML(212)을 검증하기 위해 XML 검증 엔진(225)에 보내진다. XML 검증 엔진(225)은 XML 문서에 대해 이용가능한 다른 검증 엔진과 유사하게 동작한다. XML 검증 엔진(225)은 비원시 XML 스키마(215)의 구조로 된 XML인가를 평가한다. 실시예에서, 더 많은 수의 검증 엔진이 더 많은 수의 마크업 언어 구조를 검증하기 위해 워드 프로세서(120)와 연관될 수 있다.
도 3은 본 발명에 따른 예시적인 혼합 XML 파일을 도시한다. 혼합 XML 파일(210)은 원시 XML 요소와 비원시 XML 요소를 모두 포함한다. 마크업 언어의 요소는 보통 개시 태그("<"와 ">"로 나타냄), 소정의 내용, 종료 태그("</"와 ">"로 나타냄)를 포함한다. 원시 XML과 연관된 태그는 워드 프로세서의 네임스페이스(워드 프로세서 네임스페이스)와 연관된 것으로 간주된다. 대조적으로, 비원시 XML과 연관된 태그는 다른 네임스페이스, 이 예에서는 "재개(resume)" 네임스페이스와 연관된 것으로 간주된다. 혼합 XML 파일(210)의 요소는 내용을 더 포함한다. 예컨 대, "워크(work)"는 "객체(objective)" 요소에 포함되고, "123 메인(123 main)"은 "스트리트(street)" 요소에 포함된다. "스트리트" 요소는 "어드레스(address)" 요소에 포함된다. 이러한 요소는 사용자나 다른 애플리케이션에 의해 이전에 제공되었던 재개(resume) 네임스페이스(예컨대, 재개(resume) 스키마)에 대응하는 비원시 XML 스키마에 따라 정의된다.
혼합 XML 파일(210)을 검사할 때, 파일은 원시 XML 요소에 중첩된 비원시 XML 요소와, 비원시 XML 요소에 중첩된 원시 XML 요소를 포함한다. 따라서, 혼합 XML 파일(210)이 워드 프로세서에 의해 내부적으로 검증되거나, 트리로서 검증 엔진으로 전송될 때, 혼합 XML 파일(210)을 검증하는 애플리케이션은 두개의 다른 스키마에 대응하는 중첩된 요소와 직면하게 된다. 검증 애플리케이션에 연관된 규칙에 따라, 비원시 XML 스키마가 원시 XML을 참작하지 않는다면, 혼합 XML 파일(210)은 유효하지 않은 것으로 밝혀질 것이다. 예컨대, 혼합 XML 파일(210)이 전체적으로 다른 XML 검증 엔진에 전송되었다면, 파일은 마찬가지로 유효하지 않은 것으로 밝혀질 가능성이 높다. XML 스키마는 전형적으로 제1 네임스페이스의 요소가 제2 네임스페이스의 요소에 중첩되지 않도록 한다. 실시예에서, 본 발명은 다른 비원시 XML 스키마와 연관된 임의의 요소가 중첩되도록 하는 워드 프로세서와 연관된 원시 XML 스키마를 구비함으로써, 이러한 제한을 극복한다. 유효한 혼합 XML 파일을 획득하기 위한 예시적인 프로세스가 도 5와 도 6의 설명에서 더 설명된다.
도 4는 본 발명에 따른 예시적인 혼합 XML 파일과 예시적인 병렬 XML 트리 사이의 연관의 예시적인 블록도를 나타낸다.
워드 프로세서(120)(도 1 및 도 2에 도시됨)가 혼합 XML 파일(210)을 내부적으로 검증하는 동안 문서를 생성할 때에 병렬 XML 트리(220)가 생성된다. 내부 검증은 워드 프로세서(120)가 그 자신의 일련의 규칙에 따라 각각의 요소를 평가하도록 한다. 비원시 XML 요소가 원시 XML 요소에 중첩될 때, 노드(예컨대, 402)는 그 요소에 대응하는 병렬 XML 트리(220) 내에 생성된다. 병렬 XML 트리(220)의 노드의 위치는 다른 요소에 비례하여 혼합 XML 문서(210)의 대응하는 요소의 위치에 의해 결정된다. 따라서, 혼합 XML 파일(210)의 각각의 비원시 XML 요소는 병렬 XML 트리(220)의 노드(예컨대, 402)에 의해 표현된다. 직접적인 부모-자식 관계가 병렬 XML 트리(220)에 표현된 XML 요소 사이에 설정되고, 이중 일부는 개재하는 원시 XML 마크업으로 인하여 혼합 XML 파일(210)에 처음부터 존재하지 않았을 수도 있다. 예시적인 비원시 XML 트리(220)에 대한 노드를 생성하는 것과 연관된 예시적인 프로세스가 도 6과 관련하여 더 설명된다. 병렬 XML 트리(220)는 혼합 XML 파일(210)을 내부적으로 검증할 때 워드 프로세스(120)가 비원시 XML 요소를 본질적으로 무시하게 한다. 그후, 병렬 XML 트리(220)는 이하 도 5와 관련하여 더 설명하는 바와 같이, 혼합 XML 파일(210)로부터 분리되어 검증될 수 있다.
혼합 XML 파일 요소의 처리
도 5는 본 발명에 따른 혼합 XML 문서를 생성하기 위한 예시적인 프로세스의 논리적인 흐름도이다. 프로세스(500)는 혼합 XML 파일이 도 1에 도시된 워드 프로세서(120)와 유사한 워드 프로세서 애플리케이션의 사용자에 의해 이전에 생성되었던 블록(501)에서 시작한다. 프로세스는 블록(502)에서 계속된다.
블록(502)에서, 혼합 XML 파일의 요소가 처리된다. 각각의 요소를 처리할 때에, 요소가 원시 XML 요소인지, 비원시 XML 요소인지가 결정된다. 각각의 요소가 어떻게 처리되는지는 요소의 유형에 달려 있다. 요소가 비원시 XML 요소일 때, 그 요소에 대응하는 노드가 도 6과 관련하여 더 설명하는 바와 같이, 병렬 XML 트리에 삽입된다. 각각의 요소를 처리하기 위한 예시적인 프로세스가 도 6과 관련하여 더 설명된다. 일단 요소가 처리되면, 프로세스는 결정 블록(503)으로 이동한다.
결정 블록(503)에서, 혼합 XML 파일에 포함된 요소 각각이 처리되었는지가 결정된다. 혼합 XML 파일로부터 문서를 생성하는 경우 워드 프로세서가 혼합 XML 파일의 최종 종료 태그에 도달했다면 각각의 요소가 처리된 것이다. 추가 요소(further element)가 아직 처리되지 않았다면, 프로세스는 블록(502)으로 되돌아가, 추가 요소를 처리하기 시작한다. 모든 요소가 처리되었다면, 프로세스는 블록(504)에서 계속된다.
블록(504)에서, 병렬 XML 트리가 검증된다. 병렬 XML 트리는 워드 프로세서에 의해 도 2에 도시된 XML 검증 엔진(225)과 유사한 XML 검증 엔진으로 전송된다. XML 검증 엔진은 도 2에 도시된 비원시 XML 스키마(215)와 유사한 연관 스키마에 따라 병렬 XML 트리를 검사하도록 동작한다. 연관 스키마는 어떤 태그와 속성이 최종적인 XML 문서의 내용을 설명하는데 사용되는지, 각각의 태그가 어디에서 인정되는지, 어떤 요소가 다른 요소에 나타날 수 있는지를 말해 준다. 병렬 XML 트리는 연관 스키마를 따를 때 유효하다. 일단 병렬 XML 트리가 검증되면, 프로세스는 블록(505)에서 계속된다.
블록(505)에서, 혼합 XML 파일에 대응하는 문서가 워드 프로세서에 의해 생성된다. 실시예에서, 문서가 워드 프로세서에 의해 제공된 원시 XML 스키마에 따라 포맷되고, 혼합 XML 파일의 비원시 XML 요소와 연관된 태그를 표시한다. 프로세스는 블록(506)으로 진행하여, 프로세스가 끝난다.
실시예에서, 프로세스(500)는 내부적으로 원시 XML을 검증하거나 비원시 XML을 검증한 결과에 의해 변경될 수 있다. 예컨대, 원시 XML와 비원시 XML 중 어느 하나가 유효하지 않는지가 결정될 수 있다. 결과적으로, 프로세스(500)가 중단되거나, 에러 메시지가 보고되거나, 프로그램이 XML을 수정하는 것을 돕기 시작하거나, 또는 후속 동작이 활성화된다.
도 6은 본 발명에 따른 혼합 XML 문서의 요소를 처리하는 예시적인 프로세스의 논리적인 흐름도이다. 도 5에 도시된 프로세스(500)가 블록(502)에 들어설 때, 프로세스(600)는 블록(601)에 들어선다. 프로세스는 블록(602)에서 계속된다.
블록(602)에서, 처리되는 요소가 원시 XML 요소에 대응하는지, 비원시 XML 요소에 대응하는지가 결정된다. 요소의 유형은 각각의 요소의 개시 태그를 검사함으로써 결정될 수 있다. 각각의 요소의 개시 태그는 그 요소에 대응하는 스키마로의 참조(reference)를 포함한다(도 3 참조). 각각의 스키마는 원시 XML와 비원시 XML 중 어느 하나와 연관된다. 일단 요소의 유형이 결정되면, 프로세스는 결정 블록(603)으로 이동한다.
결정 블록(603)에서, 요소가 비원시 XML 요소인지가 결정된다. 전술한 바와 같이, 각각의 요소가 요소의 유형에 따라 다르게 처리된다. 요소가 비원시 XML 요소가 아니라면, 프로세스는 블록(604)에서 계속된다.
블록(604)에서, 요소가 워드 프로세서의 원시 포맷(예컨대, 원시 XML)에 따라 처리된다. 실시예에서, 워드 프로세서는 자신의 포맷의 요소에 자신의 내부 검증을 제공한다. 다시 말해서, 워드 프로세서는 원시 포맷(예컨대, 원시 XML)에 대응하는 요소를 검증하기 위해 XML 검증 엔진을 참조할 필요는 없다. 원시 포맷의 요소가 유효한지 않은지를 인식함으로써, 워드 프로세서는 프로세스가 계속함에 따라 이러한 요소에 대응하는 문서를 생성할 수 있다. 일단 원시 XML 요소는 원시 XML에 따라 처리되고, 프로세스는 블록(607)으로 진행하고, 프로세스는 도 5의 블록(503)으로 되돌아간다.
그러나, 요소가 비원시 XML 요소라면, 프로세스는 블록(605)에서 계속된다.
블록(605)에서, 비원시 XML 요소의 속성이나 개시 태그에 대응하는 노드가 병렬 XML 트리에 생성된다. 병렬 XML 트리는 XML 검증 엔진에 의해 유효성이 검사된다. XML 검증 엔진은 병렬 XML 트리가 연관된 비원시 XML 스키마를 따르는가를 결정한다. 병렬 XML 트리를 생성하고 분리하여 검증함으로써, 본 발명은 각각의 스키마의 요소가 서로에 임의로 중첩될 수 있는 둘 이상의 스키마와 연관된 요소를 갖는 혼합 XML 문서를 검증하기 위한 기능을 포함한다. 일단 병렬 트리에서 노드가 생성되면, 프로세스는 블록(606)에서 계속된다.
블록(606)에서, 비원시 XML 요소는 병렬 트리에서 생성된 노드로 맵핑된다. 실시예에서, 플레이스홀더(placeholder)는 혼합 XML 파일의 각각의 요소와 연관된 다. 플레이스홀더는 혼합 XML 파일의 각각의 비원시 XML 요소의 위치를 각각의 노드로 지정한다. 비원시 XML 요소를 대응하는 노드로 맵핑하는 것은 사용자에 의해 생성 및/또는 적용된 요소가 최종 XML 문서에 정확히 위치하는 것을 가능케 한다. 일단 비원시 XML 요소가 노드로 맵핑되면, 프로세스는 블록(506)으로 진행하고, 프로세스는 도 5의 블록(503)으로 되돌아간다.
실시예에서, 다중 비원시 XML 스키마가 동일한 혼합 XML 파일의 각각의 섹션에 포함될 수 있다. 병렬 XML 트리는 각각의 비원시 XML 스키마에 대응하는 각각의 요소에 대응하는 노드로 생성된다. 그러한 경우에, 마치 동일한 혼합 XML 파일의 각각의 섹션이 효과적으로 분리된 XML 파일인 것처럼 병렬 XML 트리가 검증될 때, 각각의 스키마에 대응하는 비원시 XML 요소가 검증된다. 그러나, 다중 비원시 XML 스키마가 서로를 참조한다면, 요소가 서로 혼합된다.
상술한 명세서, 실시예 및 데이터는 본 발명의 결합의 사용 및 제조의 완벽한 설명을 제공한다. 본 발명의 많은 실시예들이 본 발명의 정신 및 범위에서 벗어남이 없이 가능하기 때문에, 본 발명은 이후 첨부된 청구항에 속하게 된다.
도 1은 본 발명의 예시적인 실시예에 사용될 수 있는 예시적인 컴퓨팅 장치를 나타내는 도면.
도 2는 본 발명을 실시하기 위한 예시적인 환경을 나타내는 블록도.
도 3은 본 발명에 따른 예시적인 혼합 XML을 나타내는 도면.
도 4는 본 발명에 따른 예시적인 혼합 XML과 예시적인 병렬 XML 트리 사이의 연관(association)을 나타내는 예시적인 블록도.
도 5는 본 발명에 따른 혼합 XML 문서를 생성하기 위한 예시적인 프로세스를 나타내는 논리적인 흐름도.
도 6은 본 발명에 따른 혼합 XML 문서의 요소를 처리하기 위한 예시적인 프로세스를 나타내는 논리적인 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
120 : 워드 프로세서
210 : 혼합 XML 파일
211 : 원시 XML
212 : 비원시 XML
215 : 비원시 XML 스키마
220 : 병렬 XML 트리
225 : XML 검증 엔진

Claims (23)

  1. 원시 확장 마크업 언어(XML) 내 비원시 XML을 포함하는 XML 문서의 검증을 지원하기 위한 컴퓨터로 실행가능한 명령어를 가지는 컴퓨터 판독가능 매체로서,
    원시 XML은 워드 프로세서와 연관된 마크업 언어 요소 및 스키마를 포함하고, 상기 비원시 XML은 상기 원시 XML 스키마와는 상이한 스키마를 따르는(adhere to), 사용자 또는 다른 애플리케이션이 생성한 마크업 언어 요소를 포함하고,
    상기 명령어는,
    상기 XML 문서 내의 요소가 제1 네임스페이스(namespace) 및 제2 네임스페이스 중의 하나와 연관되는지 여부를 결정하는 단계 - 상기 제1 네임스페이스는 상기 원시 XML과 연관되고, 상기 제2 네임스페이스는 상기 비원시 XML과 연관됨 - ;
    각각이 상기 제2 네임스페이스에 연관된 상기 XML 문서의 요소에 대응하는 노드들을 포함하는 병렬 트리를 생성하는 단계;
    상기 제2 네임스페이스와 연관된 각 요소의 위치가 저장될 수 있도록, 각 노드를 마크업 언어 파일 내 대응하는 요소에 맵핑하는 단계;
    상기 XML 문서의 각 요소를 검증하는 단계 - 상기 제2 네임스페이스와 연관된 요소가 검증되는 경우 상기 제1 네임스페이스와 연관된 요소가 무시되고, 상기 제1 네임스페이스와 연관된 요소가 검증되는 경우 상기 제2 네임스페이스와 연관된 요소가 무시됨 - 를 포함하는 컴퓨터 판독가능 매체.
  2. 제1항에 있어서,
    상기 XML 문서의 각 요소를 검증하는 단계는 상기 제1 네임스페이스와 연관된 요소를 검증하는 단계를 포함하고, 상기 제1 네임스페이스와 연관된 요소를 검증하는 단계는 상기 워드 프로세서에 의하여 내부적으로 실행되는, 컴퓨터 판독가능 매체.
  3. 제2항에 있어서,
    상기 워드 프로세스가 각 요소를 평가함에 따라 상기 XML 문서가 구축되도록, 상기 워드 프로세서는 상기 제1 네임스페이스와 연관된 요소의 유효성을 결정하는, 컴퓨터 판독가능 매체.
  4. 제1항에 있어서,
    XML 파일과 별도로 상기 병렬 트리를 검증하는 단계를 더 포함하고,
    상기 XML 파일과 별도로 상기 병렬 트리를 검증하는 단계는 상기 제2 네임스페이스와 연관된 상기 XML 파일의 요소에 대응하는 비원시 XML 스키마를 따르는 XML 검증 엔진을 가지고 상기 병렬 트리를 검토하는 단계를 포함하는 컴퓨터 판독가능 매체.
  5. 제1항에 있어서, 상기 명령어는,
    상기 워드 프로세서의 원시 XML과 연관된 요소 내 중첩되는 비원시 XML과 연관된 요소를 포함하는 XML 문서를 생성하는 단계 및 노드를 저장하는 단계 - 상기 노드 각각은 상기 비원시 XML과 연관되는 각각의 요소와 연관됨 - 를 더 포함하는 컴퓨터 판독가능 매체.
  6. 제5항에 있어서, 상기 명령어는,
    상기 비원시 XML 요소와 연관된 스키마를 제공하기 위한 명령어를 더 포함하고, 상기 비원시 XML 요소는 상기 스키마에 대하여 검증되는, 컴퓨터 판독가능 매체.
  7. 제5항에 있어서,
    각각의 비원시 XML 요소와 대응하는 노드가 상기 병렬 트리에서 생성되는 경우, 플레이스 홀더(placeholder)가 상기 각각의 비원시 XML 요소와 연관되는, 컴퓨터 판독가능 매체.
  8. 제5항에 있어서,
    상기 XML 문서는 상기 비원시 XML과 연관된 요소 내 중첩되는 상기 원시 XML과 연관된 요소를 더 포함하는, 컴퓨터 판독가능 매체.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 원시 확장 마크업 언어(XML) 내 비원시 XML을 포함하는 XML 문서의 검증을 지원하는 방법으로서,
    원시 XML은 워드 프로세서와 연관된 마크업 언어 요소 및 스키마를 포함하고, 비원시 XML은 상기 원시 XML 스키마와는 상이한 스키마를 따르는(adhere to), 사용자 또는 다른 애플리케이션이 생성한 마크업 언어 요소를 포함하고,
    상기 방법은,
    상기 XML 문서 내 요소가 상기 비원시 XML과 상기 원시 XML 중 어느 하나와 연관되는지를 결정하는 단계;
    각각이 상기 비원시 XML과 연관된 마크업 언어 파일의 요소에 대응하는 노드들을 포함하는 병렬 트리를 생성하는 단계;
    비원시 XML과 연관된 요소는 무시하면서, 상기 XML 문서 내 상기 원시 XML과 연관된 요소를 검증하는 단계; 및
    상기 비원시 XML의 검증 시, 상기 원시 XML과 연관된 요소들은 무시되도록(transparent), 상기 XML 문서와 별도로 상기 병렬 트리를 검증하는 단계를 포함하는 방법.
  18. 제17항에 있어서, 상기 방법은,
    상기 비원시 XML과 연관된 각 요소의 위치가 저장되도록 하기 위해 각각의 노드를 마크업 언어 파일 내 대응하는 요소에 맵핑하는 단계를 더 포함하는 방법.
  19. 제17항에 있어서, 상기 방법은,
    상기 원시 XML과 연관되는 검증된 요소 및 상기 비원시 XML과 연관되는 검증된 요소에 대응하는 마크업 언어 문서를 생성하는 단계를 더 포함하는 방법.
  20. 제17항에 있어서,
    상기 원시 XML과 연관된 요소를 검증하는 단계는 상기 워드 프로세서에 의하여 내부적으로 실행되는, 방법.
  21. 제20항에 있어서,
    상기 워드 프로세서가 각각의 요소를 평가함에 따라 상기 XML 문서가 구축되도록, 상기 워드 프로세서는 상기 비원시 XML과 연관된 상기 요소의 유효성을 결정하는, 방법.
  22. 제17항에 있어서,
    복수의 상이한 스키마에 연관된 상기 비원시 XML과 연관된 요소를, 검증 시 별도의 파일로서 취급하는 단계를 더 포함하는 방법.
  23. 제17항에 있어서, 상기 XML 문서와 별도로 상기 병렬 트리를 검증하는 단계는 상기 비원시 XML과 연관된 상기 XML 문서의 요소와 대응되는 비원시 XML 스키마를 따르는 마크업 언어 검증 엔진을 가지고 상기 병렬 트리를 검토하는 단계를 포함하는 방법.
KR1020090000133A 2002-06-27 2009-01-02 워드 프로세서 문서의 원시 xml에서 비원시 xml을 지원하는 시스템 및 방법 KR100977352B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/184,560 US7036073B2 (en) 2002-06-27 2002-06-27 System and method for supporting non-native XML in native XML of a word-processor document
US10/184,560 2002-06-27

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020030041899A Division KR20040002738A (ko) 2002-06-27 2003-06-26 워드 프로세서 문서의 원시 xml에서 비원시 xml을지원하는 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20090013243A KR20090013243A (ko) 2009-02-04
KR100977352B1 true KR100977352B1 (ko) 2010-08-20

Family

ID=29717966

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020030041899A KR20040002738A (ko) 2002-06-27 2003-06-26 워드 프로세서 문서의 원시 xml에서 비원시 xml을지원하는 시스템 및 방법
KR1020090000133A KR100977352B1 (ko) 2002-06-27 2009-01-02 워드 프로세서 문서의 원시 xml에서 비원시 xml을 지원하는 시스템 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020030041899A KR20040002738A (ko) 2002-06-27 2003-06-26 워드 프로세서 문서의 원시 xml에서 비원시 xml을지원하는 시스템 및 방법

Country Status (10)

Country Link
US (1) US7036073B2 (ko)
EP (1) EP1376386A3 (ko)
JP (1) JP4880191B2 (ko)
KR (2) KR20040002738A (ko)
CN (1) CN1311342C (ko)
AU (1) AU2003204869B2 (ko)
BR (1) BRPI0302085B1 (ko)
CA (1) CA2433247C (ko)
MX (1) MXPA03005874A (ko)
RU (1) RU2351007C2 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062600A (ja) * 2002-07-30 2004-02-26 Fujitsu Ltd 構造型文書の変換方法、復元方法、変換及び復元方法及びプログラム
US6993714B2 (en) * 2002-10-03 2006-01-31 Microsoft Corporation Grouping and nesting hierarchical namespaces
US7251777B1 (en) * 2003-04-16 2007-07-31 Hypervision, Ltd. Method and system for automated structuring of textual documents
US8693043B2 (en) * 2003-12-19 2014-04-08 Kofax, Inc. Automatic document separation
US7165216B2 (en) * 2004-01-14 2007-01-16 Xerox Corporation Systems and methods for converting legacy and proprietary documents into extended mark-up language format
US7698638B2 (en) * 2004-09-15 2010-04-13 Microsoft Corporation Systems and methods for automated equation buildup
US7707498B2 (en) 2004-09-30 2010-04-27 Microsoft Corporation Specific type content manager in an electronic document
KR100695330B1 (ko) 2004-12-21 2007-03-15 한국전자통신연구원 중계기용 격리 안테나
US20060190474A1 (en) * 2005-02-22 2006-08-24 Microsoft Corporation Extensible markup language schema for mathematical expressions
US20060190821A1 (en) * 2005-02-22 2006-08-24 Microsoft Corporation Programmable object model for mathematical expressions
US8020091B2 (en) * 2005-07-15 2011-09-13 Microsoft Corporation Alignment and breaking of mathematical expressions in documents
US20070033524A1 (en) * 2005-08-02 2007-02-08 Microsoft Corporation Mapping codes for characters in mathematical expressions
US7774321B2 (en) * 2005-11-07 2010-08-10 Microsoft Corporation Partial XML validation
US20070245308A1 (en) * 2005-12-31 2007-10-18 Hill John E Flexible XML tagging
US7921358B2 (en) 2006-01-17 2011-04-05 Microsoft Corporation Automatic package conformance validation
US7814069B2 (en) * 2006-03-30 2010-10-12 Oracle International Corporation Wrapper for use with global standards compliance checkers
US9495356B2 (en) * 2006-03-30 2016-11-15 International Business Machines Corporation Automated interactive visual mapping utility and method for validation and storage of XML data
US9535912B2 (en) * 2006-09-15 2017-01-03 Oracle International Corporation Techniques for checking whether a complex digital object conforms to a standard
US7669089B2 (en) * 2006-11-01 2010-02-23 Microsoft Corporation Multi-level file representation corruption
US8954396B2 (en) * 2006-11-10 2015-02-10 Microsoft Corporation Validating and enabling validation of package structures
US7855799B2 (en) * 2007-01-16 2010-12-21 Shah Pradip K Print workflow automation
US7865823B2 (en) * 2007-06-28 2011-01-04 Intel Corporation Method and apparatus for schema validation
US9176714B2 (en) * 2007-11-12 2015-11-03 International Business Machines Corporation Re-using legacy libraries in software
US8370391B2 (en) * 2008-03-25 2013-02-05 Microsoft Corporation Functional updates for tree processing
US20100115403A1 (en) * 2008-11-06 2010-05-06 Microsoft Corporation Transforming math text objects using build down and build up
US8849612B2 (en) * 2009-09-14 2014-09-30 Fourthwall Media, Inc. System and method of substituting parameter sets in self-contained mini-applications
RU2610585C2 (ru) * 2015-03-31 2017-02-13 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для модификации текста в документе
US10643023B2 (en) * 2015-09-25 2020-05-05 Oath, Inc. Programmatic native rendering of structured content

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020023048A (ko) * 2000-09-22 2002-03-28 구자홍 Xml 문서의 레이아웃 방법과 이를 위한 시스템

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480865B1 (en) 1998-10-05 2002-11-12 International Business Machines Corporation Facility for adding dynamism to an extensible markup language
US6487566B1 (en) 1998-10-05 2002-11-26 International Business Machines Corporation Transforming documents using pattern matching and a replacement language
US6480860B1 (en) 1999-02-11 2002-11-12 International Business Machines Corporation Tagged markup language interface with document type definition to access data in object oriented database
US6418446B1 (en) 1999-03-01 2002-07-09 International Business Machines Corporation Method for grouping of dynamic schema data using XML
US6476833B1 (en) 1999-03-30 2002-11-05 Koninklijke Philips Electronics N.V. Method and apparatus for controlling browser functionality in the context of an application
US6502112B1 (en) 1999-08-27 2002-12-31 Unisys Corporation Method in a computing system for comparing XMI-based XML documents for identical contents
US6966027B1 (en) * 1999-10-04 2005-11-15 Koninklijke Philips Electronics N.V. Method and apparatus for streaming XML content
AUPQ479999A0 (en) * 1999-12-22 2000-02-03 Canon Kabushiki Kaisha Structures to represent poorly formed html documents
US20020073091A1 (en) * 2000-01-07 2002-06-13 Sandeep Jain XML to object translation
US6675355B1 (en) * 2000-03-16 2004-01-06 Autodesk, Inc. Redline extensible markup language (XML) schema
US20030110279A1 (en) * 2001-12-06 2003-06-12 International Business Machines Corporation Apparatus and method of generating an XML schema to validate an XML document used to describe network protocol packet exchanges
US6950985B2 (en) * 2001-12-27 2005-09-27 Koninklijke Philips Electronics, N.V. Specifying DICOM semantic constraints in XML
US8032828B2 (en) * 2002-03-04 2011-10-04 Hewlett-Packard Development Company, L.P. Method and system of document transformation between a source extensible markup language (XML) schema and a target XML schema
US7200805B2 (en) * 2002-03-19 2007-04-03 Logiclibrary, Inc. Dynamic generation of schema information for data description languages
US20030188264A1 (en) * 2002-03-29 2003-10-02 Full Degree, Inc. Method and apparatus for XML data normalization
US7251697B2 (en) * 2002-06-20 2007-07-31 Koninklijke Philips Electronics N.V. Method and apparatus for structured streaming of an XML document

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020023048A (ko) * 2000-09-22 2002-03-28 구자홍 Xml 문서의 레이아웃 방법과 이를 위한 시스템

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
EPO 조사보고서
Murata Makoto, "Prototypical implementation of "Divide and Validate"", 2003년3년7일
Oliver Nölle, "XInterface-A new schema language for XML", University of Freiburg, 2002년6월17일

Also Published As

Publication number Publication date
BR0302085A (pt) 2004-09-08
JP4880191B2 (ja) 2012-02-22
US7036073B2 (en) 2006-04-25
CN1477503A (zh) 2004-02-25
BRPI0302085B1 (pt) 2016-07-19
AU2003204869A1 (en) 2004-01-15
KR20040002738A (ko) 2004-01-07
AU2003204869B2 (en) 2009-10-01
CA2433247C (en) 2015-03-31
KR20090013243A (ko) 2009-02-04
CA2433247A1 (en) 2003-12-27
RU2003119092A (ru) 2005-01-10
RU2351007C2 (ru) 2009-03-27
CN1311342C (zh) 2007-04-18
EP1376386A3 (en) 2007-07-11
MXPA03005874A (es) 2005-02-14
JP2004046848A (ja) 2004-02-12
US20040205583A1 (en) 2004-10-14
EP1376386A2 (en) 2004-01-02

Similar Documents

Publication Publication Date Title
KR100977352B1 (ko) 워드 프로세서 문서의 원시 xml에서 비원시 xml을 지원하는 시스템 및 방법
US7275209B1 (en) Mixed content flexibility for XML editors
US9239821B2 (en) Translation file
RU2398274C2 (ru) Хранилище данных для документов программного приложения
US20030135825A1 (en) Dynamically generated mark-up based graphical user interfaced with an extensible application framework with links to enterprise resources
US7644095B2 (en) Method and system for compound document assembly with domain-specific rules processing and generic schema mapping
AU2003225697B2 (en) Dynamic generation of schema information for data description languages
US7774300B2 (en) System and method for data model and content migration in content management applications
US20060195413A1 (en) Programmability for XML data store for documents
US20030110472A1 (en) Method and system for generating program source code of a computer application from an information model
US20070219959A1 (en) Computer product, database integration reference method, and database integration reference apparatus
KR20050056123A (ko) 소프트웨어 애플리케이션에서의 네임스페이스 또는 스키마라이브러리 지원을 위한 프로그램 가능한 객체 모델
RU2417420C2 (ru) Программируемость для хранилища xml данных для документов
WO2007144853A2 (en) Method and apparatus for performing customized paring on a xml document based on application
US9645719B2 (en) Data-driven schema for describing and executing management tasks in a graphical user interface
US7565603B1 (en) Representing style information in a markup language document
Banzal XML Basics
US7607081B1 (en) Storing document header and footer information in a markup language document
US7650566B1 (en) Representing list definitions and instances in a markup language document
JP5201808B2 (ja) 電子文書処理装置及び電子文書処理方法
US7533335B1 (en) Representing fields in a markup language document
US7562295B1 (en) Representing spelling and grammatical error state in an XML document
Joshi Beginning XML with C# 7: XML Processing and Data Access for C# Developers
Martinez A Modular Integrated Syntactic/Semantic XML Data Validation Solution

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130719

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140716

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 9