KR20020066980A - 구조적 문서 번역에서 사용자 제어 데이터 그룹화 - Google Patents

구조적 문서 번역에서 사용자 제어 데이터 그룹화 Download PDF

Info

Publication number
KR20020066980A
KR20020066980A KR1020020007077A KR20020007077A KR20020066980A KR 20020066980 A KR20020066980 A KR 20020066980A KR 1020020007077 A KR1020020007077 A KR 1020020007077A KR 20020007077 A KR20020007077 A KR 20020007077A KR 20020066980 A KR20020066980 A KR 20020066980A
Authority
KR
South Korea
Prior art keywords
tree structure
hierarchical tree
document
translation
structured document
Prior art date
Application number
KR1020020007077A
Other languages
English (en)
Inventor
시히-궤이 첸
젠-야 청
마이클제이. 딩
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20020066980A publication Critical patent/KR20020066980A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

DOM(Document Object Mode), EDI(Electronic Data Interchange) 및 XML(eXtensible Markup Language)에 의해 정의되는 구조적 문서들(structural documents)과 같은 구조적 문서에서 루핑(looping) 문제를 해결하는 방법 및 장치가 제공된다. 본 방법 및 장치는 뒤따르는 데이터 그룹화 룰을 사용자가 선택하도록 하는 구조적 문서의 계층적 트리 구조 표현을 사용자에게 제공함으로써 모호성(ambiguities)을 제거한다. 본 방법 및 장치는 그 후에 사용자 정의 룰을 바탕으로 수정된 계층적 트리 구조를 자동으로 생성한다. 사용자 정의 룰은 룰 테이블 에디터를 사용하거나 또는 그래픽 사용자 인터페이스에 의해 사용자에 의해 입력될 수 있다.

Description

