KR101331532B1 - 데이터베이스로부터 xml 문서를 동적으로 생성하는 방법 - Google Patents

데이터베이스로부터 xml 문서를 동적으로 생성하는 방법 Download PDF

Info

Publication number
KR101331532B1
KR101331532B1 KR1020077028876A KR20077028876A KR101331532B1 KR 101331532 B1 KR101331532 B1 KR 101331532B1 KR 1020077028876 A KR1020077028876 A KR 1020077028876A KR 20077028876 A KR20077028876 A KR 20077028876A KR 101331532 B1 KR101331532 B1 KR 101331532B1
Authority
KR
South Korea
Prior art keywords
template
record
instructions
executing
executable
Prior art date
Application number
KR1020077028876A
Other languages
English (en)
Other versions
KR20080027251A (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 KR20080027251A publication Critical patent/KR20080027251A/ko
Application granted granted Critical
Publication of KR101331532B1 publication Critical patent/KR101331532B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation

Landscapes

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

Abstract

본 발명은 데이터베이스 소스로부터 추출된 데이터를 포함하는 XML 문서를 자동으로 생성하는 방법을 설명한다. 이 방법은 데이터베이스의 포맷으로 된 다수의 템플릿을 정의하는 것으로 이루어져 있고, 이 템플릿은 실행할 수 있는 스테이트먼트를 포함한다. 각각의 템플릿과 연관된 문의도 또한 정의된다. 문의는 기록 세트의 형태로 소스 데이터베이스의 데이터로부터 데이터를 추출하기 위해 사용된다. 템플릿의 스테이트먼트의 실행이 이루어지면 기록 세트로부터 데이터를 포함하는 적어도 하나의 XML 문서가 생성된다. 호출 명령을 사용하여, 템플릿은 XML 문서를 생성하기 위한 다른 모든 템플릿을 호출할 수 있다. 본 발명의 방법에 의하면 데이터베이스로부터 직접 작동하는 내포된 템플릿의 도움에 의해 데이터베이스로부터 데이터에 액세스할 수 있는 동적 정의를 실현할 수 있다.
데이터베이스, 템플릿, XML 문서, 문의

Description

데이터베이스로부터 XML 문서를 동적으로 생성하는 방법{DYNAMIC METHOD FOR GENERATING XML DOCUMENTS FROM A DATABASE}
본 발명은 컴퓨터에 의해 생성되는 데이터베이스에 관한 것으로서, 보다 구체적으로는 데이터베이스에 신호를 보낼 때 마크업 언어 XML "eXtensible Markup Language"를 이용하는 유형의 문서를 자동으로 생성하는 것에 관한 것이다.
여러 기업들과 행정기관 및 모든 종류의 상업 또는 다른 기관들은 컴퓨터로부터 직접 또는 네트워크를 통해 생성되는 데이터베이스를 오랫동안 사용해 오고 있다. 데이터베이스는 중복이 가장 적게 일어날 수 있는 구조적인 방식으로 데이터를 저장할 수 있는 실체(entity)이다. 데이터베이스를 이용하는 주요 목적은 동시에 수많은 다른 사용자들이 접속할 수 있도록 하는 것이다.
예를 들면, 전세계 모든 항공사의 비행편에 대한 모든 시간표와 예약 상태를 또는 국제 호텔망에 대하여 이루어진 모든 청약내용을 담고 있는 데이터베이스가 있다. 인터넷에 의해 모든 사설 네트워크 또는 공중 네트워크가 연결될 수 있으므로, 여행사는 전세계 어디에서든지 이러한 정보에 접근할 수 있다. 따라서 데이터 베이스의 개념은 일반적으로 정보를 조합하고 공유할 수 있도록 네트워크에 연결되는 것을 의미한다.
데이터와 사용자를 제어하기 위해, 데이터베이스 관리 시스템(DBMS)이 필요하다. DBMS는 소프트웨어 애플리케이션 집합체이며, 이에 의해 데이터베이스를 관리할 수 있게 되며, 즉 데이터에 간단하게 접근할 수 있거나 여러 사용자가 정보에 접근하는 것을 인가하거나 데이터베이스 내에 존재하는 데이터를 조작(입력, 삭제, 수정)할 수 있게 한다.
대부분의 경우, 데이터베이스는 소위 관계적 모델에 따라 구성되며, 이 관계적 모델은 테이블 형태로 데이터를 조직화한다. 데이터는 집합 이론에 기초하는 수학적 개념에 따라, 즉 관계에 대한 공식 연산의 집합으로 구성된 관계대수에 따라 다루어진다. 관계 연산에 의해 새로운 관계(테이블)가 다른 테이블에서의 기초 연산(예를 들어, 조합, 교차, 또는 차)으로부터 생성될 수 있다.
문의(query)의 구조적 언어는 또한 널리 채택되어 왔다. "구조적 질의 언어"를 약자 SQL이라는 용어로 쓰며, 이 용어는 동시에 데이터 정의 언어 및 데이터 처리 및 제어 언어가 된다. 데이터의 정의는 관리자의 일이다. SQL 언어를 사용하는 대부분의 사람은 단지 데이터 처리 언어를 사용하며, 이 언어에 의해 관심 데이터를 선택할 수 있다. 사용자의 시각에서, 데이터 처리 언어에 대한 가장 중요한 명령은 SELECT 명령어이다. 관계대수에 기초하여, 데이터 선택 작업은 사용자가 사용할 수 있도록 여러가지 관계적 테이블에서 수행될 수 있다.
인터넷의 괄목할만한 성장 및 인터넷에 의해 이루어지는 대중 및 사설 네트 워크를 연결함과 동시에, 데이터의 교환이 HTTP, 즉 "하이퍼 텍스트 트랜스퍼 프로토콜"을 선택함으로써 그리고 웹, 즉 "월드 와이드 웹"이라는 이름으로 알려진 통신 시스템의 발달을 통해 표준화되었다. 월드 와이드 웹에 의해 정보를 검색할 수 있고, 이 정보에 접근할 수 있으며 또한 HTML, 즉 "하이퍼 텍스트 마크업 언어"를 사용하여 시각화할 수 있다. 이 언어에 의하면, 웹 브라우저에 의해 디스플레이될 수 있는 하이퍼텍스트 문서가 생성될 수 있다.
HTML 언어는 문서를 기술하고 그 포맷을 기술하기 위해 1980년대에 채택된 보다 복잡한 기준, 즉 "표준 일반화 마크업 언어"의 약자인 SGML로 알려진 것을 특별히 매우 단순화시킨 버전이다. SGML 언어는 지형적인 특징이 아닌 문서의 논리구조를 기술하기 위해 여전히 사용되는 기호 언어이다. 적용되는 원리는 마커에 의해 이루어지는 문서의 챕터, 문단, 머리말, 도입부, 기타 다른 요소에 대한 일반적인 마킹이다. HTML 언어를 단순화시킨 것이 이를 채택함에 있어서 크게 기여했고, 웹의 발달 초기에는 매우 적절한 것이었을 지라도, 더 많은 것을 요구하는 애플리케이션에 대해서는 그 필수사항이 빠르게 한계를 드러내게 되었다. HTML의 단순화는 더 개발할 수 있는 유효범위를 없앤 대가이기 때문에, HTML을 끌어낸 기준, 즉 SGML과 비슷하지만 복잡하지는 않은 개발 및 채택 가능성을 제공한 언어에 대한 요구사항이 매우 빠르다고 느껴졌다. 이에 대한 응답은 웹을 표준화시키는 임무를 부여받은 기관에 의해 1996년 말에 제안된 새로운 기준이었고, 이 기준은 XML, "eXtensible Markup Language"로 불린다. SGML과 마찬가지로, 복잡하지 않게, XML은 HTML 언어를 확장시킬 수 있는 메타 언어이다. 특히, 예를 들어 텍스트를 더 명 확하게 기술하기 위해 새로운 마커가 정의될 수 있고, 문서는 완전히 개인화될 수 있다. XML의 성공은 그 확장성 때문에 모든 데이터 영역을 기술할 수 있는 기능에 있다. 이에 의해 포함된 데이터의 문법과 구문론은 구조화될 수 있고 확립될 수 있다.
따라서, 데이터베이스로부터 나오는 데이터를 포함하는 문서를 포맷하기 위해 생성된 이래로, 특히 상술한 관계적 데이터베이스 이후로, XML 언어가 사용되어왔다는 것은 별로 놀랍지 않다. 데이터는 SQL 문의에 의해 획득할 수 있다.
그러나, 획득한 데이터를 사용하는 것 및 사용자의 웹 브라우저에 의해 열린 윈도우에서 표시하기 위해 문서 내에 포함시키는 것은, 대개 코딩 작업이 요구된다. 여행사가 문의하는 데이터베이스와 같이 앞서 이미 언급한 예에서, 필요한 디스플레이의 개인화 레벨은 매우 높다. 실제로, 이러한 여행사의 고객은 매우 다양한 요구사항을 갖고 있다. 고객이 행락객인지 아니면 사업가인지 또는 여성인지에 따라 달라지는데, 여행사 직원의 작업을 수월하게 하기 위해서 그리고 생산성을 높이기 위해서 또한 고객의 만족을 더 높이기 위해서, 데이터를 선택하고 제공하는 것은 매우 다를 수 있다.
따라서 XML 문서의 자동 생성은 따라서 애플리케이션 개발자로부터 주목을 끌게 되었다. 예를 들어 미국특허공보 US 6,636,845로 미국특허청(USPTO)가 허여한 특허를 참고할 수 있는데, 이 특허공보는 단일 SQL 문의 "단일 SQL 문의로부터 하나 이상의 XML 문서를 생성"으로부터 XML 문서를 생성하는 방법을 설명한다. 그러나 여기에 기재된 방법은 적응성이 떨어진다. 특히, 이 방법은 데이터에 대한 접근 을 설명하기 위해 정적인 정의에 의존하고 있다. 따라서, 대응하는 XML 문서에 접근되는 데이터의 유형만큼 많은 정의가 존재하게 된다.
본 발명의 일반적인 목적은 XML 문서를 데이터베이스로부터 생성하는 방법을 개선하는 것이다.
본 발명의 구체적인 목적은 데이터베이스 내의 데이터에 대한 접근의 동적 정의로부터 XML 문서를 생성할 수 있는 것이다.
본 발명의 또 다른 목적은 데이터베이스 형식으로 기술되는 내포된 템플릿을 조합하여 동적 정의를 획득하는 것이다.
본 발명의 또 다른 목적은 개인화 정도를 높게 유지하면서 애플리케이션에 대해 생성되는 XML 문서의 수를 간단히 하면서 줄이는 것이다.
본 발명의 다른 목적과 특징 및 이점은 첨부된 도면과 아래의 설명을 보면 당업자가 쉽게 이해할 수 있다. 다른 장점들이 포함될 수 있다는 사실을 이해해야 한다.
소스 데이터베이스로부터 추출된 데이터를 포함하는 하나 이상의 XML 문서를 자동으로 생성하는 방법을 기술한다. 이 방법은 데이터베이스 포맷의 다수의 템플릿을 정의하는 것으로 구성되어 있다; 이러한 템플릿은 실행할 수 있는 명령을 포함한다. 각각의 템플릿과 관련된 문의도 또한 정의된다. 문의는 기록 세트의 형태로 소스 데이터베이스로부터 데이터를 추출하기 위해 사용된다. 템플릿의 명령은 기록 세트로부터 나오는 데이터를 포함하는 하나 이상의 XML 문서를 생성하기 위해 실행된다. 명령은 다른 템플릿 중 어느 하나를 호출하기 위해 하나 이상의 호출 명령을 포함한다. XML 문서는 속성을 포함하는 요소로 구성되어 있다. 이 방법은 현재 요소 개념을 유지하는 것을 특징으로 한다. 이 방법은 또한 현재 요소에 할당된 새로운 요소를 생성하는 명령을 포함한다. 새로운 요소는 따라서 현재 요소가 된다. 이 방법은 또한 현재 요소에 새로운 속성을 생성하는 명령을 포함하며, 또한 현재 요소를 닫는 명령도 포함하고, 이는 현재 요소의 부모 요소에 대하여 현재 요소의 역할을 다시 할당하는 것으로 이루어져 있다. 이 방법은 현재 요소가 되는 루트 요소를 생성하기 위해 그리고 템플릿 중 어느 것이 루트 템플릿인지를 특정하기 위해, XML 문서의 이름을 구성할 수 있게 하는 파일 정의를 포함한다. 매개변수는 상기 템플릿 호출 명령이 실행될 때 또는 상기 파일 정의가 열리고 상기 루트 템플릿이 사용될 때 템플릿을 연결하기 위해 사용된다. 템플릿의 명령은 각각 기록 세트의 각 기록에 가해진다. 명령은 XML 생성기에 의해 해석된다. 소스 데이터베이스는 관련성 데이터베이스이고, 문의는 SQL로 알려진 구조적 질의 언어의 규칙을 따르는 문의이다. 템플릿, 문의, 명령, 파일 정의, 및 매개변수는 적어도 하나의 관계적 데이터베이스 내에 테이블 형태로 포함되며, 소스 데이터베이스에 포함될 수 있다.
본 발명의 목적과 특징과 이점들은 첨부된 도면에 의해 나타난 본 발명의 실시예에 대한 상세한 설명을 보면 쉽게 이해할 수 있을 것이다.
도 1은 본 발명의 전체적인 구현 방법을 나타내는 도면이다.
도 2는 XML 생성기의 정의 테이블의 구조를 나타내는 도면이다.
도 3은 파일 정의의 컨텐츠에 기초하여 파일을 생성하는 것에 관련된 프로세스를 나타내는 도면이다.
도 4는 타겟 XML 파일을 생성하는 단계를 나타내는 도면이다.
도 5는 템플릿 프로세스를 나타내는 도면이다.
도 6은 템플릿 명령을 나타내는 도면이다.
도 7은 본 발명의 한 실시예를 나타내는 도면이다.
첨부된 도면은 예를 보여주기 위해 제공되는 것이며 본 발명의 범위를 한정하지 않는다.
도 1은 본 발명을 구현하는 방법을 전체적으로 나타내는 도면으로서, VISTA(100)로 부르는 소프트웨어 응용기술에 대해 사용되며, 그 목적은 사용자의 브라우저에 의해 쉽게 해석될 수 있는 형태로 자동으로 포맷하여 소스 데이터베이스(140)로부터 추출된 정보를 원격 사용자가 사용할 수 있게 하는 것이다. 예를 들어 데이터베이스는 국제적인 호텔망의 예약 상태 및 청약 상태를 포함할 것이다. 이 예에서, 사용자들은 여행사가 될 것이며, 여행사는 인터넷을 통해 공중 또는 사설 네트워크로부터 이러한 정보에 전세계 어디에서든지 접속할 수 있다.
최신 기술로서 논의되었듯이, XML 언어는 이러한 목적과 관련하여 가장 적합한 언어이다. 메인 웹 표준화 기구, 즉 W3C, "월드와이드웹 컨소시움(World Wide Web Consortium)"에 의해 제안되었으며, 널리 채택되어 있다. VISTA는 이러한 컨텐트를 표시하기 위해 XML 파일 형태로 XML 문서(110)를 생성하는 것에 기초하고 있고, 따라서 사용자가 이용하고자 하는 정보를 찾을 수 있게 된다. 이를 위해, 애플리케이션(100)은 구성적 분석기(파서(parser))에 의해 XML 파일을 판독하여야만 한다.
파서는 유명한 미국 회사 마이크로소프트와 같은 소프트웨어 공급자에 의해 개발되어 판매되는 표준 툴이다.
타겟 파일의 분석은 파서의 실행 중에 애플리케이션 사용자의 브라우저에 의해 표시될 수 있는 페이지를 구성하는 객체(105)를 생성한다.
XML 파일을 생성하기 위해 사용되는 XML 생성기(120)는 모델 또는 템플릿(템플릿(templates)이라는 용어는 이러한 주제와 관련하여 영어로된 기술 문서에서 사용됨)에 기초하고 있다. 이들은 사용되는 관계형 데이터베이스의 언어 및 포맷으로 XML 생성기의 정의 테이블(130) 내에 저장된다. 템플릿은 재사용 가능성을 개선하기 위해 내포(nest)된다. 본 발명의 템플릿은 XML 생성기에 의해 해석될 수 있는 명령어 세트일 수 있고 또한 문맥(context) 내에서 재사용될 수 있다. 템플릿의 문맥은 기록들의 세트, 즉 기록 세트에 적용되며, 기록 세트는 영어 기술 용어에 의한 것으로서, 즉 발행되는 특정 문의(query)에 의해 얻는 데이터베이스를 부분적으로 보는 것이다. 문의는 앞서 언급한 구조적 질의 언어(SQL)에 맞추어진다. 본 발명에 따르면, 문의는 특정 기록 세트에 각각 접근을 허용하는 객체의 형태로 데이 터베이스(135) 내에 정의되고 저장된다. 문의 객체는 매개변수를 포함할 수 있다. 매개변수는 문의를 수정하는 역할을 한다. 예를 들어, 라이브러리에 모든 책을 리스트로 작성하는 데이터베이스에서, 책을 특정 저자의 이름으로 검색할 수 있게 하는 문의가 정의될 수 있고, 따라서 "저자" 매개변수를 포함한다. 특정 검색을 위해, 저자 매개변수는 특정 저자의 이름에 의해 교체될 수 있다. 대응하는 기록 세트는 문의에 응답하여 데이터베이스에 의해 복귀될 것이고, 라이브러리 내에 보유된 저자에 따라 작성된 책의 리스트를 구성할 것이다.
만일 데이터를 사용자들에게 분배함에 있어서 XML이 가장 적합한 수단이라면, 관계적 데이터베이스(140)는 제품과 관련된 데이터를 저장하기 위해 이상적인 것이다. 구조가 잘 형성된 데이터베이스를 사용함으로써 담고 있는 정보를 쉽고 효율적으로 유지할 수 있고, 따라서 중복되는 것을 특히 막을 수 있다. 데이터베이스(140)는 따라서 애플리케이션(100)의 사용자를 위해 생성되는 XML 파일에 포함될 데이터의 필수적인 소스이다. 본 발명의 방법은 특히 앞서 언급한 SQL을 사용할 때 유리하다. 데이터베이스 포맷으로 템플릿을 사용하면 타겟 XML 문서가 생성될 수 있고 브라우저를 가지고 연결할 때 소프트웨어의 자원(resource)을 사용자에게 분배할 필요가 없게 되며, 이렇게 하지 않는 경우에는 소스 데이터베이스에 직접 접속할 필요가 있다. 이는 찾는 정보에 접속할 때 필요한 시간을 증가시키게 되며, 네트워크를 차단하고, 또한 찾는 정보를 이용할 수 있게 하기 위해 매우 복잡하게 만들게 될 것이다. 실제로, 데이터베이스의 구조나 구성은 그 효율성을 보장하여 중복을 피하게 할지라도, 사용자에게 정보를 표시하는 것은 다른 기준을 충족시킨다. 데이터베이스 내의 데이터 구조를 사용자가 요구하는 데이터에 일치시키는 것은 본 발명이 제시하는 것처럼 XML 생성기(120)에 의해서 소스에서 수행될 수 있고, 이는 정의 테이블(130)의 템플릿에 의존하며 또한 사용자를 위해 충분한 정보를 포함하는 타겟 XML 문서(110)의 수를 적게 생성하기 위해 연관된 문의 정의(135)에 의존한다.
본 발명에 따른 정의 테이블과 템플릿과 문의는 도 1에 도시되어 있는 것처럼 소스 데이터베이스(140)와 분리되어 있는 데이터베이스 내에 포함될 수 있지만, 또한 문제없이 유일한 데이터베이스(150)의 일부를 형성할 수 있다.
본 발명의 목적은 단일 소스 데이터베이스(140)로부터 XML 문서(110)를 생성하는 것이며, 관련된 데이터베이스는 실제적인 기준을 구성하는 소프트웨어 애플리케이션에 의해 관리되고, 이 중에는 다수의 유명한 상용 변형물이 있는데, 예를 들면 오라클, IBM DB2, 마이크로소프트 액세스와 같은 제품들이 개발되어 판매되고 있다. 데이터의 관리 및 보전은 널리 테스트되고 사용되어 온 기준 제품을 사용함으로써 제공된다. 따라서, 데이터베이스 내에 XML 문서를 그 포맷으로 생성하고 테스트하기 위한 규칙을 포함시킴으로써, 여러가지 이점을 얻을 수 있다. 특히, 개발 시간을 단축할 수 있다. 데이터베이스 내에서 변화를 주고 또한 VISTA(100)와 같이 제공된 애플리케이션의 모든 XML 파일을 자동으로 생성함으로써, 특정 코드를 업데이트하고 수정해야만 하는 경우보다 시간을 줄일 수 있다. 나아가, 이는 애플리케이션의 개발을 책임지는 전문가에 의해 직접 수행될 수 있고, 반면 특정 소프트웨어의 개발은 항상 매우 전문화된 프로그래머에 의한 고비용의 코딩 작업을 요구하게 된다.
도 2는 XML 생성기의 "정의 테이블"의 구조를 설명한다.
Figure 112013037310248-pct00010
매개변수(210)를 사용하는 파일 정의(200)는 적절한 기록 세트를 발견하기 위해 데이터베이스에 가해지는 특정 문의에 대한 정의를 포함한다. 파일 정의는 명령(230)을 이용하는 템플릿(220)을 참고한다. 명령이 다른 템플릿(225)을 호출하는 유형일 때에는, 매개변수(240)가 호출된 템플릿으로 전달되어야만 한다.
상기 테이블에서 언급된 XML 문서의 요소와 속성은 XML 언어의 일체화된 부분을 형성하며 당업자에게 잘 알려진 개념이다. 일반적으로 XML 문서는 각각 <xxxElement> 및 </Element>의 형태로 된 시작 마커 및 종결 마커로 경계가 설정되는 하나 이상의 요소를 포함할 것이다. 각각의 요소는 하나 이상의 속성을 가질 수 있고, 각각 템플릿 명령 내에 특정된 이름과 값을 갖는다.
도 3은 위에서 언급되었고 XML 생성기의 정의 테이블의 일부를 형성하는 "파일 정의"의 컨텐츠에 기초하여 파일을 생성하는 프로세스를 설명한다.
파일 정의(300)가 이러한 정의를 위해 각각의 기록(314)에 대해 개방된 후, 관련된 "문의 정의"가 존재하는 지의 여부가 테스트(320) 된다. 만일 이것이 그 경우(322)라면, 대응하는 문의가 실행된다. 그 후 데이터베이스로부터 얻은 "기록 세트"가 열린다(330). 기록 세트 내에 있는 기록 만큼 생성(360)되는 타겟 파일이 다수 있을 것이다. 기록 세트 내의 모든 기록은 스크롤된다(350). 마지막이 처리(334)될 때, 프로세스는 파일 정의의 다음 기록으로 넘어간다(370).
만일 연관된 문의 정의(320)의 존재에 대하여 테스트할 때 응답이 부정적이면(324), 파일 정의의 다음 기록으로 진행되기 전에 단일 타겟 파일이 생성(380)된다. 만일 더 이상 기록이 존재하지 않으면, 프로세스는 종결(312)된다.
"타겟 파일" 생성 단계(380)와 "타겟 XML 파일"을 생성하는 유사한 단계(360)는 도 4에 설명되어 있다.
타겟 파일을 생성하는 것은 무엇보다도 먼저 파일 이름을 구성하는 단 계(400)를 포함한다. 만일 앞서 본 것처럼 다중 타겟 파일을 생성하기 위해 똑같은 "파일 정의"가 사용되면, 이름의 구성은 아래와 같은 접합(concatenation)으로부터 기인한다:
- 파일 정의로부터 나오는 프리픽스(prefix)의 접합
- 기록 세트의 현재 기록으로부터 나오는 동적 부분의 접합
- 파일 정의로부터 나오는 서픽스(suffix)의 접합
그러나, 만일 연관된 문의 정의가 존재하지 아니하면, 바로 앞에서 본 것처럼, 단일 파일이 생성되어야만 한다. 이 경우, 오직 프리릭스와 서픽스만 사용되면, 동적 부분은 존재하지 않는다.
이렇게 된 후에, 타겟 XML 파일이 XML 문서의 구조를 나타내고 또한 앞서 언급한 웹 표준화 기구, W3C가 발행하는 DOM(문서 객체 모델) 명세에 따르는 객체의 형태로 효과적으로 생성된다.
만일 루트 요소가 파일 정의에 나타나면(422), 루트 요소가 생성된다(430). 그 후, 매개변수가 파일 정의에 존재하면(442), 매개변수는 템플릿(444)으로 전달되도록 위치된다(440).
루트 템플릿 또는 포획 템플릿, 즉 다른 템플릿으로 불릴 수 있는 템플릿의 처리(450)는 도 5에 보다 구체적으로 설명되어 있다.
호출 템플릿(또는 파일 정의)에 의해 정의되는 매개변수는 호출된 템플릿의 매개변수와 정합하여야만 한다. 이를 위해, 임시 "매개변수 그룹"은 매개변수의 정의에 기초하여 구성된다(500). 이것이 수행될 때, "기록 세트"의 현재 기록으로부 터 적절한 값이 얻어진다.
단계(500)는 도 5의 우측 섹션에 구체적으로 나누어져 있다. 각각의 매개변수는 이름(501)에 의해서 또한 매개변수(502)에 의해서 정의되는 필드에 의해 발견된다. 필드의 값은 "기록 세트"로부터 획득되고(503), 이로써 매개변수의 값이 고정될 수 있다(504). 프로세스는 처리될 매개변수(505)가 존재하는 한 반복된다(506).
그 후, 호출된 템플릿이 발견된다(510). 연관된 "문의 정의"의 매개변수는 적합한 "기록 세트"를 얻기 위해 데이터 베이스에서 실행 전에 호출 템플릿의 매개변수에 정합되어야만 한다(520).
더 이상 처리될 명령이 존재하지 않을 때까지(560) 또는 "기록 세트" 내의 기록이 존재하지 않을 때까지(550) 매개변수는 "기록 세트" 내의 각 기록에 대하여(530) 또한 각각의 명령(540)에 대하여 속속 적용된다.
도 6은 보다 구체적으로 명령 처리 단계를 설명한다. 명령이 실행될 때, 시스템은 현재의 요소 개념을 유지한다. 이 요소는 아래에 설명하는 각각의 명령의 타겟이다. 만일 현재의 요소가 존재하지 않으면, 템플릿의 제1 요소 또는 루트가 사용된다.
명령은 다음과 같이 여러가지 유형이 있다: 요소 생성(600), 속성 생성(610), 요소 닫기(620), 템플릿 호출(630). 처음의 두 경우에는, 우선 현재의 "기록 세트"내에 특정된 필드의 값을 획득(602)하는 것이 필요하다. 마지막의 경우에는, 호출된 템플릿으로 전달될 매개변수를 획득하는 것이 먼저 필요하다.
명령은 따라서 앞서 설명한 것처럼 구성된 이름을 갖는 XML 요소를 생성(600)해야만 할 것이다. 새로운 요소는 현재의 요소에 할당(605)되고, 이는 따라서 새로운 자 요소(child element)의 부모(parent)가 된다. 선택적으로, 새로운 요소에 값이 삽입될 수 있고, 이 값은 "기록 세트" 내에 특정된 필드에 대응하여야 한다.
명령은 속성(610)을 XML 요소에 할당해야만 할 것이다. 속성은 현재 요소를 위해 생성(615)된다. 상술한 것처럼, 값은 선택적으로 이러한 속성에 대해 고정될 수 있고, 이 값은 기록 세트의 특정 필드에 대응하여야 한다.
명령은 요소를 닫을 수 있고(620), 이는 부모 요소에 현재 요소의 역할을 다시 할당(625)하는 것이 된다.
마지막으로, 명령은 이전에 특정된 이름에 의해 템플릿을 호출(630)할 수 있다. 호출된 템플릿을 처리(635)하기 위해, 매개변수는 현재 템플릿의 기록 세트로부터 호출된 템플릿의 기록 세트로 전달될 것이다.
도 7은, 특정 예를 이용하여, 관계형 데이터베이스로부터 타겟 XML을 생성하기 위한 본 발명에 따른 방법을 설명한다. 이 예에서, 거의 모든 경우에 전세를 통해 판매되는 소프트웨어 제품은 다중 국적 팀에 의해 개발되고 있는 상황이므로, 코드의 모든 기술적인 용어는 영어로 정의된다. 그러나, 이는 다음과 같은 설명을 명확히 이해하는 것을 방해해서는 안된다. 명확한 간략기호 및 실용적인 이유로 어떤 의미를 할당하는 것을 시도할 수 있을지라도, 필요하면, 용어는 설명될 수 있고 또는 특별히 중요하지 않게 일련의 문자와 숫자가 되게 하는 것을 쉽게 고려할 수 있다.
XML 파일을 생성하는 것은 앞서 설명한 것처럼 "파일 정의"의 열기(700)로 시작되며, 이것은 데이터베이스 내에서 테이블(705)의 형태를 취한다. 이 테이블에 포함된 정보에 의해서, 특정 이름(codesList_CAR.xml)을 가지고 XML 파일을 생성할 수 있고, 이 XML 파일은 제1 공 요소(code_list)를 포함한다. 이 요소는 현재의 요소가 된다. 파일 정의는 사용되어온 루트 템플릿(710)의 이름을 포함한다.
그 후 상기 템플릿이 처리된다(720). 제1 단계는 대응하는 기록 세트(730)를 얻기 위해 데이터베이스에서 템플릿(CarCodesList)에 대해 정의된 문의(722)를 실행하는 것으로 이루어져 있다. 템플릿(710)의 명령어들은, 즉 이 실시예에서 숫자 5로 표시된 명령어들은, 획득한 기록 세트 내의 각각의 기록에 적용된다.
이것은 이전에 생성된 현재 요소의 자 요소(리스트)의 생성(724)으로 시작된다. 이 요소는 따라서 현재의 요소가 된다. 그리고 나서 템플릿(710)의 다음의 두 명령, 인덱스 2 및 인덱스 3이 처리된다. 이들은 두 개의 속성(이름, 영역)을 생성(726)하는 역할을 하며, 각각의 속성은 템플릿 내에 특정된 Field Name에 대응한다. XML 파일(728)의 현재의 요소(리스트)는 이러한 속성을 포함한다.
다음 명령, 즉 템플릿(710)의 인덱스 4는 또 다른 템플릿(CodesListItem)을 이용하며, 이를 위해 매개변수가 정의된다(715). 호출된 템플릿(740)은 또한 문의 정의(CodesListItem)를 구비하며, 이로써 효율적으로 이 문의를 실행하기 위해 호출 템플릿(715)의 매개변수에 의해 필드(742)가 발견될 수 있게 된 후에 데이터베이스 내의 대응하는 기록 세트(750)를 얻을 수 있다.
호출된 템플릿은 XML 파일(760)의 질을 높이기 위해 앞에서 이미 설명한 것과 비슷한 방식으로 처리된다.

Claims (16)

  1. 소스 데이터베이스(140)로부터 추출된 데이터를 포함하는 하나 이상의 XML 문서(110)를 자동으로 생성하는 방법으로서,
    상기 방법은:
    다수의 템플릿(220, 225)을 정의하고 파일 정의를 여는 단계로서, 상기 파일 정의는 실행할 수 있는 명령을 포함하는 템플릿 및 템플릿과 연결된 하나 이상의 문의를 정의하고, 상기 실행할 수 있는 명령(230)은 하나 이상의 호출 명령을 포함하며, 상기 하나 이상의 호출 명령은 실행할 수 있는 명령을 포함하는 하나 이상의 다른 템플릿을 호출(630)하고, 상기 템플릿의 실행할 수 있는 명령 및 상기 하나 이상의 문의는 상기 소스 데이터베이스의 포맷과 언어로 되어 있는, 다수의 템플릿을 정의하고 파일 정의를 여는 단계;
    하나 이상의 문의에 의해 기록 세트(730)의 형태의 소스 데이터베이스(140)로부터 데이터를 추출하는 단계; 및
    상기 기록 세트의 데이터로부터 얻은 데이터를 포함하는 각각의 기록에 대한 XML 문서를 생성하는 단계;를 포함하고,
    상기 기록 세트의 데이터로부터 얻은 데이터를 포함하는 각각의 기록에 대한 XML 문서를 생성하는 단계는:
    - 기록 세트의 각각의 기록에 대하여 실행 단계가 수행되는 동안 템플릿의 실행할 수 있는 명령(230)을 실행하는 단계;
    - 실행 단계가 수행되는 동안 템플릿의 실행할 수 있는 명령 중에서 상기 하나 이상의 호출 명령이 실행될 때 하나 이상의 다른 템플릿을 호출하는 단계; 및
    - 기록 세트의 각각의 기록에 대하여 실행 단계가 수행되는 동안 하나 이상의 호출 명령에 의해 호출된 하나 이상의 다른 템플릿의 실행할 수 있는 명령을 실행하는 단계;를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 기록 세트의 각각의 기록에 대하여 실행 단계가 수행되는 동안 템플릿의 실행할 수 있는 명령(230)을 실행하는 단계는,
    기록의 필드의 값에 기초하여 하나 이상의 XML 문서에 대한 요소를 생성하는 단계; 및
    기록의 특정 필드에 기초하여 하나 이상의 요소에 대한 속성을 생성하는 단계;를 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 기록 세트의 각각의 기록에 대하여 실행 단계가 수행되는 동안 템플릿의 실행할 수 있는 명령(230)을 실행하는 단계는,
    상기 하나 이상의 XML 문서에 대하여 이름을 구성(400)하고;
    상기 하나 이상의 XML 문서에 대한 타겟 파일을 생성(410)하고;
    현재 요소의 기능이 할당되는 루트 요소를 생성(430)하고;
    상기 다수의 템플릿 중 한 템플릿을 호출하는 루트 템플릿(710)을 처리하는 것을 더 포함하는 방법.
  4. 제3항에 있어서,
    상기 기록 세트의 각각의 기록에 대하여 실행 단계가 수행되는 동안 템플릿의 실행할 수 있는 명령(230)을 실행하는 단계는,
    현재 요소의 새로운 자 요소를 생성(600)하고, 상기 새로운 자 요소에 현재 요소의 기능을 할당(605)하는 단계;
    현재 요소에 대해 새로운 속성을 생성(610)하는 단계; 및
    현재 요소를 닫는(620) 단계로서, 상기 새로운 자 요소의 부모 요소에 현재 요소의 기능을 재할당하는 것을 포함하는, 현재 요소를 닫는(620) 단계;를 포함하는 것을 특징으로 하는 방법.
  5. 제3항에 있어서,
    상기 템플릿 호출 명령이 실행될 때 및 상기 파일 정의가 열리고 상기 템플릿이 접근될 때, 상기 템플릿을 하나 이상의 다른 템플릿에 연결시키는 매개변수를 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 템플릿의 명령은 각각 상기 기록 세트의 각 기록에 가해지는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 명령은 XML 생성기(120)에 의해 해석되는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 소스 데이터베이스(140)는 관계형 데이터베이스이고, 상기 하나 이상의 문의는 SQL로 알려진 구조적 질의 언어의 규칙을 따르는 것을 특징으로 하는 방법.
  9. XML 문서 생성기(120)인 시스템으로서,
    상기 시스템은,
    프로세서; 및
    상기 프로세서에 의해 실행되는 프로그램 명령을 포함하는 컴퓨터 프로그램;을 포함하고,
    상기 컴퓨터 프로그램 명령에 의해 프로세서는:
    실행할 수 있는 명령(230)을 포함하는 템플릿(220, 225) 및 상기 템플릿과 연결된 하나 이상의 문의를 정의하는 파일 정의를 열고, 상기 실행할 수 있는 명령(230)은 실행할 수 있는 명령을 포함하는 하나 이상의 다른 템플릿을 호출하는 하나 이상의 호출 명령을 포함하고, 상기 실행할 수 있는 명령과 상기 하나 이상의 문의는 소스 데이터베이스의 포맷과 언어로 되어 있고;
    상기 하나 이상의 문의에 의해 기록 세트(730)의 형태의 소스 데이터베이스(140)로부터 데이터를 추출하고;
    상기 기록 세트의 데이터로부터 얻은 데이터를 포함하는 각각의 기록에 대한 XML 문서를 생성하기 위해,
    - 기록 세트의 각각의 기록에 대하여 실행 단계가 수행되는 동안 템플릿의 실행할 수 있는 명령을 실행하고,
    - 실행 단계가 수행되는 동안 템플릿의 실행할 수 있는 명령 중에서 하나 이상의 호출 명령이 실행될 때 하나 이상의 다른 템플릿을 호출하고,
    - 기록 세트의 각각의 기록에 대하여 실행 단계가 수행되는 동안 하나 이상의 호출 명령에 의해 호출된 하나 이상의 다른 템플릿의 실행할 수 있는 명령을 실행하는; 것을 특징으로 하는 시스템.
  10. 실행 시 컴퓨터가 제1항의 방법을 수행하게 하는 명령어을 포함하는 컴퓨터 프로그램이 저장되는 컴퓨터 판독 가능 저장 매체.
  11. 제4항에 있어서,
    상기 템플릿 호출 명령이 실행될 때 또는 상기 파일 정의가 열리고 상기 루트 템플릿이 접근될 때, 상기 템플릿을 연결시키는 기능을 하는 매개변수(210, 240)를 포함하는 것을 특징으로 하는 방법.
  12. 제1항에 있어서,
    파일 정의로부터 프리픽스와 서픽스를 얻음으로써 각각의 XML 문서에 대하여 이름을 구성하는 단계; 대응하는 기록으로부터 동적 부분을 얻는 단계; 및 프리픽스, 동적 부분 및 서픽스를 접합하여 각각의 XML 문서에 대하여 이름을 구성하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  13. 제1항에 있어서,
    상기 기록 세트의 데이터로부터 얻은 데이터를 포함하는 각각의 기록에 대한 XML 문서를 생성하는 단계는,
    상기 기록 세트의 각각의 기록에 대하여 실행 단계가 수행되는 동안 템플릿의 실행할 수 있는 명령(230)을 실행하는 단계 이전에,
    - 기록 세트로부터 필드의 값을 얻는 단계;
    - 기록 세트로부터 얻은 필드의 값에 기초하여 매개변수의 값을 고정하는 단계; 및
    - 고정된 매개변수의 값을 호출된 템플릿으로 전달하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  14. 제1항에 있어서,
    상기 기록 세트의 각각의 기록에 대하여 실행 단계가 수행되는 동안 템플릿의 실행할 수 있는 명령(230)을 실행하는 단계는, 요소를 생성하는 하나 이상의 명령을 실행하는 것을 포함하는 것을 특징으로 하는 방법.
  15. 제14항에 있어서,
    상기 기록 세트의 각각의 기록에 대하여 실행 단계가 수행되는 동안 템플릿의 실행할 수 있는 명령(230)을 실행하는 단계는, 속성을 생성하는 하나 이상의 명령을 실행하는 것을 포함하는 것을 특징으로 하는 방법.
  16. 제15항에 있어서,
    상기 기록 세트의 각각의 기록에 대하여 실행 단계가 수행되는 동안 템플릿의 실행할 수 있는 명령(230)을 실행하는 단계는, 요소를 닫는 하나 이상의 명령을 실행하는 것을 포함하는 것을 포함하는 것을 특징으로 하는 방법.
KR1020077028876A 2005-05-09 2006-05-05 데이터베이스로부터 xml 문서를 동적으로 생성하는 방법 KR101331532B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP05103829.7 2005-05-09
EP05103829A EP1722307A1 (fr) 2005-05-09 2005-05-09 Méthode dynamique de génération de documents XML à partir d'une base de données
US67923205P 2005-05-10 2005-05-10
US60/679,232 2005-05-10
PCT/EP2006/062102 WO2006122886A1 (fr) 2005-05-09 2006-05-05 Methode dynamique de generation de documents xml a partir d'une base de donnees

Publications (2)

Publication Number Publication Date
KR20080027251A KR20080027251A (ko) 2008-03-26
KR101331532B1 true KR101331532B1 (ko) 2013-11-20

Family

ID=34939745

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077028876A KR101331532B1 (ko) 2005-05-09 2006-05-05 데이터베이스로부터 xml 문서를 동적으로 생성하는 방법

Country Status (13)

Country Link
US (1) US8468446B2 (ko)
EP (2) EP1722307A1 (ko)
JP (1) JP4977128B2 (ko)
KR (1) KR101331532B1 (ko)
CN (1) CN100565521C (ko)
AT (1) ATE414303T1 (ko)
AU (1) AU2006248984B2 (ko)
BR (1) BRPI0611363A2 (ko)
CA (1) CA2603908C (ko)
DE (1) DE602006003649D1 (ko)
ES (1) ES2317546T3 (ko)
WO (1) WO2006122886A1 (ko)
ZA (1) ZA200709325B (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7962443B2 (en) 2007-02-08 2011-06-14 Interactive Documents, Llc Method and system for replacing data in a structured design template
US8321846B2 (en) * 2008-11-13 2012-11-27 Oracle International Corporation Executable template
US20100332192A1 (en) * 2009-04-27 2010-12-30 The Government Of The United States Of America, As Represented By The Secretary Of The Navy Method and Tools for Self-Describing Data Processing
US8615526B2 (en) * 2010-06-21 2013-12-24 Tata Consultancy Services Limited Markup language based query and file generation
CN101866361A (zh) * 2010-06-30 2010-10-20 山东中创软件工程股份有限公司 一种异构数据集成方法及装置
US9846693B2 (en) * 2010-07-23 2017-12-19 Ibm International Group Bv Document tracking in heterogeneous application environments
CN102622219B (zh) * 2011-01-31 2015-06-17 富士通株式会社 对动态调用服务的执行结果进行渲染的方法、装置及系统
US8850306B2 (en) * 2011-03-28 2014-09-30 Microsoft Corporation Techniques to create structured document templates using enhanced content controls
US9128986B2 (en) * 2011-06-29 2015-09-08 Infosys Limited Method and system for managing a database having a plurality of tables
KR101122629B1 (ko) * 2011-11-18 2012-03-09 김춘기 데이터베이스의 데이터를 변환하여 xml 문서를 생성하는 방법
KR101416712B1 (ko) 2012-07-12 2014-07-09 김영근 정형 및 비정형 데이터를 xml 문서에 구현하는 방법
KR101449725B1 (ko) * 2012-11-12 2014-10-16 한국과학기술정보연구원 Pdf 문서 파일을 자동 변환하는 장치 및 방법
CN103902634B (zh) * 2012-12-30 2017-09-29 航天信息股份有限公司 利用Adapter实现View组件与数据库字段自动绑定的方法
CN104063468B (zh) * 2014-06-27 2017-11-10 北京思特奇信息技术股份有限公司 一种数据报表自动生成及提取方法及装置
CN104537103B (zh) * 2015-01-12 2018-11-16 用友医疗卫生信息系统有限公司 数据处理方法和数据处理装置
CN104679909B (zh) * 2015-03-25 2018-07-17 郑州悉知信息科技股份有限公司 一种设置网站tdk的方法及装置
US10552425B1 (en) * 2016-04-28 2020-02-04 Jpmorgan Chase Bank, N.A. System and method for automated data utilization
CN110096620B (zh) * 2016-06-06 2021-02-26 福建榕基软件股份有限公司 数据库表和xml报文的映射方法及其系统
CN106202008B (zh) * 2016-06-28 2019-04-05 武汉斗鱼网络科技有限公司 一种MySQL数据库结构化文档生成方法及装置
KR102157218B1 (ko) * 2018-12-28 2020-09-18 인천대학교 산학협력단 공간 데이터의 의미론적 주석을 위한 데이터 변환 방법
CN110569456B (zh) * 2019-07-26 2022-03-08 广州视源电子科技股份有限公司 Web端数据离线缓存方法及装置、电子设备
CN113742375A (zh) * 2020-06-18 2021-12-03 北京沃东天骏信息技术有限公司 一种目标对象搜索方法和装置
KR102253751B1 (ko) * 2020-10-15 2021-05-20 주식회사 위키랩 워드프로세서와 데이터베이스를 연동하여 문서를 생성하는 시스템 및 방법
US11755647B2 (en) 2020-12-03 2023-09-12 International Business Machines Corporation XML production through database mining and blockchain

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020143727A1 (en) * 2001-03-27 2002-10-03 Jingkun Hu DICOM XML DTD/Schema generator
US6636845B2 (en) * 1999-12-02 2003-10-21 International Business Machines Corporation Generating one or more XML documents from a single SQL query

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835712A (en) * 1996-05-03 1998-11-10 Webmate Technologies, Inc. Client-server system using embedded hypertext tags for application and database development
JP2000250841A (ja) * 1999-03-02 2000-09-14 Hitachi Ltd ページ生成方法及び装置並びにページ生成プログラムを記録した記憶媒体および電子モールシステム
JP2001092695A (ja) * 1999-09-24 2001-04-06 Hitachi Information Systems Ltd 構造化文書とデータベースのデータ交換処理方法及びそのプログラムを記録した媒体
US6826727B1 (en) * 1999-11-24 2004-11-30 Bitstream Inc. Apparatus, methods, programming for automatically laying out documents
US7213017B2 (en) * 2000-03-17 2007-05-01 Microsoft Corporation Systems and methods for transforming query results into hierarchical information
US6963875B2 (en) * 2000-03-23 2005-11-08 General Atomics Persistent archives
US6941510B1 (en) * 2000-06-06 2005-09-06 Groove Networks, Inc. Method and apparatus for efficient management of XML documents
US7076534B1 (en) * 2000-06-30 2006-07-11 Microsoft Corporation Server-side scripting that enables creation of customized documents for clients
US6708186B1 (en) * 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
US7131063B2 (en) * 2001-09-13 2006-10-31 International Business Machines Corporation Method and system for delivering dynamic information in a network
US7210097B1 (en) * 2002-05-22 2007-04-24 Pitney Bowes Inc. Method for loading large XML documents on demand
US20040002907A1 (en) * 2002-06-28 2004-01-01 Tosswill Andrew R. Template for inputting customized processing features in an electronic bill presentment and payment system
CA2414053A1 (en) * 2002-12-09 2004-06-09 Corel Corporation System and method for manipulating a document object model
US7627479B2 (en) * 2003-02-21 2009-12-01 Motionpoint Corporation Automation tool for web site content language translation
US20040268238A1 (en) * 2003-06-30 2004-12-30 Peiya Liu Systems and methods for processing documents using an XML-based process flow description language
US7472345B2 (en) * 2003-10-13 2008-12-30 Wolters Kluwer Financial Services, Inc. Document creation system and method using knowledge base, precedence, and integrated rules
US7458022B2 (en) * 2003-10-22 2008-11-25 Intel Corporation Hardware/software partition for high performance structured data transformation
US7640497B1 (en) * 2003-12-22 2009-12-29 Apple Inc. Transforming a hierarchical data structure according to requirements specified in a transformation template
CN1560763B (zh) * 2004-02-19 2010-05-05 北京大学 一种可扩展标记语言路径查询翻译为结构查询的方法
US7500185B2 (en) * 2004-04-29 2009-03-03 Koninklijke Philips Electronics N.V. Framework of validating DICOM structured reporting documents using XSLT technology
US7721195B2 (en) * 2004-08-24 2010-05-18 Oracle International Corporation RTF template and XSL/FO conversion: a new way to create computer reports
US7966286B2 (en) * 2005-02-14 2011-06-21 Microsoft Corporation Hierarchical management of object schema and behavior
US7949941B2 (en) * 2005-04-22 2011-05-24 Oracle International Corporation Optimizing XSLT based on input XML document structure description and translating XSLT into equivalent XQuery expressions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636845B2 (en) * 1999-12-02 2003-10-21 International Business Machines Corporation Generating one or more XML documents from a single SQL query
US20020143727A1 (en) * 2001-03-27 2002-10-03 Jingkun Hu DICOM XML DTD/Schema generator

Also Published As

Publication number Publication date
AU2006248984A1 (en) 2006-11-23
US8468446B2 (en) 2013-06-18
CN101171582A (zh) 2008-04-30
KR20080027251A (ko) 2008-03-26
CA2603908A1 (fr) 2006-11-23
ATE414303T1 (de) 2008-11-15
JP2008541254A (ja) 2008-11-20
CA2603908C (fr) 2014-03-25
CN100565521C (zh) 2009-12-02
ZA200709325B (en) 2008-11-26
BRPI0611363A2 (pt) 2010-09-08
EP1880325B1 (fr) 2008-11-12
JP4977128B2 (ja) 2012-07-18
EP1722307A1 (fr) 2006-11-15
ES2317546T3 (es) 2009-04-16
WO2006122886A1 (fr) 2006-11-23
US20090265608A1 (en) 2009-10-22
EP1880325A1 (fr) 2008-01-23
DE602006003649D1 (de) 2008-12-24
AU2006248984B2 (en) 2010-12-23

Similar Documents

Publication Publication Date Title
KR101331532B1 (ko) 데이터베이스로부터 xml 문서를 동적으로 생성하는 방법
US6356920B1 (en) Dynamic, hierarchical data exchange system
USRE48030E1 (en) Computer-implemented system and method for tagged and rectangular data processing
US6594672B1 (en) Generating multidimensional output using meta-models and meta-outlines
US8886686B2 (en) Making and using abstract XML representations of data dictionary metadata
JP3842573B2 (ja) 構造化文書検索方法、構造化文書管理装置及びプログラム
US8458164B2 (en) Query model tool and method for visually grouping and ungrouping predicates
US7599947B1 (en) Method and system for converting hierarchical database schemas into relational database schemas
US7984060B2 (en) Model content provider with reusable components for supporting a plurality of GUI API&#39;s
US8438190B2 (en) Generating web services from business intelligence queries
US5752021A (en) Document database management apparatus capable of conversion between retrieval formulae for different schemata
US8275775B2 (en) Providing web services from business intelligence queries
US8838627B2 (en) Systems and methods for providing template based output management
US20020156811A1 (en) System and method for converting an XML data structure into a relational database
US20060271574A1 (en) Exposing embedded data in a computer-generated document
US20090327277A1 (en) Methods and apparatus for reusing data access and presentation elements
US20070094289A1 (en) Dynamic, hierarchical data exchange system
Jayashree et al. Data integration with xml etl processing
Pikus et al. Semi-automatic ontology-driven development documentation: generating documents from RDF data and DITA templates
Yu et al. Metadata management system: design and implementation
JP3842576B2 (ja) 構造化文書編集方法及び構造化文書編集システム
JP2002157120A (ja) 設計ドキュメント管理システム
JP3842574B2 (ja) 情報抽出方法および構造化文書管理装置およびプログラム
Stephens et al. Visual Basic. NET and XML: harness the power of XML in VB. NET applications
Vercoustre et al. Building Virtual Documents upon Distributed Databases

Legal Events

Date Code Title Description
A201 Request for examination
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: 20161028

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181030

Year of fee payment: 6