구조적 문서 번역에서 사용자 제어 데이터 그룹화{User controllable data grouping in structural document translation}
본 발명은 구조적 문서 번역(structural document translation) 및 데이터 그룹화(data grouping) 분야에 관한 것으로, 특히, 사용자 제어 데이터 그룹화를 위한 방법에 관한 것이다.
문서와 데이터 표현 및 전송의 가장 중요한 포맷들 중 하나로서 XML(eXtensible Markup Language)이 부상하고 있다. 예를 들면, 비지니스 문서는 인터넷 전송과 월드와이드웹(World Wide Web:WWW) 액세스를 위해 XML에 의해 제공될 수 있다. 더 많은 사용자들과 새로운 애플리케이션들이 그들의 입력과 출력이 XML 포맷으로 존재할 것을 요구하기 시작하고 있다.
XML의 세부 사항은 본 명세서에서 참조되는 개시물인 1998년 2월 10일자로 출간된 W3C Recommendation의 "Extensible Markup Language(XML) 1.0"에 기재되어있다. XML 문서는 본 명세서에서 참조되는 개시물인, 1998년 10월 1일자로 출간된 W3C Recommendation의 "Document Object Model(DOM) Level 1 Specification, version 1.0"에 기재되어 있는 바와 같이 트리로서 모델링될 수 있다.
EDI(Electronic Data Interchange) 플랫 파일 포맷은 자동차, 건강관리, 제조 및 다른 산업 분야들에서 20년 이상 사용되어 왔다. 포맷이 설계되었을 때 통신 비용을 절감하기 위하여, 데이터는 EDI 맵과 사전을 바탕으로 고배율로 압축된다.
DOM(Document Object Model)과 XML(eXtensible Markup Language)에 의해 정의되는 구조적 문서들과 같은 구조적 문서에서 루핑(looping) 문제는 애플리케이션 프로그래밍에서 큰 영향력을 가질 수 있다. 이 문제점은 문서내에서 유사한 데이터 아이템들이 수회 반복될 수 있고, 그 관련된 데이터 아이템들이 함께 적절하게 집단화되지 않는다는 것이다. 이러한 문제점은 예를 들면 EDI와 같은 플랫 파일 포맷으로 표현된 문서에서 가장 심각하고, 루프의 어커런스들(occurrences)을 구별하기 위한 데이터 그룹화 택 또는 위치 기호는 없거나 거의 없다. 프로그래머가 반복되는 데이터 아이템들과 루프들을 분류하기 위해 별도의 코드를 기록할 필요가 있을 때, 열악한 데이터 그룹화를 갖는 문서들로 인해 그 문서를 판독해야 하는 애플리케이션 프로그램의 코드 구조가 복잡하게 될 수 있다. XSL과 같은, 즉, 1999년 11월 16일자로 출간된 W3C Recommendation의 XML 스타일시트 언어(Stylesheet Language)인 "XSL 변환(XSLT) 1.O"과 같은 어떤 애플리케이션에서, 이는 허용가능한 구조적 구성과 포맷팅 스타일이 제한될 수 있기 때문에 어려워진다.
본 발명의 목적은 번역 알고리즘에 포함될 수 있거나, 독립적인 변환으로 실행될 수 있는 사용자 제어 데이터 그룹화 방법 및 시스템을 제공하는 것이다.
본 발명의 다른 목적은 동일한 DTD 또는 스키마에 따른, 무한적일 수 있는 다수의 구조적 문서 상에서 실행할 수 있는 일반적 데이터 그룹화 방법 및 시스템을 제공하는 것이다.
본 발명의 다른 목적은 사용자가 고급 언어(C++, Java 등)를 사용하는 것등에 의해 분류(sorting) 및 그룹화를 프로그램하거나, 복잡한 번역 스타일 시트를 XSLT로 기록할 필요가 없도록 관리/유지하기가 쉬운 중간 테이블을 사용하는 간결한 계통 알고리즘을 사용하는 데이터 그룹화 방법 및 시스템을 제공하는 것이다.
본 발명의 또다른 목적은 분류 및 그룹화(즉, 번역) 테이블 그 자체가 사용자들에게 투명하게 생성될 수 있도록 단순하며 사용자에게 친숙한 GUI를 사용하는 데이터 그룹화 방법 및 시스템을 제공하는 것이다.
이들 목적들에 따르면, 사용자가 구조적 문서를 프로세싱하기 위해 사용하는번역 또는 변환 프로시저를 변화시키거나 재설정하지 않고 다양한 그룹화 선택을 수용하기 위하여, 본 발명은 사용자에 의해 입력된 다른 옵션들을 기록하기 위한 테이블 구조를 제공한다. 사용자는 타겟 스키마 또는 DTD(Document Type Definition) 그래프를 바탕으로 경로들에 의해 식별되는 다른 노드들에 대해, 다양한 그룹화 선택을 테이블에 입력할 수 있다.
본 발명은 표준 텍스트 에디터 또는 그래픽 사용자 인터페이스(GUI) 툴 중하나를 사용하여, 사용자에 의해 대부분 생성되는 구조적 테이블 상에서 동작하는 고정된 번역기를 포함한다. 구조적 테이블은 실행 시간동안 확장될 수 있다. 데이터 그룹화 방법은 사용자의 지정에 따라 수행된다. 문서 구조에 따라, 사용자가 다른 그룹화(grouping)를 갖고자 하는 다수의 위치/택이 있을 수 있다. 테이블은 사용자의 취향에 따라 사용자-정의의 또는 자동으로 정의되는 계층적 데이터 그룹화를 기록하기 위한 구조적 정보를 포함한다. 본 발명의 두드러진 이점은 본 발명이 루핑 문제로부터 발생하는 모호성(ambiguities)에 대해 사용자가 제공하는 해결 방법이라는 것이다.
본 발명의 상기 및 다른 목적들, 특징들 및 이점들은 첨부된 도면들을 참조로 판독되는 그의 도식적인 실시예들의 하기의 상세한 설명으로부터 명백해질 것이다.
도 1은 부분적 ANSI X12 EDI 슈퍼셋 맵(버젼 003 개량판 040)을 나타내는 도면.
도 2는 EDI 포맷의 샘플 PO 메시지를 나타내는 도면.
도 3은 도 2의 샘플 PO EDI에 대한 부분적 DOM 트리를 나타내는 도면.
도 4는 소스로서 XML 또는 EDI 플랫 파일 중 하나에 대한 루핑 문제를 해결할 수 있는 번역기의 흐름도.
도 5a는 단순한 플랫 파일 DOM 인스턴스를 나타내는 도면이며, 도 5b 및 5c는 플랫 파일 변환을 위한 2가지 다른 그룹화(grouping) 옵션을 도시하는 도면으로, 여기서 한가지 옵션은 도 5b에서처럼 서브트리 택의 다양성을 바탕으로 분류하는 것이고, 다른 옵션은 도 5c에서처럼 동일한 서브 트리 택을 바탕으로 분류하는 것이며, 도 5d 및 5e는 도 5b 및 5c에 대한 대응하는 테이블을 나타내는 도면.
도 6은 경로들이 동일한 택 명칭을 갖더라도 사용자가 다른 경로들을 분류하기 위해 다른 그룹화 옵션을 선택할 수 있는 더 복잡한 예를 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
20: 트랜잭션 세트30: 맵 테이블
60: 세그먼트 ID40: 데이터 엘리먼트 테이블
70,80: 위치 택400: 번역 알고리즘
410: XML415: EDI420: 중간 DOM 트리 인스턴스430,435: GUI 에디터
432: DTD450: XML 파서
455: 플랫 파일 파서
본 발명이 이제 하기에 상세히 설명된다. 이러한 설명은 구조적 문서 번역에서 사용자 제어 데이터 그룹화를 위한 본 발명의 시스템 및 방법에 관한 것이다.
본 발명에서, DOM 트리 구조로 구문해석될 수 있는 임의의 파일 포맷이 입력 문서 포맷으로 사용될 수 있다. 본 발명의 바람직한 실시예에 대한 하기의 설명에 기재된 파일 포맷은 XML 및 EDI이며, 이들 포맷은 둘다 DOM 트리 구조를 생성하기 위해 간단한 파서를 가질 수 있다. 본 발명의 번역 방법은 소스 경로 데이터와 타겟 경로 데이터를 포함하는 간단한 2-칼럼 정적 번역 테이블을 바탕으로 한다. 번역 방법은 동적 테이블을 자동으로 생성하며, 순회(traversal)후에 그 동적 테이블이 비어있지 않다면, 그 동적 테이블은 정적 테이블을 통과하는 동안 주어진 노드에 할당된 특정한 속성을 제거하기 위해 사용될 수 있다. 본 발명의 번역 방법은 소스 DOM 트리를 입력으로 취하는 타겟 DOM 트리를 생성한다. 타겟 DOM 트리를 생성하기 위해, 본 방법은 전위 오더링(prefix ordering)에서 소스 DOM 트리를 재귀적으로(recursively) 횡단(traverse)한다. 방문된 모든 노드에 대해, 본 방법은 (소스 DOM 트리의 루트 노드로부터 추적된) 노드의 경로 데이터를 번역 테이블의 왼쪽 칼럼에 있는 노드의 경로들과 일치시키기 위해 사용한다. 일치가 있으면, 본 방법은 하기의 단계들을 수행함으로써 타겟 DOM 트리에서 경로를 생성하기 위해 번역 테이블의 오른쪽 칼럼에서 사용자가 정의한 (또는 사용자의 취향에 따라 자동으로 정의된) 데스티네이션 경로를 사용한다. 이 단계들은,
1. 도트로 분리된 데스티네이션 경로를 P1,P2, ... , Pn으로 명명되는 택 리스트로 구문해석하는 단계와,
2. 택 P1을 가진 루트(root)로 명명되는 루트 노드를 (만일 존재하지 않는다면) 생성하는 단계와,
3. 상기 리스트로부터 루트 노드 택을 제거하는 단계와,
4. parent_node←root 단계와,
5. (택 리스트가 비어 있지 않다면),
·리스트로부터 다음 택을 가져와서 제거한다;
·제거된 택은 3가지 경우, Pi, Pi[#] 및 Pi@['X']를 갖는다;
경우 1: Pi
택 Pi를 가진 r로 명명되는 가장 최근에 생성된 노드를 찾는다;
그러한 노드가 존재하지 않는다면, r로 명명되는 하나의 노드를 생성하고, 그것을 부모_노드(parent_node)의 자식(children) 리스트에 첨부시킨다;
경우 2: Pi[#]
택 Pi를 가진 r로 명명되는 새로운 노드를 생성한다;
부모-노드의 자식 리스트에 r을 첨부한다;
경우 3: Pi@['X']
택 Pi와 속성 SORT='X'를 가진 r로 명명되는 가장 최근에 생성된 노드를 찾는다;
그러한 노드가 존재하지 않는다면, r로 명명되는 하나의 노드를 생성하고, 그것을 부모_노드의 자식 리스트에 첨부시킨다;
택과 속성 값을 동적 테이블에 기록한다;
·parent_node←r 한다; 의 과정을 포함하는 단계와,
6. 원래 값을 부모_노드 하의 새로운 값, 즉, Pn으로 복사하는 단계, 및
7. 동적 테이블이 비어있지 않다면, 테이블에 기록된 그러한 속성들을 제거하기 위해 타겟 DOM 트리를 순회하는 단계
를 포함한다.
GUI 툴은 정적 및 동적 테이블들이 사용자에게 완전히 투명하도록 하기 위해 사용될 수 있다. GUI 툴은 DTD(XML용) 또는 맵(EDI용)을, 부모-자식 관계를 나타내는 에지와 택을 표현하는 노드로 먼저 디스플레이할 수 있다. 사용자는 그룹화 옵션들(다양성 또는 1-of-a-kind(동일성))를 선택하고 새로운 타겟 위치 택에 명칭을 할당하기 위해 임의의 논-리프(non-leaf) 노드상을 클릭할 수 있다. 이 툴은 사용자가 편집을 끝마친 후에 정적 테이블을 자동으로 생성한다. 본 발명의 이러한 양상을 수행하기 위한 이러한 GUI 툴은 알려진 프로그래밍 기술을 사용하여 실행될 수 있다.
이제 동일하거나 유사한 구성요소들에 동일한 참조번호를 부여한 도면들 중 도 1을 먼저 참조하면, 부분적 ANSI X12 EDI 슈퍼셋 맵(버젼 003 개량판 040)이 도시된다. 블록(10)과 같이 187개 이상의 트랜잭션 세트 또는 문서 타입이 존재한다. 예를 들면, 참조번호(850)가 부여된 트랜잭션 세트(20)는 구매 오더(PO) 문서 타입이다. EDI에 따른 모든 트랜잭션 세트는 트랜잭션내에 포함될 수 있는 모든 가능한 데이터 세그먼트들과 그들의 오더들을 정의하는, 블록(30)과 같은 맵 테이블을 포함한다. 맵내에는, 헤더(header), 디테일(detail) 및 써머리(summary)의 3개의 섹션이 있다. 세그먼트 ID(60)를 정의하는 칼럼은 모든 가능한 데이터 세그먼트를 목록화한다. 맵 테이블(30)은 내포된 루프들을 정의할 수 있는 위치 택을 포함한다. 예를 들면, 위치 택 BEGIN_N1_LOOP(70)와 END_N1_LOOP(80)은 4개의 세그먼트 N1,N2,N3 및 N4를 포함하는 하나의 루프를 형성한다. 그러나, 위치 택이EDI 메시지내에 존재하지 않으면, 프로그램이 EDI 메시지를 프로세스해야할 때 루핑 문제 또는 그룹화 문제을 유발시킨다. 또한, EDI에 따르면, 모든 데이터 세그먼트는 그 데이터 세그먼트에 대한 더 작은 엔티티를 또한 정의하는 대응하는 데이터 엘리먼트 테이블을 가질 수 있다. 예를 들면, 데이터 엘리먼트 테이블(40)은 N1 세그먼트에 관한 것이며, 4개의 엘리먼트 N101,N102,N103 및 N104를 정의한다. 각각의 데이터 엘리먼트에 대한 데이터 타입(90)이 존재한다. 데이터 타입 ID에 대해, 그것은 현재 데이터 엘리먼트의 콘탠트가 속기(shorthand) 표기이고, 대응하는 검증 테이블을 사용하여 디코딩되어야 한다는 것을 의미한다. 예를 들면, 참조번호(50)의 블록은 엘리먼트 번호(98)을 가진 데이터 엘리먼트 N101에 대한 것이고, 트레이딩 파트너(trading partner) 또는 역할에 대한 완전한 설명을 포함한다. 이 테이블내에는 600개 이상의 엔트리들이 존재한다.
도 2는 EDI 포맷의 샘플 PO 메시지를 블록(200)으로서 나타낸다. 데이터 세그먼트 명칭 테이블(230)과 데이터 엘리먼트 명칭 테이블(240)이 EDI 메시지의 의미를 이해하는 것을 도울 수 있다. (210)과 (215)에 N1 세그먼트로 나타나 있는 바와 같이 N1과 관련된 2개의 루프가 있다. 실제 메시지는 (200)으로 도시된 바와 같은 플랫 파일이며, 이 플랫 파일은 이러한 루프들의 존재를 나타내는 위치 택을 갖지 않는다.
도 3은 도 2의 샘플 PO EDI에 대한 부분적 DOM 트리를 도시한다. 타원형 박스(300)들은 EDI 구조 관련 콘탠트를 나타내고, 사각 박스(320)는 실제 데이터 콘탠트를 나타낸다. 이 그래프에는 4개의 레벨이 있으며, 제 1 레벨은 트랜잭션 세트이며, 제 2 레벨은 데이터 세그먼트에 관한 것이고, 제 3 레벨은 데이터 엘리먼트에 관한 것이며, 마지막 레벨은 실제 데이터에 관한 것이다. 실제 데이터는 "Bill-To-Party"를 표시하는 "BT"를 포함하는 사각 박스(330)의 속기 표현을 포함할 수 있다. 이 그래프는 또한 루핑 문제를 보여주고 있다. 여기서, 루프 N1과 관련된 2개의 루프가 있으며, 하나는 타원형 박스(310)에서 시작하여 타원형 박스(312)에서 끝나며 다른 하나는 타원형 박스(315)에서 시작하여 타원형 박스(317)에서 끝난다.
도 4는 소스로서 XML 또는 EDI 플랫 파일에 대한 루핑 문제를 해결할 수 있는 본 발명에 따른 번역기의 흐름도를 나타낸다. XML 번역기는 402로 도시되어 있으며 EDI 번역기는 405로 도시되어 있다. XML(410) 또는 플랫 파일(EDI)(415) 문서 중 하나를 입력으로 선택하면, XML 파서(450) 또는 플랫 파일 파서(455)는 중간 DOM 트리 인스턴스(420)를 발생시킬 수도 있다. 중간 DOM 구조 인스턴스(420)를 입력으로 선택하고 번역된 DOM 구조 인스턴스(422) 또는 XML 문서(425)를 출력하면, (상기 설명된) 번역 알고리즘(400)은 루핑 문제를 효과적으로 해결한다. 사용자가 그들이 문서들을 분류하고자 하는 방식을 명시하는 2 칼럼 정적 번역 테이블 블럭(440,445)을 수정하기 위해 평범한 택스트 에디터 또는 더 개선된 GUI 에디터(430,435)를 사용할 수 있다. XML의 경우에 대한 GUI 툴은 DTD(432)를 디스플레이하고 참조로 사용할 수 있다.
도 5b 및 5c는 도 5a에 도시된 원래 DOM 인스턴스의 플랫 파일 변환을 위한 2가지 다른 그룹화 옵션을 도시하며, 여기서 한가지 옵션은 도 5b에서처럼 서브 트리 택의 다양성을 바탕으로 분류하는 것이고, 다른 옵션은 도 5c에서처럼 동일한 서브트리 택을 바탕으로 분류하는 것이다. 예를 들면, 510의 노드 G는 A, B 및 C를 수집하고, 515의 노드 G는 2개의 A를 수집한다. 상기 G들은 루프 그룹화 노드를 나타내는, 타겟 DOM 트리 또는 XML 문서내에 포함될 것이다. 도 5d 및 5e는 도 5b 및 5c의 트리를 생성하기 위한 대응하는 테이블이다. 테이블 520 및 테이블 525와 같은 정적 테이블들은 평범한 텍스트 에디터 또는 GUI 툴을 사용하여, 사용자에 의해 생성된다. 테이블 530과 같은 동적 테이블은 실행 시간 동안 발생되는 중간 구조일 수 있다. 테이블들은 일치된 경로(왼쪽 칼럼)를 위한 새로운 경로들을 생성하기 위해 사용자 정의 룰과 원래의 경로(왼쪽 칼럼)를 명시하는 2개의 칼럼을 포함한다. 타겟 DOM 트리 또는 XML 문서는 오른쪽 칼럼에서 일치하는 경로 세트를 사용하여 구성된다. 택 명칭 G 뒤의 540의 "[#]"은 동일한 택 명칭 (G)를 가진 새로운 노드를 항상 생성한다는 것을 나타낸다. 택 명칭 G 뒤의 545의 "@['X']"는 특정화된 경로(오른쪽 칼럼)를 따라 택 명칭 W와 속성 SORT='X'가진 노드를 찾는 것을 나타낸다. 속성 명칭 "SORT"는 유일한 것이어야 한다. 그러한 노드가 존재하지 않는다면, 하나의 노드가 생성된다. 동적 테이블은 어떤 노드에 대한 속성을 제거하기 위해 사용된다.
도 6은 경로들이 600 및 605의 B 노드와 같은 동일한 택 명칭을 갖더라도, 사용자들이 다른 경로들을 분류하기 위해 다른 그룹화 옵션을 선택할 수 있는 더 복잡한 예를 도시한다. 예를 들면, 택 명칭 B는 각각의 경로가 다른 분류 옵션을 갖는, 2개의 다른 경로들, A.B와 A.C.B 상에서 나타난다. 경로들 A.B.X와 A.B.Y는624와 626로 표시된 룰들의 오른쪽 칼럼에 도시된 바와 같이, X들과 Y들을 구분해서 분류한다. T 노드는 루핑 택이 되도록 삽입된다. 경로들 A.C.B.X와 A.C.B.Y는 628과 630로 표시된 룰들의 오른쪽 칼럼에 도시된 바와 같이, 1-of-a-kind(동일성) 룰을 사용하여 X들과 Y들을 2개의 그룹, 즉, 그룹 X와 그룹 Y로 분류한다. 640으로 표시된 속성 '@'의 사용은 알고리즘이 1-of-a-kind 룰을 선택하도록 지시한다. W 노드는 루핑 택으로 사용하기 위해 삽입된다. 이 예는 또한 분류의 2가지 다른 레벨들을 보여주며, 제 1 레벨은 640으로 표시된 1-of-a-kind 스타일의 620 및 622로 표시된 A.B와 A.C를 분류하고 제 2 레벨은 X들과 Y들의 그룹들을 분류한다. 발생되는 임의의 속성들을 기록하기 위하여 임시 동적 테이블이 생성된다. 그러한 동적 테이블이 생성되지 않으면, 알고리즘은 그의 번역을 완료한다. 그렇지 않으면, 이전의 통과 동안 노드들과 연관된 속성들 모두를 제거하기 위해, 타겟 DOM 트리를 통해 제 2 통과가 수행된다. 예를 들면, 640 및 645의 룰들은 632 및 634의 왼쪽 칼럼과 일치될 수 있는, 노드들 S 및 W에 대한 속성들을 각각 도입한다. 이러한 속성들은 650 및 655의 룰들을 사용하여 제거된다.
본 명세서에 개시된 본 발명은 바람직하게는 범용 컴퓨터 상에서 실행하는 프로그램으로 구현된다. 본 발명은 또한 자기 또는 광학 디스크, 하드 디스크 드라이브, 메모리 또는 관련 기술 분야의 당업자들에게 알려진 다른 저장 장치들과 같은 컴퓨터 프로그램 제품내에 저장되거나 구체화되는 명령으로서 구현되거나 사용될 수 있다.
본 발명의 도시된 실시예들이 첨부된 도면을 참조로 본 명세서에서 설명되었지만, 본 발명은 이들 지정된 실시예들로 한정되는 것은 아니며 본 발명의 범위 또는 이론에서 벗어나지 않은 범위내에서 관련 기술분야의 당업자들에 의해 다양한 다른 변경과 수정이 행해질 수 있는 것으로 이해해야 한다.
상기 설명한 바와 같이, 본 발명은, 번역 알고리즘으로 구현될 수 있거나, 독립적인 변환으로 실행될 수 있는 사용자 제어 데이터 그룹화 방법 및 시스템을 제공한다.
또한, 동일한 DTD 또는 스키마에 따른, 무한적일 수 있는 다수의 구조적 문서 상에서 실행할 수 있는 일반적 데이터 그룹화 방법 및 시스템을 제공한다.
또한, 사용자가 고급 언어(C++, Java 등)를 사용하는 것등에 의해 분류 및 그룹화를 프로그램하거나, 복잡한 번역 스타일 시트를 XSLT로 기록할 필요가 없도록 관리/유지하기가 쉬운 중간 테이블을 사용하는 간결한 계통 알고리즘을 사용하는 데이터 그룹화 방법 및 시스템을 제공한다.
또한, 분류 및 그룹화(즉, 번역) 테이블 그 자체가 사용자들에게 투명하게 생성될 수 있도록 단순하며 사용자에게 친숙한 GUI를 사용하는 데이터 그룹화 방법 및 시스템을 제공한다.

Claims (17)

  1. 프로세싱 전에 구조적 문서로부터 모호성(ambiguities)를 제거하도록 구조적 문서를 프로세싱하기 위한 방법에 있어서,
    상기 구조적 문서를 계층적 트리 구조로 표현하는 단계와,
    상기 계층적 트리 구조를 참조하여 사용자에 의해 정의된 번역 룰을 수신하는 단계, 및
    상기 번역 룰을 따라 상기 구조적 문서를 표현하는 수정된 계층적 트리 구조를 자동으로 생성하는 단계
    를 포함하는 구조적 문서 프로세싱 방법.
  2. 제 1 항에 있어서, 상기 번역 룰은 상기 구조적 문서의 엘리먼트들을 그룹화(grouping)하기 위한 룰들을 포함하는 구조적 문서 프로세싱 방법.
  3. 제 2 항에 있어서, 상기 그룹화 룰은 서브 트리 택의 다양성(diversification)과 서브 트리 택의 동일성(identity)으로 이루어진 상기 그룹으로부터 선택되는 구조적 문서 프로세싱 방법.
  4. 제 3 항에 있어서, 상기 그룹화 룰은 2개의 칼럼 테이블로 표현되고, 상기 테이블의 제 1 칼럼은 계층적 트리 구조의 다수의 노드들을 정의하며, 상기 테이블의 제 2 칼럼은 상기 다수의 노드들의 각각의 노드를 그룹화하기 위해 적용되는 룰을 정의하는 구조적 문서 프로세싱 방법.
  5. 제 1 항에 있어서, 상기 계층적 트리 구조는 DOM(Document Object Model)이며, 번역될 상기 구조적 문서는 플랫 파일(flat file)과 XML(eXtensible Markup Language)로 이루어진 그룹중에서 선택된 포맷인 구조적 문서 프로세싱 방법.
  6. 제 1 항에 있어서, 수정된 계층적 트리 구조를 자동으로 생성하는 상기 단계는 상기 번역 룰에 따라 상기 계층적 트리 구조의 각각의 노드를 프로세싱하는 단계와, 상기 계층적 트리 구조의 임시 번역을 표현하는 동적 테이블을 자동으로 생성하는 단계, 및 상기 임시 번역으로부터 상기 수정된 계층적 트리 구조를 생성하는 단계를 포함하는 구조적 문서 프로세싱 방법.
  7. 제 1 항에 있어서, 상기 번역 룰은 계층적 트리 구조에서 노드로 표현되는 상기 구조적 문서의 다양한 데이터 엘리먼트를 사용자에게 디스플레이하는 그래픽 사용자 인터페이스에 의해 사용자에 의해 생성되는 구조적 문서 프로세싱 방법.
  8. 제 1 항에 있어서, 상기 구조적 문서로부터 제거되는 상기 모호성은 루프로 표시되지 않는 데이터 루프를 포함하는 구조적 문서 프로세싱 방법.
  9. 프로세싱 전에 구조적 문서로부터 모호성(ambiguities)을 제거하도록 구조적 문서를 프로세싱하기 위한 시스템에 있어서,
    상기 구조적 문서를 계층적 트리 구조로 표현하기 위한 수단과,
    상기 계층적 트리 구조에 대해 참조한 사용자로부터 번역 룰을 수신하기 위한 수단, 및
    상기 번역 룰에 따라서 상기 구조적 문서를 표현하는 수정된 계층적 트리 구조를 자동으로 생성하기 위한 수단
    을 포함하는 구조적 문서 프로세싱 시스템.
  10. 제 9 항에 있어서, 상기 번역 룰은 상기 구조적 문서의 엘리먼트들을 그룹화하기 위한 룰들을 포함하는 구조적 문서 프로세싱 시스템.
  11. 제 10 항에 있어서, 상기 그룹화 룰은 서브 트리 택의 다양성(diversification)과 서브 트리 택의 동일성(identity)으로 이루어진 그룹으로부터 선택되는 구조적 문서 프로세싱 시스템.
  12. 제 11 항에 있어서, 상기 그룹화 룰은 2개의 칼럼 테이블로 표현되고, 상기 테이블의 제 1 칼럼은 상기 계층적 트리 구조의 다수의 노드들을 정의하고, 상기 테이블의 제 2 칼럼은 상기 다수의 노드들의 각각의 노드를 그룹화하기 위해 적용되는 룰을 정의하는 구조적 문서 프로세싱 시스템.
  13. 제 9 항에 있어서, 상기 계층적 트리 구조는 DOM(Document Object Model)이며, 번역될 상기 구조적 문서는 플랫 파일과 XML(eXtensible Markup Language)로 이루어진 그룹 중에서 선택된 포맷인 구조적 문서 프로세싱 시스템.
  14. 제 9 항에 있어서, 수정된 계층적 트리 구조를 자동으로 생성하기 위한 상기 수단은, 상기 번역 룰에 따라 상기 계층적 트리 구조의 각각의 노드를 프로세싱하고, 상기 계층적 트리 구조의 임시 번역을 나타내는 동적 테이블을 자동으로 생성하며, 상기 임시 번역으로부터 상기 수정된 계층적 트리 구조를 생성하기 위한 수단을 포함하는 구조적 문서 프로세싱 시스템.
  15. 제 9 항에 있어서, 상기 구조적 문서의 데이터 엘리먼트를 상기 계층적 트리 구조내의 노드로서 사용자에게 디스플레이하는 그래픽 사용자 인터페이스와, 사용자가 상기 노드들에 대한 그룹화 옵션을 선택하도록 하는 수단, 및 상기 선택된 그룹화 옵션을 상기 번역 룰로 변환하기 위한 수단을 더 포함하는 구조적 문서 프로세싱 시스템.
  16. 제 9 항에 있어서, 상기 구조적 문서로부터 제거되는 상기 모호성은 루프로 표시되지 않는 데이터 루프를 포함하는 구조적 문서 프로세싱 시스템.
  17. 프로세싱에 앞서, 구조적 문서로부터 모호성을 제거하도록 구조적 문서를 프로세싱하도록 하기 위해 구현된 컴퓨터 판독가능 프로그램 코드 수단을 갖는 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품에 있어서,
    상기 컴퓨터 프로그램 제품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은,
    컴퓨터가 상기 구조적 문서를 계층적 트리 구조로 표현하도록 하기 위한 컴퓨터 판독가능 프로그램 코드 수단과,
    컴퓨터가 상기 계층적 트리 구조를 참조하여 사용자에 의해 정의된 번역 룰을 수신하도록 하기 위한 컴퓨터 판독가능 프로그램 코드 수단, 및
    컴퓨터가 상기 번역 룰에 따라서 상기 구조적 문서를 표현하는 수정된 계층적 트리 구조를 자동으로 생성하도록 하기 위한 컴퓨터 판독가능 프로그램 코드 수단
    을 포함하는 컴퓨터 프로그램 제품.
KR1020020007077A 2001-02-14 2002-02-07 구조적 문서 번역에서 사용자 제어 데이터 그룹화 KR20020066980A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/783,491 2001-02-14
US09/783,491 US7114123B2 (en) 2001-02-14 2001-02-14 User controllable data grouping in structural document translation

Publications (1)

Publication Number Publication Date
KR20020066980A true KR20020066980A (ko) 2002-08-21

Family

ID=25129422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020007077A KR20020066980A (ko) 2001-02-14 2002-02-07 구조적 문서 번역에서 사용자 제어 데이터 그룹화

Country Status (3)

Country Link
US (1) US7114123B2 (ko)
JP (1) JP2002318798A (ko)
KR (1) KR20020066980A (ko)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI113302B (fi) * 2001-05-25 2004-03-31 Metso Automation Oy Tilannekuvien käyttäminen teollisuusautomaatioprosessin ohjausjärjestelmässä
US7281211B2 (en) * 2001-12-21 2007-10-09 Gxs, Inc. Automated method, system, and software for transforming data between extensible markup language format and electronic data interchange format
US20030131071A1 (en) * 2002-01-08 2003-07-10 G.E. Information Services, Inc. Electronic document interchange document object model
US20030159105A1 (en) * 2002-02-21 2003-08-21 Hiebert Steven P. Interpretive transformation system and method
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
US7921359B2 (en) * 2002-04-19 2011-04-05 Sas Institute Inc. Computer-implemented system and method for tagged and rectangular data processing
US7207067B2 (en) * 2002-11-12 2007-04-17 Aol Llc Enforcing data protection legislation in Web data services
KR100561228B1 (ko) * 2003-12-23 2006-03-15 한국전자통신연구원 보이스엑스엠엘 문서를 엑스에이치티엠엘플러스보이스문서로 변환하기 위한 방법 및 이를 이용한 멀티모달서비스 시스템
US7254574B2 (en) * 2004-03-08 2007-08-07 Microsoft Corporation Structured indexes on results of function applications over data
EP1744256A1 (en) * 2004-04-08 2007-01-17 JustSystems Corporation Document processing device and document processing method
US9098476B2 (en) * 2004-06-29 2015-08-04 Microsoft Technology Licensing, Llc Method and system for mapping between structured subjects and observers
US7437665B2 (en) * 2004-07-23 2008-10-14 International Business Machines Corporation SEF parser and EDI parser generator
US7506324B2 (en) * 2004-09-02 2009-03-17 Microsoft Corporation Enhanced compiled representation of transformation formats
WO2006081475A2 (en) * 2005-01-27 2006-08-03 Intel Corp. System and method for processsing xml documents
US7634722B2 (en) * 2005-03-08 2009-12-15 Aspect Software, Inc. Reversible logic for widget and markup language generation
US7945904B2 (en) * 2005-08-22 2011-05-17 Microsoft Corporation Embedding expression in XML literals
US7447707B2 (en) * 2005-12-16 2008-11-04 Microsoft Corporation Automatic schema discovery for electronic data interchange (EDI) at runtime
US7647500B2 (en) * 2005-12-16 2010-01-12 Microsoft Corporation Synchronous validation and acknowledgment of electronic data interchange (EDI)
US7650353B2 (en) * 2005-12-16 2010-01-19 Microsoft Corporation XML specification for electronic data interchange (EDI)
US7599944B2 (en) * 2005-12-16 2009-10-06 Microsoft Corporation Electronic data interchange (EDI) schema simplification interface
US7984373B2 (en) * 2006-02-24 2011-07-19 Microsoft Corporation EDI instance based transaction set definition
US7685208B2 (en) * 2006-02-24 2010-03-23 Microsoft Corporation XML payload specification for modeling EDI schemas
US7703099B2 (en) * 2006-02-24 2010-04-20 Microsoft Corporation Scalable transformation and configuration of EDI interchanges
US7620645B2 (en) * 2006-02-24 2009-11-17 Microsoft Corporation Scalable algorithm for sharing EDI schemas
US8156148B2 (en) * 2006-02-24 2012-04-10 Microsoft Corporation Scalable algorithm for sharing EDI schemas
US7542982B2 (en) * 2006-09-05 2009-06-02 International Business Machines Corporation Message validation model
US20080059577A1 (en) * 2006-09-05 2008-03-06 Suman Kumar Kalia Scalable logical model for edi and system and method for creating, mapping and parsing edi messages
US20080059506A1 (en) * 2006-09-05 2008-03-06 Suman Kumar Kalia Method, system and schema for building a hierarchical model schema definition from a flat model definition
US20080126385A1 (en) * 2006-09-19 2008-05-29 Microsoft Corporation Intelligent batching of electronic data interchange messages
US20080071887A1 (en) * 2006-09-19 2008-03-20 Microsoft Corporation Intelligent translation of electronic data interchange documents to extensible markup language representations
US20080071806A1 (en) * 2006-09-20 2008-03-20 Microsoft Corporation Difference analysis for electronic data interchange (edi) data dictionary
US8161078B2 (en) * 2006-09-20 2012-04-17 Microsoft Corporation Electronic data interchange (EDI) data dictionary management and versioning system
US8108767B2 (en) * 2006-09-20 2012-01-31 Microsoft Corporation Electronic data interchange transaction set definition based instance editing
US20080126386A1 (en) * 2006-09-20 2008-05-29 Microsoft Corporation Translation of electronic data interchange messages to extensible markup language representation(s)
US8370399B2 (en) * 2006-12-04 2013-02-05 Microsoft Corporation Building, viewing, and manipulating schema sets
CN102388383A (zh) * 2006-12-08 2012-03-21 帕特里克·J·霍尔 在线计算机辅助翻译
US20080168081A1 (en) * 2007-01-09 2008-07-10 Microsoft Corporation Extensible schemas and party configurations for edi document generation or validation
US20080168109A1 (en) * 2007-01-09 2008-07-10 Microsoft Corporation Automatic map updating based on schema changes
US9558169B2 (en) * 2007-11-20 2017-01-31 Sap Se Hierarchical grouping columns
US9418061B2 (en) * 2007-12-14 2016-08-16 International Business Machines Corporation Prioritized incremental asynchronous machine translation of structured documents
JP5038939B2 (ja) 2008-03-03 2012-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報検索システム、方法及びプログラム
US8150862B2 (en) * 2009-03-13 2012-04-03 Accelops, Inc. Multiple related event handling based on XML encoded event handling definitions
US8510432B2 (en) * 2009-06-26 2013-08-13 Accelops, Inc. Distributed methodology for approximate event counting
US8464233B2 (en) 2010-06-21 2013-06-11 Microsoft Corporation Compile time interpretation of markup codes
US9229923B2 (en) 2012-06-27 2016-01-05 Technologies Xpertdoc Inc. Method and system for producing documents
US9591052B2 (en) 2013-02-05 2017-03-07 Apple Inc. System and method for providing a content distribution network with data quality monitoring and management
US20190347341A1 (en) * 2018-05-09 2019-11-14 Carecloud Corporation Method and system for schema transformation
US10402380B1 (en) 2018-05-09 2019-09-03 Carecloud Corporation Interactive user interface for schema transformation
US11194833B2 (en) * 2019-10-28 2021-12-07 Charbel Gerges El Gemayel Interchange data format system and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187721A (ja) * 1996-10-28 1998-07-21 Fuji Xerox Co Ltd 文書処理装置、文書型判定方法、階層的正規表現判定方法、文書処理プログラムを記録した媒体、文書型判定プログラムを記録した媒体及び階層的正規表現判定プログラムを記録した媒体
US5915259A (en) * 1996-03-20 1999-06-22 Xerox Corporation Document schema transformation by patterns and contextual conditions
JPH11296544A (ja) * 1998-04-15 1999-10-29 Fujitsu Ltd 構造化データ管理システム及び構造化データ管理プログラムを記録したコンピュータ読み取り可能な記録媒体
WO2000025235A1 (en) * 1996-04-10 2000-05-04 Enfish Technology Method and apparatus for a physical storage architecture having an improved information storage and retrieval system for a shared file environment

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202977A (en) * 1990-07-13 1993-04-13 Premenos Corp. Edi translation system using plurality of communication processes and de-enveloping procedure corresponding to transmitted communication process
US5909570A (en) * 1993-12-28 1999-06-01 Webber; David R. R. Template mapping system for data translation
US5878419A (en) * 1996-01-19 1999-03-02 Novell, Inc. Method for creating a relational description of a formatted transaction
US20020156814A1 (en) * 1997-01-13 2002-10-24 Ho Bruce K. Method and apparatus for visual business computing
CA2223953A1 (en) * 1997-12-05 1999-06-05 Colin Gajraj Transformation of marked up documents
US6668354B1 (en) * 1999-01-05 2003-12-23 International Business Machines Corporation Automatic display script and style sheet generation
US6507856B1 (en) * 1999-01-05 2003-01-14 International Business Machines Corporation Dynamic business process automation system using XML documents
US6732330B1 (en) * 1999-09-30 2004-05-04 International Business Machines Corporation Scripting language blocks to support multiple scripting languages in a single web page
US6725424B1 (en) * 1999-12-09 2004-04-20 International Business Machines Corp. Electronic document delivery system employing distributed document object model (DOM) based transcoding and providing assistive technology support
US6845507B2 (en) * 2000-05-18 2005-01-18 Ss & C Technologies, Inc. Method and system for straight through processing
US6826726B2 (en) * 2000-08-18 2004-11-30 Vaultus Mobile Technologies, Inc. Remote document updating system using XML and DOM

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915259A (en) * 1996-03-20 1999-06-22 Xerox Corporation Document schema transformation by patterns and contextual conditions
WO2000025235A1 (en) * 1996-04-10 2000-05-04 Enfish Technology Method and apparatus for a physical storage architecture having an improved information storage and retrieval system for a shared file environment
JPH10187721A (ja) * 1996-10-28 1998-07-21 Fuji Xerox Co Ltd 文書処理装置、文書型判定方法、階層的正規表現判定方法、文書処理プログラムを記録した媒体、文書型判定プログラムを記録した媒体及び階層的正規表現判定プログラムを記録した媒体
JPH11296544A (ja) * 1998-04-15 1999-10-29 Fujitsu Ltd 構造化データ管理システム及び構造化データ管理プログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
US20020111964A1 (en) 2002-08-15
JP2002318798A (ja) 2002-10-31
US7114123B2 (en) 2006-09-26

Similar Documents

Publication Publication Date Title
KR20020066980A (ko) 구조적 문서 번역에서 사용자 제어 데이터 그룹화
Tidwell XSLT: mastering XML transformations
US7062708B2 (en) Tree construction for XML to XML document transformation
US7171407B2 (en) Method for streaming XPath processing with forward and backward axes
US6766330B1 (en) Universal output constructor for XML queries universal output constructor for XML queries
US7069504B2 (en) Conversion processing for XML to XML document transformation
US8429519B2 (en) Presentation generator
US6950984B2 (en) Method, system for, and program product for generating a display rule for a structured document, and for changing a structured document and its document type definition
EP1376387A2 (en) Word-processing document stored in a single XML file
US20070198559A1 (en) Apparatus, program product and method for structured document management
US7076729B2 (en) Graphical specification of XML to XML transformation rules
US20080134019A1 (en) Processing Data And Documents That Use A Markup Language
KR20090013243A (ko) 워드 프로세서 문서의 원시 xml에서 비원시 xml을 지원하는 시스템 및 방법
US20170154019A1 (en) Template-driven transformation systems and methods
JP2005070911A (ja) 構造化文書のデータを検索する装置および方法
US20060253430A1 (en) Method and apparatus for approximate projection of XML documents
WO2008051783A2 (en) Context-free grammar
US7568152B1 (en) Text file interface support in an object oriented application
US8196033B2 (en) Converting between data sources and XML
US20090307187A1 (en) Tree automata based methods for obtaining answers to queries of semi-structured data stored in a database environment
Jelinek et al. XML visualization using tree rewriting
US7533335B1 (en) Representing fields in a markup language document
EP1743254A1 (en) Processing data and documents that use a markup language
Gildea et al. Ordered tree decomposition for hrg rule extraction
JP3843574B2 (ja) 文書変換規則生成装置、文書変換規則生成方法及び文書変換規則生成プログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application