KR20030048423A - Xml 퀴어리 처리 방법 및 장치 - Google Patents

Xml 퀴어리 처리 방법 및 장치 Download PDF

Info

Publication number
KR20030048423A
KR20030048423A KR10-2003-7004833A KR20037004833A KR20030048423A KR 20030048423 A KR20030048423 A KR 20030048423A KR 20037004833 A KR20037004833 A KR 20037004833A KR 20030048423 A KR20030048423 A KR 20030048423A
Authority
KR
South Korea
Prior art keywords
xml
queries
dtd
binding
document
Prior art date
Application number
KR10-2003-7004833A
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 KR20030048423A publication Critical patent/KR20030048423A/ko

Links

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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (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

DTD 내부로 삽입될 수 있는 매핑 언어는 데이터 소스로부터 XML로의 자동 매핑을 가능하게 한다. 매핑은 한편으로는 데이터 소스 내의 엔티티들 간의 일치 및 다른 한편으로는 리스트들 간 및 스칼라들 간의 일치의 확립을 통해 형성된다. 상기 언어는 리스트 및 스칼라를 XML 요소 및 속성으로 매핑한다. 매핑 언어는 두 개의 구성, 즉 결합 지정 사항과 값 지정 사항을 포함한다. 값 지정 사항은 값 또는 선택 선언과 연관된다. 결합 지정 사항은 적어도 하나의 변수/표현식 쌍을 포함한다. 상기 구성들은 DTD 내부로 삽입될 수 있으며 이로서 주석이 달린 DTD를 생성한다.

Description

XML 퀴어리 처리 방법 및 장치{A UNIVERSAL OUTPUT CONSTRUCTOR FOR XML QUERIES}
XML은 문서 및 데이터 표현 및 전송을 위한 가장 중요한 형식 중의 하나로서 떠오르고 있다. 가령, 사업 문서는 인터넷 전송 및 WWW 액세스를 위해 XML에 의해 제공될 수 있다. 점점 많은 사용자들 및 새로운 애플리케이션들이 그들의 입력 및 출력이 XML 형식으로 되기를 바라고 있는 중이다.
XML에 대한 세부 사항은 W3C 추천 문헌(98년 2월 10일) "EXtensible Markup Language(XML) 1.0"에 개시되어 있다. 그러나, 본 발명을 이해하기 위해 필요한 XML의 여러 측면들은 본 명세서에서 제공된다.
XML 문서에 있어서, 문서 타입 규정(Document Type Definition : DTD) 개념이 존재한다. 각 DTD는 (잠재적으로는 무한정으로 큰) XML 문서 세트의 구조를서술한다. XML 문서는 연관된(associated) DTD를 가질 수 있거나 대응하는 DTD를 전혀 가지지 않을 수 있다. XML 문서가 DTD와 연관될 때, 그의 구조는 상기 DTD의 지정 사항(specifications)에 따라야 한다. XML 문서가 문법적으로 올바르며 태그가 적절하게 네스팅되면(nested) XML 문서는 "양호하게 형성된 것이다." XML 문서가 지정된 DTD를 따른다면 XML 문서는 "유효하다(valid)."
가령, XML-QL 및 XQL과 같은 XML 퀴어리 언어는 사용자가 XML 문서에 대한 질의를 하는 것을 가능하게 하며 또한 XML 문서의 형식으로 답변을 받을 것도 가능하게 한다. 가령, Xpath와 같은 XML 어드레싱 메카니즘은 XML 문서 내부의 요소를 식별한다. 설명을 용이하게 하기 위해, 상기 모든 것들을 XML 퀴어리 언어로 지칭할 것이다.
현재의 XML 퀴어리 메카니즘은 일반적으로 다음과 같은 논리적 단계들을 포함한다.
1. 퀴어리 범위 식별 단계 : 퀴어리 범위 내부에 존재하는, 통상적으로 하나 이상의 XML 문서 또는 몇몇 문서 내부에 존재하는 하나 이상의 XML 요소가 식별된다.
2. 필터링 단계 : 상기 퀴어리 범위 내에 존재하는 사용될 데이터 항목을 선택한다.
3. 출력 구성 단계 : 상기 선택된 데이터 항목을 몇몇의 바람직한 출력 형식 및 구조로 변환 및 구성한다.
XML 문서는 트리(tree)로서 모델링될 수 있는데, W3C 추천 문헌(98년 10월1일) "Document Object Model(DOM) Level 1 Specification, version 1.0"를 참조하라. XML 퀴어리 언어 필터링 단계는 통상적으로 데이터 및 요소의 리스트를 식별하거나(스칼라 기반 필터링 : scalar-based filtering), 서브트리의 리스트를 식별한다(서브트리 기반 필터링 : subtree-based filtering). 퀴어리 언어는 출력 구성 단계에서 구성 메카니즘을 제공하고 상기 리스트들을 XML 문서로 변환할 수 있다. 서브트리의 경우에, 각 서브트리는 퀴어리 범위 내의 몇몇 선택된 요소에서 루팅된다(rooted).
현 퀴어리 메카니즘의 구성 단계는 특히 비체계성이 강하다. 가령 XML-QL과 같은 몇몇 퀴어리 언어는 상기의 세 단계가 네스팅되거나(nested) 반복적으로 혼합되는 것을 가능하게 한다. 대부분의 구성 단계들은 DTD 기반 대신에 XML 실례 기반(XML instance-based)이다. 이는 상기 퀴어리의 출력이 양호하게 형성되지만 반드시 (DTD을 따르는) 유효한 XML 문서는 아님을 의미한다.
수 많은 상황에서, XML 퀴어리의 출력 XML 문서가 소정 DTD을 따르도록 할 필요가 있다. e-비니지스 애플리케이션에 있어서, 거래 당사자들은 교환된 XML 문서가 따라야만 하는 DTD에 서로 합의할 수 있다. 퀴어리 출력이 유효하다면, 이 출력은 거래 당사자들에 의해 즉시 사용될 수 있다. 이러한 태스크(task)가 특히 퀴어리 출력의 조작을 통해 가능하지만, 상기 태스크는 불편하고 타당성을 보장하기가 어렵다. 또한, 지금까지 제안된 XML 퀴어리 언어 또는 표현식은 상이한 퀴어리 언어 또는 표현식 속에서는 혼합되지 않는다.
발명의 개요
따라서, 본 발명은 하나 이상의 XML 퀴어리를 처리할 수 있는 방법을 제공하며, 상기 방법은 사전결정된 문서 타입 규정(DTD)을 상기 하나 이상의 XML 퀴어리에 응답하여 액세스될 하나 이상의 데이터 소스로 매핑(map)하는 매핑 구성을 생성하는 단계와, 상기 매핑 구성에 따라 상기 하나 이상의 XML 퀴어리를 평가하는 단계와, 상기 퀴어리 평가 단계로터 기인되는 XML 문서를 생성하는 단계를 포함하되, 상기 생성된 XML 문서는 상기 사전결정된 DTD을 따른다.
바람직하게는, 통합된 XML 문서와 같은 다양한 데이터 소스로부터 데이터의 퀴어리 및 액세스에 있어서, 퀴어리 출력이 사용자가 선택한 DTD에 따르도록 보장하며, 상이한 XML 퀴어리의 조합을 기반으로 하는 XML 문서를 생성하는 방법 및 장치가 제공된다.
바람직하게는, 상기 매핑 구성은 결합 지정 사항(binding specification)을 포함하며, 상기 하나 이상의 XML 퀴어리는 하나 이상의 결합 변수와 결합된다.
또한 바람직하게는, 상기 하나 이상의 XML 퀴어리는 상기 매핑 구성의 결합 지정 사항에 따라 평가되며, 평가된 결과는 상기 하나 이상의 결합 변수에 할당된다.
본 발명은 바람직하게는 퀴어리 출력이 사용자가 선택한 DTD에 따르도록 보장하는 방법 및 장치를 제공한다. 본 발명은 바람직하게는 (i) DTD를 선택하는 단계 (ii) 하나 이상의 XML 퀴어리를 상기 DTD와 통합하는 단계 (iii) 제공된 알고리즘에 따라, XML 퀴어리에 의해 XML 문서의 내용으로 선택된 데이터를 사용하여,상기 DTD에 따르는 유효한 출력 XML 문서를 자동적으로 생성하는 단계를 수행한다.
상기 하나 이상의 XML 퀴어리는 하나 이상의 XML 퀴어리 언어로 기록될 수 있다. 또한, 최종 XML 문서도 하나 이상의 퀴어리 언어와 연관된 하나 이상의 XML 퀴어리의 조합일 수 있다. 또한, 최종 XML 문서는 또한 하나 이상의 XML 퀴어리와 하나 이상의 비-XML(non-XML) 퀴어리의 조합일 수 있다. 또한, 상기 DTD는 바람직하게는 사용자에 의해 지정된다.
바람직한 실시예에서, 매핑 구성 생성 단계는 (i) 적합한 DTD 구성을 결정하는 단계 (ii) 상기 구성을 변수에 결합시키는 단계 (iii) 상기 변수를 상기 XML 퀴어리의 범위 식별 및 필터링 단계로부터 획득된 부분적 XML 결과와 연관시키는 단계 (iv) 값 함수로 상기 변수를 적합한 DTD 구성에 분배하는 단계를 포함한다. 또한, 상기 방법은 바람직하게는 범위 식별 및 필터링 단계로부터 스칼라 기반 결과를 수용하는 단계를 포함한다. 또한, 서브트리 기반 결과도 상기 범위 식별 및 필터링 단계로부터 수용될 수 있다. 본 발명은 바람직하게는 값 생성 함수 및 다른 결합 함수 중 적어도 하나에서 상기 결합 변수가 파라미터로서 사용되게 하는 단계를 더 포함한다. 또한, 본 방법은 바람직하게는 순차적 캐스캐이드 결합 구성(sequential cascade binding constructs)을 갖는 네스팅된 또는 반복적인 필터링 퀴어리 구성(a nested or recursive filtering query construct)을 결정하는 단계를 더 포함한다.
바람직한 실시예에서, 상기 퀴어리 평가 단계는 상이한 XML 퀴어리 언어로부터 XML 퀴어리를 평가하기 위한 평가 메카니즘과 상이한 구문 해석(differentparsing)을 조합하는 단계를 포함한다. 바람직하게는, 결합 변수는 상이한 퀴어리 언어로 된 하나 이상의 XML 퀴어리 내에서 사용될 수 있도록 허용된다. 또한, 상이한 퀴어리 언어로 된 하나 이상의 XML 퀴어리는 바람직하게는 파리미터와 같은 결합 변수로 평가된다.
바람직한 실시예에서, 최종적인 XML 문서 생성 단계는 (i) 루트 요소로부터 DTD 구성을 반복적으로 운행(traverse)하는 단계와, (ii) 리프 구성(leaf construct)에 도달할 때까지, 결합 함수를 결정하는 단계와 XML 퀴어리를 평가하는 단계 중 하나의 단계 이후에 결합 변수와 연관시키는 단계를 포함하되, 부분적 XML 결과는 연관된 값 함수를 평가함으로써 획득된다. 최종 XML 문서는 바람직하게는 상기 부분적 XML 결과를 둘러 싸는 XML 태그를 더함으로써 운행 복귀 단계(a traversal returning stage) 동안 형성된다.
이하에 기술될 바처럼, 본 발명의 방법은 바람직하게는 1999년 12월 17일에 출원된 미국 특허 번호 09/466,627 (attornety docket no. YOR9-1999-0429) "Method and Apparatus for Converting Between Data Sets and XML Documents)에서 개시된 DTDSA(DTD Source Annotation) 방법을 사용한다. 카피(copy)가 파일 상에 배치된다. 그러나, 본 발명은 DTDSA 메카니즘에만 한정되는 것은 아니다. 즉, 다른 메카니즘이 사용될 수 있다. 예를 들자면, DTD를 접속하는 매핑 정보와 DB2 데이터베이스를 개별 파일 상에 저장하는 IBM DB2 익스텐더(extender)(IBM Corporation of Armonk, NY)가 사용될 수 있다.
다른 측면에서, 본 발명은 하나 이상의 XML 퀴어리를 처리하는 장치를 제공하며, 상기 장치는 사전결정된 문서 타입 규정(DTD)을 상기 하나 이상의 XML 퀴어리에 응답하여 액세스될 하나 이상의 데이터 소스로 매핑(map)하는 매핑 구성을 생성하는 수단과, 상기 매핑 구성에 따라 상기 하나 이상의 XML 퀴어리를 평가하는 수단과, 상기 퀴어리 평가로부터 기인되는 XML 문서를 생성하는 수단을 포함하되, 상기 생성된 XML 문서는 상기 사전결정된 DTD을 따른다.
본 발명의 다른 측면에서, 본 발명은 하나 이상의 XML 퀴어리를 처리하는 제품을 제공하는데, 상기 제품은 사전결정된 문서 타입 규정(DTD)을 상기 하나 이상의 XML 퀴어리에 응답하여 액세스될 하나 이상의 데이터 소스로 매핑(map)하는 매핑 구성을 생성하는 단계와, 상기 매핑 구성에 따라 상기 하나 이상의 XML 퀴어리를 평가하는 단계와, 상기 퀴어리 평가 단계로터 기인되는 XML 문서를 생성하는 단계━상기 생성된 XML 문서는 상기 사전결정된 DTD을 따름━를 자신이 실행될 때 구현할 수 있는 하나 이상의 프로그램을 포함하는 머신 판독가능한 매체를 포함한다.
본 발명의 다른 측면에서, 본 발명은 하나 이상의 XML 퀴어리를 처리하는 컴퓨터 기반 장치를 제공하며, 상기 장치는 상기 하나 이상의 XML 퀴어리에 응답하고 그리고 사전결정된 문서 타입 규정(DTD)을 상기 하나 이상의 XML에 응답하여 액세스될 하나 이상의 데이터 소스에 매핑하는 사전결정된 매핑 구성에 응답하는 문서 검색 엔진을 포함하며, 상기 문서 검색 엔진은 (i) 상기 매핑 구성에 따라 상기 하나 이상의 XML 퀴어리를 평가하며 (ii) 상기 퀴어리 평가로부터 기인되는 XML 문서를 생성하도록 동작하며, 상기 생성된 XML 문서는 상기 사전결정된 DTD를 따른다.
다음은 XML 퀴어리에 있어서 바람직한 실시예의 범용 출력 구성기(universaloutput constructor)에 의해 제공되는 몇몇 장점들의 실례이다. 사용자는 임의의 DTD를 선태할 수 있으며 상기 DTD를 사용하여 퀴어리 출력을 제공할 수 있다. 사용자가 퀴어리 패턴 정합 메카니즘으로서 선택한 Xpath 또는 임의의 다른 XML 퀴어리 언어를 사용할 수 있다. 바람직한 실시예는 상이한 또는 동일한 퀴어리 언어 또는 표현식으로 된 다중 퀴어리가 자연적으로 통합되게 하여 단일 출력 XML 문서를 생성하는 것을 가능하게 한다. 상술된 퀴어리들은 상관될 수 있다. XML 퀴어리는 다른 데이터 퀴어리 또는 액세스 메카니즘(가령, 구조화된 퀴어리 언어 : SQL)와 함께 통합되어 단일 XML 문서를 생성할 수 있다. 상술된 XML 퀴어리 및 다른 데이터 퀴어리 또는 액세스 커맨드는 상관될 수 있다.
본 발명의 바람직한 실시예는 다음 도면을 참조하여 예시적으로 설명될 것이다.
본 발명은 정보 검색 및 데이터 통합 분야에 관한 것이며, 특히 하나 이상의 XML(eXtensible Markup Language) 퀴어리(query)를 처리하는 방법 및 장치에 관한 것이다.
도 1은 현 XML 퀴어리 언어를 설명하는 블록도,
도 2는 본 발명의 바람직한 실시예에 따른 XML 퀴어리를 위한 범용 출력 구성기를 설명하는 블록도,
도 3a 및 도 3b는 본 발명의 바람직한 실시예에 따른 퀴어리를 갖는 DTDSA를 사용하여 XML를 생성하는 알고리즘을 도시하는 흐름도,
도 4는 본 발명의 바람직한 실시예에 따라 DTDSA 내의 변수의 결합 및 분배를 설명하는 도면,
도 5는 본 발명의 실시예에 따른 XML 퀴어리를 위한 범용 출력 구성기를 사용하는데 적합한 하드웨어 구현을 설명하는 블록도,
도 6a는 예시적인 상관 도표의 도면,
도 6b는 예시적인 DTD의 도면,
도 6c는 바람직한 매핑 언어에 따라 주석이 달아진(annotated) DTD을 설명하는 도면,
도 6d는 본 발명의 바람직한 실시예에 따른, 예시적인 도 6a, 도 6b, 도 6c와 구체적으로 관련된 방향성 비순환 그래프(a directed acyclic graph)를 도시하는 도면,
도 6e는 본 발명의 바람직한 실시예에 따른, 도 6a, 도 6b, 도 6c, 도 6d에서 도시된 실례에 대해 검색된 XML 문서를 설명하는 도면.
수 많은 개념 및 구성이 XML 지정 사항에서 사용된다. 그러나, 이들 중 몇몇은 내포적으로 참조되지만 분명하게는 규정되지 않으며, 다른 몇몇은 명칭이 주워지지 않고 사용된다. 설명을 용이하게 하기 위해, 이들 개념 및 구성은 특히 이하의 표에서 규정되거나 명칭이 부여된다. 행 "사용되는 곳의 명칭(Name given in)"에서, 만일 값이 "이전 작업"이면, 이는 가령 상술된 미국 특허 09/466,627에서 개시된 DTDSA 메카니즘에 따라 상기 개념이 "이전 작업"에서 사용되지만 DTD 지정 사항에서 규정되지 않음을 의미한다. 만일 값이 "XML Spec"이면, 이는 그 개념이 참조되며 때때로 생성 라인에서 나타나지만 DTD 지정 사항에서는 분명하게 규정되지 않음을 의미한다. 몇몇 용어들은 반복적인 방식으로 규정되며, 각 용어는 괄호 안에 놓인 축약 형식을 갖는다.
또한, 행 변수는 행 식별부인 값을 갖는 변수이다. 열 변수는 표의 열인 값을 갖는 변수이다. 열 변수는 특정 표 상에서 규정되며, 그의 값으로서 상기표의 열만을 가질 수 있다. 벡터 변수는 가령 v≤100, 〈1, "ab", 10〉, x〉와 같은 "〈 " 및 " 〉" 으로 둘러싸인, 값(또는 스칼라), 변수 및 다른 벡터를 포함하는, 오브젝트(object)의 리스트이다.
바람직한 실시예에 따른 본 발명의 상세한 설명 부분은 다음과 같다. 상기 설명 부분은 통합된 XML 문서와 같은 다양한 데이터 소스로부터 데이터의 퀴어리 및 액세스에 있어서, 퀴어리 출력이 사용자가 선택한 DTD에 따르도록 보장하고 상이한 XML 퀴어리의 조합을 기초로 하는 XML 문서를 생성하기 위한 다양한 방법 및 장치를 설명할 것이다.
상술한 바처럼, DTD와 상관 도식 간의 매핑에 대한 바람직한 구현은 위에서 참조된 미국 특허 09/466,627에서 개시된 바와 같은 DTDSA(DTD Source Annotation)이다. 달리 말하면, DTD와 상관 도식 간의 매핑은 DTD 내부에 주석을 달아 인코딩된다. 결합(binding) 및 값 지정 사항이 규정되며 이후에 즉시 상기 지정 사항은 DTD 구성과 연관된다. DTD와 그 하부에 존재하는 데이터 간의 매핑을 확립하는 방법은 값 지정 사항은 각 #PCDATA, 속성 규정(attribute definition), 선택 리스트와 연관시키고, 결합 지정 사항을 후미의 반복 부호로 종결되는 각 DTD 구성과 연관시키고, 선택사양적으로 결합 지정 사항을 다른 DTD 구성과 연관시키는 것이다. 값 지정 사항은 변수를 포함하는 파라미터화된 공식이며, 데이터 오브젝트(data object)가 그 내부의 각 변수로 대체될 때, 상기 공식은 텍스트 값을 생성한다. 결합 지정 사항은 변수 및 표현식 쌍(a variable and expression pair)이다. 상기 표현식은 데이터 오브젝트의 리스트, 데이터 오브젝트의 리스트를 식별하는 공식 또는 변수를 포함하는 파라미터화된 공식이 될 수 있으며, 상기 공식은 데이터 오브젝트가 그 내부의 각 변수로 대체될 때, 데이터 오브젝트의 리스트를 생성한다. 본 발명의 바람직한 실시예에 따라 사용되는 DTDSA 메카니즘의 보다 상세한 설명은 이하에서 "DTDSA 매핑"으로 명칭된 부분에서 제공된다.
(a) 리스트 생성 함수 L()
함수 L(XQ)는 XML 퀴어리의 출력 XQ를 취하여 상기 XQ의 필터링 단계의 결과를 리스트로 돌려 보낸다. XQ가 i=1,...,n에 걸쳐 n 필터링 변수를 가지며 k 개의 리스트 {a11, a12,...,a1n}, {a21, a22,...,a2n}, ..., {ak1, ak2,...,akn}을 돌려 보낸다고 가정해보자. L(XQ)는 벡터의 리스트 : {(a11, a12,...,a1n), (a21, a22,...,a2n), ..., (ak1, ak2,...,akn)}을 돌려 보낸다.
XQ가 스칼라 기반 필터링을 사용한다면, 각 aij는 스칼라이다. XQ가 서브트리 기반 필터링을 사용한다면, 각 aij는 서브트리이다.
(b) 결합 지정 사항(binding specifications)
결합 지정 사항에 대한 사용 및 의미 체계(semantics)는 스칼라 또는 서브트리 기반 필터링을 사용하는 XML 퀴어리 언어의 경우와 동일하다.
DTD 및 XML 퀴어리의 세트가 주어진다면, 다음과 같은 퀴어리의 필터링 단계에서 선택된 데이터를 사용하여 유효한 XML 문서를 구성하는 DTDSA를 형성할 수 있다. XML 퀴어리의 필터링 단계는 결합 변수와 결합되어 다음과 같은 결합 지정 사항을 형성한다.
:b: = L(XQ),
여기서 XQ는 XML 퀴어리이며, b는 결합 변수이며, i=1,...,n에 걸친 ai는 XQ 내의 필터링 변수이다.
의미 체계(semantics)는 다음과 같다.
L(XQ)에 의해 돌려 보내지는 상기 값(벡터)의 리스트는 본 명세서에서 기술된 DTDSA 결합 지정 사항 의미 체계를 사용하여 b와 결합되는데, 즉 상기 값들은 차례로 b와 결합되며 각각은 주석이 달아진 DTD 구성을 각각 예시한다.
b와 결합된 값들은 다른 결합 지정 사항 또는 값 지정 사항에서 사용될 수 있다. b에 대한 참조를 위한 다음과 같은 표시법은 본 명세서에서 사용된다.
b는 전체 벡터(ai1, ai2,..., ain)를 지칭하며, b·aj는 b에 결합된 현 벡터의 j 번째 필드를 지칭한다. 현 벡터가 L(XQ)에 의해 돌려 보내진 리스트 내에서 i 번째이면, b·aj는 aij이다.
(c) 스칼라 기반 필터링을 사용하는 XML 퀴어리.
스칼라 기반 필러링을 사용하는 XML 퀴어리에 대한 사용 및 의미 체계(semantics)는 본 명세서에서 기술된 최초의 DTDSA 규정에서와 동일하다.
결합 지정 사항에 있어서, 사용법은 단일 XML 퀴어리, (상관되는 또는 상관되지 않는) 다중 XML 퀴어리, 비-XML 퀴어리를 포함할 수 있다.
1. 단일 XML 퀴어리 구성
XQ는 루트 요소와 결합된 결합 지정 사항의 결합 함수로서 사용되며, #PCDATA, 선택 리스트, CDATA 또는 열거 타입(enumerate type)과 같은 각 DTD 구성은 b·ai또는 b·ai에 대한 함수인 값 지정 사항에 의해 주석이 달아진다.
2. 다중 비상관된 XML 퀴어리 구성
각 XML 퀴어리는 결합 지정 사항의 결합 함수, 상기 함수의 결합 지정 사항으로서 사용된다.
3. 다중 상관된 XML 퀴어리 구성
각 XML 퀴어리는 결합 지정 사항의 결합 함수, 상기 함수의 결합 지정 사항으로서 사용된다. XML 퀴어리의 입력 파라미터는 b·ai형태로 되며, 여기서 b는 다른 결합 지정 사항의 결합 변수이다.
4. 다중 상관 및 비상관 XML 및 비-XML 퀴어리에 대한 구성
순수 XML 퀴어리의 경우와 동일하지만, 몇몇 퀴어리는 비-XML 퀴어리일 수 있다.
(d) 서브트리 기반 필러링을 사용하는 XML 퀴어리
결합 지정 사항에 대한 신택스(syntax) 및 의미 체계는 동일하게 유지된다.
:b: = L(XQ(C,xs)),
여기서, b는 결합 변수이며, XQ는 XML 퀴어리 함수이며, C는 XML 퀴어리 범위이며, xs는 퀴어리 (필터링) 스트링(string)이다.
이 경우에 L(XQ)는 {(a11, a12,...,a1n), (a21, a22,...,a2n), ..., (ak1,ak2,...,akn)}을 돌려 보내며, 여기서 각 aij는 서브트리이며, b는 서브트리 벡터의 리스트에 순서대로 결합된다.
f( )이 입력으로서 하나 이상의 결합 함수를 참조하여 서브트리를 돌려 보내는 함수라고하자. y = f(b1, b2, ... bm)이라 정의하며, 여기서 i=1...m에 걸친 bi는 결합 변수에 대한 참조값이다. 가령, y는 b·aj일 수 있다.
(e) 값 지정 사항 내의 결합 변수를 사용하는 경우
함수들의 두 개의 타입이 값 지정 사항에서 나타날 수 있다.
i. g(y) 및 h(b), 여기서 g( ) 및 h( )은 각각 스칼라 값을 돌려 보낸다.
ii. XQ(y,xs) 및 XQ(b,xs), 여기서 XQ( )는 XML 퀴어리이며 xs는 몇몇 퀴어리 스트링이다.
형태 ":g(y)" 또는 ":h(b)"의 값 지정 사항은 #pcdata, 선택 리스트, cdata 또는 열거 타입에 주석을 달며 상기 주석이 달아진 구성에 값을 제공한다.
형태 ":XQ(y,xs)" 또는 ":XQ(b,xs)"의 값 지정 사항은 요소 E에 주석을 부친다. XQ에 의해 돌려보내진 서브트리 ST는 바람직한 실시예의 방법에 의해 구성된 최종 XML 문서 내에서 E의 실례로서 사용된다.
본 발명은 바람직하게는 요소 E의 실례로서 ST를 사용하기 위한 두 개의 타입의 방침을 제공한다.
1. 테스트 방침 : ST가 E 및 그의 후속 요소에 의해 기술되는 DTD의 부분에 따른다면, ST는 E의 실례로서 수용된다. 그렇지 않다면, 상기 ST는 거절되며, 시례로서 몇몇 디폴트 값(default value)이 사용되거나, 퀴어리 출력 구성 프로세스가 중지된다.
2. 변형 방침 : ST가 E 및 그의 후속 요소에 의해 기술되는 DTD의 부분에 따른다면, ST는 E의 실례로서 수용된다. 그렇지 않다면, 몇몇 변형 알고리즘이 ST를 E을 따르는 ST'로 변형시키는데 사용된다.
(f) 다른 결합 지정 사항 내의 결합 변수를 사용하는 경우
XML 퀴어리 출력에 결합되는 결합 변수는 다음과 같이 다른 결합 지정 사항 내에서 사용될 수 있다.
:x: = L(XQ(b,xs)) 또는,
:x: = L(XQ(f(b),xs)) 또는,
:x: = L(XQ({f1(b1), f2(b2),...fm(bm)},xs)),
여기서, xs는 퀴어리 (필터링) 스트링이며,
b및 bi(i=1,...,m)은 결합 변수이며,
f및 fi(i=1,...,m)은 서브트리의 리스트를 취하여 서브트리를 돌려 보내는 함수이다.
(g) 네스팅된 필터링/구성을 위해 캐스캐이드 결합(cascade binding)을 사용하는 경우
대부분의 XML 퀴어리 언어는 구성 및 필터링 스테이지가 반복적으로 규정되는 것을 가능하게 한다. F1C1F2C2...FnCn이 반복적으로 규정된 퀴어리를 표현한다고 정의하며, 여기서 Fi는 i 번째 필터링 함수이며, Ci는 i 번째 구성 스테이지이며, i = 1, 2,...., n이다. F1이 a11, a12....를 규정하며, F2가 a21, a22,...를 규정하며, Fn이 an1, an2.... 를 규정하며, aij가 Fk(k〉i) 및 Ck(k≥i)에서 사용되거나 참조될 수 있다고 가정해보자.
다음과 같은 캐스캐이드 결합을 가질 수 있다.
:xn: = BFn.... , :x2: = BF2, :x1: = BF1
여기서, BFi는 결합 함수이며 i = 1,2,...,n 이며,
BF1은<a11, a12...>를 돌려 보내며(규정하며),
BF2은 <a21, a22,...>를 돌려 보내며,
...
BFn은 <an1, an2...>를 돌려 보낸다.
또한, xi·aij는 BFk(k〉i)의 파라미터이다.
도면에서 유사한 참조 부호는 동일한 또는 유사한 요소를 나타내며, 도 1에서는 일반적인 XML 퀴어리 언어의 세 개의 스테이지의 블록도가 도시된다. 제 1 스테이지는 블록(140)으로 도시된 바처럼 퀴어리의 영역을 결정하는 범위 식별(scoping) 스테이지이다. 제 2 스테이지는 블록(130)으로 도시된 바처럼 퀴어리에 참여하는 데이터를 선택하는 필터링 또는 선택 스테이지이다. 제 3 스테이지는 블록(120)으로 도시된 바처럼 상기 선택된 데이터로부터 XML 출력을 구성하는 구성 스테이지이다. 상기 세 개의 스테이지는 화살표(110)로 도시된 바처럼 반복적으로 규정되어 네스팅된 루프 반복(a nested loop iteration)을 형성한다. 이 세 스테이지의 결과는 양호하게 형성된 XML 문서이다.
도 2는 본 발명의 실시예에 따른 XML 퀴어리를 위한 범용 출력 구성기를 설명하는 블록도이다. 도시된 바처럼, DTD(200)는 상이한 퀴어리 언어로부터의 상이한 표현식으로 주석이 달아질 수 있으며, 이로써 상이한 타입의 데이터 소스로부터 데이터를 검색하기 위해 액세스 및 변환 엔진(305)을 가이드(guide)하는 매핑 구성 DTDSA(312)을 형성한다. 사용자는 입력 파라미터(310)를 상기 엔진에 제공할 수 있으며, 출력으로서 유효한 XML 문서(315)를 수신할 수 있다. 상기 매핑 구성은 최초의 DTDSA 매핑 표현식(240), XQL과 같은 범위 식별(212) 및 필터링(210) 스테이지를 포함하는 퀴어리 언어(230), XML-QL과 같은 추가 구성 스테이지를 포함하는 퀴어리 언어(220), 상기 모든 표현식 및 언어들의 혼합으로 기록될 수 있다. 퀴어리 언어가 구성 스테이지를 포함하면, 도 1에서 구성 스테이지(120)로 도시된 제 3 스테이지는 무시될 것이다. 퀴어리 언어(220,230)는 XML 저장 구역(225,235)을 액세스하기 위한 매핑 구성을 기술할 수 있으며, 최초의 DTDSA 매핑 표현식(240)은 관련된 데이터베이스 시스템(245)을 위한 매핑 구성을 기술할 수 있다. 최초의 DTDSA 매핑 표현식은 가령, 도 6a 내자 도 6e에서 이하에 기술될 바처럼, 값 지정 사항과 결합 지정 사항을 포함한다.
상기 범용 출력 구성기는 바람직하게는 엔진(305) 및 매핑 프레임워크DTDSA(312)로 구성된다. 그러나, 다른 실시예에서, 상기 범용 출력 구성기는 DTDSA(312)로의 액세스를 갖는 엔진(305)만을 포함하는 것으로 고려될 수 있다.
도 3a 및 도 3b는 바람직한 실시예에 따른 DTDSA에 포함되는 새로운 매핑을 기초로 하여 XML 문서를 생성하는 방법을 도시한다. 본 방법은 블록(350)에서 도시된 바처럼 결합 지정 사항 내의 XML 퀴어리를 평가하고 결과를 결합 변수에 할당하기 위한 수정과 함께 상술된 DTDSA 방법을 사용한다. 도 3b에서 도시된 요소는 하드웨어, 소프트웨어, 이들의 조합과 같은 다양한 형태로 구현될 수 있다. 특히, 이들 요소는 프로세서 및 메모리 및 입력/출력 인터페이스를 갖는 하나 이상의 적절하게 프로그램된 범용 디지털 컴퓨터로 구현될 수 있으며, 이에 대한 실례는 도 5에 도시된다.
임의의 경우에, 도 3a는 DTDSA를 사용하는 XML 복합 알고리즘을 나타내는 블록도를 도시한다. 문서 검색 및 복합 엔진 또는 알고리즘(305)은 입력 파라미터 명칭 및 값 쌍(310)(가령, A=1, B=100)을 수신하여 제공된 DTDSA(312)를 기반으로 하여 돌려 보낼 XML 문서를 생성한다. 알고리즘(305)의 내부 흐름도는 도 3b에 도시된다.
처음에, 블록(320)에 도시된 바처럼(즉, 그래프 구조로서 DTDSA 판독, 입력 파라미터 수용 및 환경 변수 내부로 부가), 알고리즘은 DTDSA(312)를 가령 조작하기 쉬운 방향성 비순환 그래프와 같은 내부 형식으로 구문 해석하며, 입력 파라미터를 환경 변수로 준비시킨다. 이후에, 알고리즘은 입력된 구조 노드의 세트를 추적하는 선입 선출 큐를 사용하여 내부 DTDSA 구조에 대해 BFS(a breadth firstsearch) 운행(traversal)을 수행한다. 상기 BFS 운행은 상기 큐에 대한 초기 값을 설정하고(문서 루트 및 초기 환경 변수 ENV를 큐 테일(queue tail) 내부로 부가함)(325), 상기 큐가 비어질 때까지 상기 큐를 페치(fetch)하는 것을 반복하고(330), 매 노드 및 환경 변수가 페치되고(335)(노드 및 ENV를 큐 헤드로부터 검색), 부분적 XML 성분을 생성하기 위해 오퍼레이션들을 수행하고(340)(이하에 기술됨), 존재한다면 모든 칠드런 노드(children node) 및 존재한다면 새로운 환경 변수/값을 상기 큐에 더하는(블록 345) 표준 절차를 포함한다. 블록(340)에서 도시된 바처럼, 입력된 노드에 대한 오퍼레이션, 데이터 타입 또는 속성 타입을 표시하는(denoting) 단계는 (1) 상기 데이터 타입 또는 속성 타입과 연관되며, 페치된 환경 변수/값을 사용하여 DTDSA 내의 결합 또는 값 지정 사항에서 규정된 결합되지 않은 변수를 결정하는 단계(상기 결합되지 않은 변수의 결정 단계는 데이터 소스 및 사전규정된 함수 계산을 액세스하는 단계를 포함함)와, (2) 결합 지정 사항 내의 상이한 퀴어리 언어로 된 XML 퀴어리를 평가하고 결과를 상기 결합 변수에 할당하는 단계(350)와, (3) 태그와 같은 현 DTDSA 노드 명칭(ENAME) 및 값 또는 속성과 같은 결정된 내용을 기초로 하여 부분적 XML 성분을 생성하는 단계, (4) 새롭게 생성된 변수/값 쌍을 상기 환경 변수(ENV)에 더하는 단계를 포함한다.
도 4에서, DTDSA 내의 변수의 연관 및 분배가 설명된다. 도시된 바처럼, 특정 도면에서의 DTDSA는 다음과 같이 표현될 수 있다.
<!ELEMENT PO (구매자, 판매자)
: :x: = XML - QL/XQL/XPath/최초의 맵>
<!ELEMENT 구매자(명칭, 주소)>
<!ELEMENT 명칭(#PCDATA : x.a)>
<!ELEMENT 주소(#PCDATA : x.b)>
여기서, x는 결합 변수이며, a 및 b는 XML 퀴어리 내의 필터 변수이며 DTDSA에서 x.a 및 x.b로 참조된다. 상기 연관은 퀴어리 결과가 변수, 즉 도면에서 410으로 표시된 x에 결합된다는 점에서 결합 지정 사항과 관련된다. 분배는 DTDSA 내의 결합된 변수의 사용과 관련된다. 가령, 도면에서 420으로 표시된 x.a는 관련 데이터베이스에 있어서 x에 의해 결합된 열 내의 행의 값 a를 검색하거나, XML 저장 구역에 있어서 x에 의해 결합된 XML 성분 내의 태그의 내용 a를 검색한다.
도 5는 본 발명의 바람직한 실시예에 따른 XML 퀴어리를 위한 범용 출력 구성기를 사용하기에 적합한 하드웨어 구현을 설명하는 도면이다. XML 퀴어리를 위한 범용 출력 구성기, 즉 엔진(305), 바람직하게는 DTDSA(312)(도 2 및 도 3 참조)은 하나의 상기 컴퓨터 시스템 상에서 또는 가령 클라이언트 서버 관계에서와 같은 하나 이상의 개별적인 상기 컴퓨터 시스템 상에서 구현될 수 있다. 가령, 엔진(305)은 JavaTMServlet(자바 및 자바 기반 상표 또는 로고는 미국 및 다른 국가에서의 Sun Microsystems, Inc의 상표 또는 등록된 상표임)으로 기록된 서버 사이트 애플리케이션 또는 인터넷 브라우저에 의해 실행되는 클라이언트 사이트 애플리케이션으로서 동작할 수 있다.
도시된 바처럼, 컴퓨터 시스템은 프로세서(502), 메모리(504), I/O디바이스(506)에 따라 구현될 수 있다. 본 명세서에서 사용된 용어 "프로세서"는 가령 CPU(중앙 처리 장치) 및/또는 다른 처리 회로를 포함하는 것과 같은 임의의 처리 장치를 포함한다. 본 명세서에서 사용된 용어 "메모리"는 가령 RAM, ROM, 고정 메모리 장치(가령, 하드 드라이브), 이동식 메모리 장치(가령, 디스켓), 플레시 메모리 등과 같은 CPU 또는 프로세서와 결합되는 메모리를 포함한다. 또한, 본 명세서에서 사용되는 용어 "입력/출력 장치" 또는 "I/O 장치"는 가령 데이터를 프로세싱 장치로 입력하는 키보드와 같은 하나 이상의 입력 장치 또는 프로세싱 장치와 연관된 결과를 제공하는 CRT 디스플레이 및/또는 프린터와 같은 출력 장치를 포함한다. 또한 "프로세서"는 하나 이상의 프로세싱 장치를 지칭하며, 프로세싱 장치와 결합된 다양한 요소들은 다른 프로세싱 장치에 의해 공유될 수 있다. 따라서, 본 명세서에서 기술된 바처럼, 바람직한 실시예를 수행하는 인스트럭션 또는 코드를 포함하는 소프트웨어 구성 요소는 연관된 하나 이상의 메모리 장치(가령, ROM, 고정된 또는 이동식 메모리) 내에 저장될 수 있으며, 그것이 사용될 준비를 하고 있을 때에는 부분적으로 또는 전체적으로 (가령 RAM 내부로) 로딩될 수 있으며, CPU에 의해 실행될 수 있다.
DTDSA 매핑
상술된 바처럼, DTD와 상관 도식 간의 매핑을 위한 바람직한 구현은 위에서 참조된 미국 특허 09/466,627에서 기술된 바와 같이 DTDSA(DTD Source Annotation)이다. 다음은 상기 DTDSA 메카니즘의 상세한 설명이다.
도 6a는 상관 도식으로서 잘 알려진 바와 같은 4 개의 상관 표, 즉 구매 순서(PO)(1305), 회사(1310), 라인 아이템(1310), 제품(1320)의 표를 포함한다.
표(1305)는 세 개의 행, 즉 구매 순서 식별부(POID), 구매자, 판매자 행을 포함한다. 이 표의 열은 행에 대한 값을 나타내는 숫자 인덱스 값이다. 여기서, 구매 순서 번호 100은 구매자 20 및 판매자 10와 관련된다.
표(1310)은 세 개의 행, 즉 회사 식별부(COID), 명칭, 주소(ADDR) 행을 포함한다. 열은 숫자 값을 실제 회사 명칭과 주소와 연관시킨다. 여기서, 숫자 값 10은 뉴욕에 주소를 갖는 회사 IBM과 관련되며, 숫자 값 20은 뉴욕에 주소를 갖는 회사 Citybank와 관련된다.
표(1315)은 세 개의 행, 즉 POID, 제품 식별부(PROID), 제품량의 행을 갖는다. 열 1330, 1335은 구매 순서 식별 번호를 제품 식별부 및 제품량과 연관시킨다. 도면에서, 구매 순서 100은 두 개의 제품 식별부 35678, 35694와 연관되며, 상기 제품의 양은 각기 순서대로 20 K 및 100 K이다.
표(1320)는 세 개의 행, 즉 PROID, 명칭, 서술 사항(DESC)의 행을 갖는다. 열은 제품 식별 번호 35678를 "THINKPAD"와 연관시키며 제품 식별 번호 35694를 서버와 연관시킨다.
도 6a의 화살표는 다양한 필드 중에서 대외적인 중요한 관계를 설명한다. 가령, POID = 100을 갖는 PO 표에서의 레코드 1325는 화살표 1340, 1345에 의해 POID=100을 갖는 라인 아이템 표 1315에서의 두 개의 레코드 1330, 1335와 관계된다. 마찬가지로, 레코드 1330 및 1335는 화살표 1350에 의해 레코드 1355 및1360과 관련된다.
도 6b는 문서 타입 규정(DTD)의 실례를 도시한다. 상술된 바처럼, XML은 문서를 명시하는 DTD를 사용한다. DTD는 매우 유연하며 임의의 개수의 상이한 문서를 명시할 수 있다. 도 6b는 오직 하나의 간단한 실례를 도시하며, 여기서는 구매 순서가 명시된다.
라인 1301은 변수 PO의 규정을 도시한다. 트리형 방식에서, 상기 규정은 차일드 규정(child definitions), 즉 라인 1302에서 규정된 "id", 라인 1303에서 규정된 "구매자", 라인 1304에서 규정된 "판매자", 라인 1307에서 규정된 "라인 아이템"을 포함한다. 라인 1320에서 "라인 아이템" 다음에 오는 *은 이러한 특징이 구매 순서로 여러 번 반복될 수 있음을 표시한다. "id" 1302, "주소" 1311, "제품명" 1308, "제품량" 1310의 규정은 데이터 저장 장치로부터 직접적으로 데이터를 얻기 위해 #PCDATA 커맨드를 사용한다. "구매자" 및 "판매자"의 규정은 1323 및 1324에서 속성 리스트를 갖는다. 라인 아이템의 규정도 또한 차일드 규정, 라인 1308에서의 "제품명" 및 라인 1310에서의 "제품량"을 포함한다.
도 6b는 도 6a에서의 상관 도식을 기초로 하여 주석이 달아진 것이며, 이렇게 주석이 달아진 DTD(DTDSA)는 도 6c에 도시된다. 도 6c는 바람직한 매핑 언어,즉 DTDSA에 따라 주석이 달아진 DTD를 도시한다. 바람직한 매핑 언어는 두 개의 타입의 구성, 즉 결합 지정 사항 및 값 지정 사항을 포함한다.
도 6d는 도 6a, 도 6b, 도 6c의 실례와 구체적으로 관련된 방향성 비순환 그래프를 도시한다. 결정의 순서는 BFS 운행 순서를 기초로 하여 발생한다. 도6d의 번호 1905, 1910, 1915, 1920, 1925, 1935, 1945에서의 결정은 각기 도 6c의 번호 1505, 1510, 1515, 1520, 1525, 1535, 1545에서의 결합/값 지정 사항에 대응한다. x=100을 사용하는 번호 1510에서의 결합 지정 사항에 대한 결정은 POID=100을 갖는 표 PO 액세스와 관련되며, 1910에서 도시된 바처럼 r에 대해 레코드 <100, 20, 10>로부터 유도된다. 1505에서의 결합 지정 사항은 레코드 r을 사용하여 그의 제 3 인수 PO.POID(r)을 100으로 유도하며 상기 제 3의 인수는 w, 즉 열(라인 항목, POID, 100)의 결정에 있어서 필요하다. 도 6a에서 번호 1330, 1335에서 도시된 바와 같은, POID=100을 갖는 표 라인 아이템 내에 두 개의 레코드가 존재하기 때문에, w은 번호 1905에서 도시된 바처럼 두 개의 레코드로 할당된다. 상기 결합은 번호 1902에서 도시된 바와 같이 "*" 또는 "+" 로 표시된 에지를 따라 데이터 타입의 다중 발생을 유도하는데 사용된다. 변수 w에 대한 두 개의 레코드는 번호 1925에서 도시된 바처럼 두 개의 XML 성분 라인 아이템을 유도하는데 사용될 수 있다. 또한, 값 지정 사항을 갖는 속성 값도 유사하게 유도될 수 있다. 가령, 번호 1920에서 도시된 바처럼, 데이터 타입 구매자의 프리픽스 @을 갖는 속성 명칭은 번호 1935에서 도시된 바처럼 r를 사용하여 번호 1535에서의 결합 지정 사항을 유도하는 것으로부터 결정된 값 s를 갖는다.
도 6e는 도 6a, 도 6b, 도 6c, 도 6d에서 도시된 실례에 대해 검색된 XML 문서를 도시한다. 입력 x=100을 기초로 하여, 문서는 id 100을 갖는 PO이다. 번호 2010 및 2015에서 도시된 바와 같이 검색되고 구성된 두 개의 라인 아이템이 존재한다. 또한, 번호 2005 및 2010에서 도시된 바와 같이 속성도 설명된다.

Claims (36)

  1. 하나 이상의 XML(eXtensible Markup Language) 퀴어리를 처리할 수 있는 방법에 있어서,
    사전결정된 문서 타입 규정(DTD)을 상기 하나 이상의 XML 퀴어리에 응답하여 액세스될 하나 이상의 데이터 소스로 매핑(map)하는 매핑 구성을 생성하는 단계와,
    상기 매핑 구성에 따라 상기 하나 이상의 XML 퀴어리를 평가하는 단계와,
    상기 퀴어리 평가 단계로터 기인되는 XML 문서를 생성하는 단계를 포함하되,
    상기 생성된 XML 문서는 상기 사전결정된 DTD을 따르는
    XML 퀴어리 처리 방법.
  2. 제 1 항에 있어서,
    상기 매핑 구성은 결합 지정 사항(binding specification)을 포함하며,
    상기 하나 이상의 XML 퀴어리는 하나 이상의 결합 변수(binding variables)와 결합되는
    XML 퀴어리 처리 방법.
  3. 제 2 항에 있어서,
    상기 하나 이상의 XML 퀴어리는 상기 매핑 구성의 결합 지정 사항에 따라 평가되며,
    상기 평가 결과를 상기 하나 이상의 결합 변수에 할당하는 단계를 더 포함하는
    XML 퀴어리 처리 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 하나 이상의 XML 퀴어리는 하나 이상의 XML 퀴어리 언어로 기록되는
    XML 퀴어리 처리 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 생성된 XML 문서는 하나 이상의 퀴어리 언어와 연관된 하나 이상의 XML 퀴어리의 조합인
    XML 퀴어리 처리 방법.
  6. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 생성된 XML 문서는 하나 이상의 XML 퀴어리와 하나 이상의 비-XML 퀴어리(non-XML queries)의 조합인
    XML 퀴어리 처리 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 DTD는 사용자에 의해 지정되는
    XML 퀴어리 처리 방법.
  8. 제 3 항에 있어서,
    상기 매핑 구성을 생성하는 단계는
    적합한 DTD 구성을 결정하는 단계와,
    상기 결정된 구성을 변수와 결합하는 단계와,
    상기 변수를 상기 XML 퀴어리의 범위 식별(scoping) 및 필터링 단계로부터 획득된 부분적 XML 결과와 연관시키는 단계와,
    값 함수로 상기 변수를 적합한 DTD 구성에 분배하는 단계를 포함하는
    XML 퀴어리 처리 방법.
  9. 제 8 항에 있어서,
    상기 범위 식별 및 필터링 단계로부터 스칼라 기반 결과를 수용하는 단계를 더 포함하는
    XML 퀴어리 처리 방법.
  10. 제 8 항 또는 제 9 항에 있어서,
    상기 범위 식별 및 필터링 단계로부터 서브트리 기반 결과를 수용하는 단계를 더 포함하는
    XML 퀴어리 처리 방법.
  11. 제 8 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 결합 변수가 값 생성 함수 및 다른 결합 함수(binding functions) 중 적어도 하나에서 파라미터로서 사용되게 하는 단계를 더 포함하는
    XML 퀴어리 처리 방법.
  12. 제 8 항 내지 제 11 항 중 어느 한 항에 있어서,
    순차적 캐스캐이드 결합 구성(sequential cascade binding constructs)을 갖는 네스팅된 또는 반복적인 필터링 퀴어리 구성(a nested or recursive filteringquery construct)을 결정하는 단계를 더 포함하는
    XML 퀴어리 처리 방법.
  13. 제 3 항에 있어서,
    상기 퀴어리 평가 단계는 상이한 XML 퀴어리 언어로부터의 XML 퀴어리를 평가하기 위해 상이한 구문 해석(different parsing)과 평가 메카니즘을 조합하는 단계를 더 포함하는
    XML 퀴어리 처리 방법.
  14. 제 13 항에 있어서,
    상이한 퀴어리 언어로 된 하나 이상의 XML 퀴어리 내에서 상기 결합 변수가 사용될 수 있도록 하는 단계를 더 포함하는
    XML 퀴어리 처리 방법.
  15. 제 13 항 또는 제 14 항에 있어서,
    파라미터와 같은 결합 변수로, 상이한 퀴어리 언어로 된 하나 이상의 XML 퀴어리를 평가하는 단계를 더 포함하는
    XML 퀴어리 처리 방법.
  16. 제 3 항에 있어서,
    상기 최종 XML 문서 생성 단계는
    (i) 루트 요소로부터 DTD 구성을 반복적으로 운행(traverse)하는 단계와,
    (ii) 리프 구성(leaf construct)에 도달할 때까지, 결합 함수를 결정하는 단계와 XML 퀴어리를 평가하는 단계 중 하나의 단계 이후에 결합 변수를 연관시키는 단계를 포함하며,
    부분적 XML 결과는 연관된 값 함수를 평가함으로써 획득되는
    XML 퀴어리 처리 방법.
  17. 제 16 항에 있어서,
    상기 최종 XML 문서는 상기 부분적 XML 결과를 둘러싸는 XML 태그를 더함으로써 운행 복귀 단계(a traversal returning stage) 동안 구성되는
    XML 퀴어리 처리 방법.
  18. 하나 이상의 XML(eXtensible Markup Language) 퀴어리를 처리할 수 있는 장치에 있어서,
    사전결정된 문서 타입 규정(DTD)을 상기 하나 이상의 XML 퀴어리에 응답하여 액세스될 하나 이상의 데이터 소스로 매핑(map)하는 매핑 구성을 생성하는 수단과,
    상기 매핑 구성에 따라 상기 하나 이상의 XML 퀴어리를 평가하는 수단과,
    상기 퀴어리 평가 단계로터 기인되는 XML 문서를 생성하는 수단을 포함하되,
    상기 생성된 XML 문서는 상기 사전결정된 DTD을 따르는
    XML 퀴어리 처리 장치.
  19. 제 18 항에 있어서,
    상기 매핑 구성은 결합 지정 사항(binding specification)을 포함하며,
    상기 하나 이상의 XML 퀴어리는 하나 이상의 결합 변수(binding variables)와 결합되는
    XML 퀴어리 처리 장치.
  20. 제 19 항에 있어서,
    상기 하나 이상의 XML 퀴어리는 상기 매핑 구성의 결합 지정 사항에 따라 평가되며,
    상기 평가 결과를 상기 하나 이상의 결합 변수에 할당하는 장치를 더 포함하는
    XML 퀴어리 처리 장치.
  21. 제 18 항 내지 제 20 항 중 어느 한 항에 있어서,
    상기 하나 이상의 XML 퀴어리는 하나 이상의 XML 퀴어리 언어로 기록되는
    XML 퀴어리 처리 장치.
  22. 제 18 항 내지 제 21 항 중 어느 한 항에 있어서,
    상기 생성된 XML 문서는 하나 이상의 퀴어리 언어와 연관된 하나 이상의 XML 퀴어리의 조합인
    XML 퀴어리 처리 장치.
  23. 제 18 항 내지 제 21 항 중 어느 한 항에 있어서,
    상기 생성된 XML 문서는 하나 이상의 XML 퀴어리와 하나 이상의 비-XML 퀴어리(non-XML queries)의 조합인
    XML 퀴어리 처리 장치.
  24. 제 18 항 내지 제 23 항 중 어느 한 항에 있어서,
    상기 DTD는 사용자에 의해 지정되는
    XML 퀴어리 처리 장치.
  25. 제 20 항에 있어서,
    상기 매핑 구성을 생성하는 수단은
    적합한 DTD 구성을 결정하는 수단과,
    상기 결정된 구성을 변수와 결합하는 수단과,
    상기 변수를 상기 XML 퀴어리의 범위 식별(scoping) 및 필터링 스테이지로부터 획득된 부분적 XML 결과와 연관시키는 수단과,
    값 함수로 상기 변수를 적합한 DTD 구성에 분배하는 수단을 포함하는
    XML 퀴어리 처리 장치.
  26. 제 25 항에 있어서,
    적어도 하나의 프로세서는 상기 범위 식별 및 필터링 스테이지로부터 스칼라 기반 결과를 수용하도록 동작하는
    XML 퀴어리 처리 장치.
  27. 제 25 항 또는 제 26 항에 있어서,
    적어도 하나의 프로세서는 상기 범위 식별 및 필터링 스테이지로부터 서브트리 기반 결과를 수용하도록 동작하는
    XML 퀴어리 처리 장치.
  28. 제 25 항 내지 제 27 항 중 어느 한 항에 있어서,
    적어도 하나의 프로세서는 상기 결합 변수가 값 생성 함수 및 다른 결합 함수(binding functions) 중 적어도 하나에서 파라미터로서 사용되게 하도록 동작하는
    XML 퀴어리 처리 장치.
  29. 제 25 항 내지 제 28 항 중 어느 한 항에 있어서,
    적어도 하나의 프로세서는 순차적 캐스캐이드 결합 구성(sequential cascade binding constructs)을 갖는 네스팅된 또는 반복적인 필터링 퀴어리 구성(a nested or recursive filtering query construct)을 결정하도록 동작하는
    XML 퀴어리 처리 장치.
  30. 제 20 항에 있어서,
    상기 퀴어리 평가 수단은 상이한 XML 퀴어리 언어로부터의 XML 퀴어리를 평가하기 위해 상이한 구문 해석(different parsing)과 평가 메카니즘을 조합하는 수단을 더 포함하는
    XML 퀴어리 처리 장치.
  31. 제 30 항에 있어서,
    적어도 하나의 프로세서는 상이한 퀴어리 언어로 된 하나 이상의 XML 퀴어리 내에서 상기 결합 변수가 사용될 수 있도록 동작하는
    XML 퀴어리 처리 장치.
  32. 제 30 항 또는 제 31 항에 있어서,
    적어도 하나의 프로세서는 파라미터와 같은 결합 변수로 상이한 퀴어리 언어로 된 하나 이상의 XML 퀴어리를 평가하도록 동작하는
    XML 퀴어리 처리 장치.
  33. 제 3 항에 있어서,
    상기 최종 XML 문서 생성 작업은
    (i) 루트 요소로부터 DTD 구성을 반복적으로 운행(traverse)하는 단계와,
    (ii) 리프 구성(leaf construct)에 도달할 때까지, 결합 함수를 결정하는 단계와 XML 퀴어리를 평가하는 단계 중 하나의 단계 이후에 결합 변수를 연관시키는 단계를 포함하며,
    부분적 XML 결과는 연관된 값 함수를 평가함으로써 획득되는
    XML 퀴어리 처리 장치.
  34. 제 33 항에 있어서,
    상기 최종 XML 문서는 상기 부분적 XML 결과를 둘러싸는 XML 태그를 더함으로써 운행 복귀 단계(a traversal returning stage) 동안 구성되는
    XML 퀴어리 처리 장치.
  35. 하나 이상의 XML(eXtensible Markup Language) 퀴어리를 처리할 수 있는 제품에 있어서,
    사전결정된 문서 타입 규정(DTD)을 상기 하나 이상의 XML 퀴어리에 응답하여액세스될 하나 이상의 데이터 소스로 매핑(map)하는 매핑 구성을 생성하는 단계와,
    상기 매핑 구성에 따라 상기 하나 이상의 XML 퀴어리를 평가하는 단계와,
    상기 퀴어리 평가 단계로터 기인되는 XML 문서를 생성하는 단계━상기 생성된 XML 문서는 상기 사전결정된 DTD을 따름━를 실행 시에 구현할 수 있는 하나 이상의 프로그램을 포함하는 머신 판독가능 매체를 포함하는
    XML 퀴어리 처리 제품.
  36. 하나 이상의 XML 퀴어리를 처리하는 컴퓨터 기반 장치에 있어서,
    상기 하나 이상의 XML 퀴어리에 응답하고 그리고 사전결정된 문서 타입 규정(DTD)을 상기 하나 이상의 XML에 응답하여 액세스될 하나 이상의 데이터 소스에 매핑하는 사전결정된 매핑 구성에 응답하는 문서 검색 엔진을 포함하며,
    상기 문서 검색 엔진은
    (i) 상기 매핑 구성에 따라 상기 하나 이상의 XML 퀴어리를 평가하며
    (ii) 상기 퀴어리 평가로부터 기인되는 XML 문서를 생성하도록 동작하며,
    상기 생성된 XML 문서는 상기 사전결정된 DTD를 따르는
    XML 퀴어리 처리 컴퓨터 기반 장치.
KR10-2003-7004833A 2000-10-12 2001-10-02 Xml 퀴어리 처리 방법 및 장치 KR20030048423A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/689,377 2000-10-12
US09/689,377 US6766330B1 (en) 1999-10-19 2000-10-12 Universal output constructor for XML queries universal output constructor for XML queries
PCT/GB2001/004365 WO2002031690A2 (en) 2000-10-12 2001-10-02 A universal device to construct outputs for xml queries

Publications (1)

Publication Number Publication Date
KR20030048423A true KR20030048423A (ko) 2003-06-19

Family

ID=24768187

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7004833A KR20030048423A (ko) 2000-10-12 2001-10-02 Xml 퀴어리 처리 방법 및 장치

Country Status (6)

Country Link
US (1) US6766330B1 (ko)
EP (1) EP1370978A2 (ko)
KR (1) KR20030048423A (ko)
CN (1) CN100419744C (ko)
AU (1) AU2001290154A1 (ko)
WO (1) WO2002031690A2 (ko)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031956B1 (en) * 2000-02-16 2006-04-18 Verizon Laboratories Inc. System and method for synchronizing and/or updating an existing relational database with supplemental XML data
US8019770B1 (en) * 2000-02-22 2011-09-13 M. A. Mobile Ltd. Dynamic rendering of content that includes query expressions
US7185005B1 (en) 2000-05-12 2007-02-27 Oracle International Corporation Nested transactions in a file system
US7725878B1 (en) 2000-05-12 2010-05-25 Oracle International Corporation Property bundles on a per instance basis
US7987217B2 (en) * 2000-05-12 2011-07-26 Oracle International Corporation Transaction-aware caching for document metadata
US7389493B1 (en) * 2000-05-12 2008-06-17 Oracle International Corporation Categories on a per instance basis
US7080314B1 (en) * 2000-06-16 2006-07-18 Lucent Technologies Inc. Document descriptor extraction method
US7873649B2 (en) * 2000-09-07 2011-01-18 Oracle International Corporation Method and mechanism for identifying transaction on a row of data
US20050210263A1 (en) * 2001-04-25 2005-09-22 Levas Robert G Electronic form routing and data capture system and method
US6842757B1 (en) * 2002-04-30 2005-01-11 Oracle International Corporation Methods and systems for dynamic and default attribute binding
US7055142B2 (en) * 2002-05-10 2006-05-30 Microsoft Corporation Permutation nuances of the integration of processes and queries as processes at queues
US20030212761A1 (en) * 2002-05-10 2003-11-13 Microsoft Corporation Process kernel
US6996571B2 (en) * 2002-06-28 2006-02-07 Microsoft Corporation XML storage solution and data interchange file format structure
US20040122830A1 (en) * 2002-12-20 2004-06-24 Sap Aktiengesellschaft System landscape definition using system objects hierarchy
EP1462949A1 (en) * 2003-03-22 2004-09-29 Cegumark AB A system and method relating to access of information
CA2429910A1 (en) * 2003-05-27 2004-11-27 Cognos Incorporated System and method of query transformation
US7383255B2 (en) * 2003-06-23 2008-06-03 Microsoft Corporation Common query runtime system and application programming interface
US7363581B2 (en) * 2003-08-12 2008-04-22 Accenture Global Services Gmbh Presentation generator
US20050125486A1 (en) * 2003-11-20 2005-06-09 Microsoft Corporation Decentralized operating system
US20050172217A1 (en) * 2004-02-04 2005-08-04 Yiu-Ming Leung System and method for schemaless data mapping with nested tables
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
CN100440218C (zh) * 2004-06-16 2008-12-03 甲骨文国际公司 Lob中存储的xml内容的有效提取
US7315872B2 (en) 2004-08-31 2008-01-01 International Business Machines Corporation Dynamic and selective data source binding through a metawrapper
US7529733B2 (en) * 2004-11-10 2009-05-05 International Business Machines Corporation Query builder using context sensitive grids
US8458467B2 (en) * 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US8412714B2 (en) * 2004-11-22 2013-04-02 At&T Intellectual Property Ii, L.P. Adaptive processing of top-k queries in nested-structure arbitrary markup language such as XML
EP1890243A3 (en) 2004-11-22 2008-03-19 AT&T Corp. Adaptive processing of top-k queries in nested structure arbitrary markup language such as XML
US7664879B2 (en) 2004-11-23 2010-02-16 Cisco Technology, Inc. Caching content and state data at a network element
US7987272B2 (en) * 2004-12-06 2011-07-26 Cisco Technology, Inc. Performing message payload processing functions in a network element on behalf of an application
US8082304B2 (en) 2004-12-10 2011-12-20 Cisco Technology, Inc. Guaranteed delivery of application layer messages by a network element
US7885817B2 (en) * 2005-03-08 2011-02-08 Microsoft Corporation Easy generation and automatic training of spoken dialog systems using text-to-speech
US7707131B2 (en) * 2005-03-08 2010-04-27 Microsoft Corporation Thompson strategy based online reinforcement learning system for action selection
CN100420203C (zh) * 2006-01-11 2008-09-17 华为技术有限公司 在性能管理网络中添加设备信息的方法
US7752223B2 (en) * 2006-08-07 2010-07-06 International Business Machines Corporation Methods and apparatus for views of input specialized references
US20080294604A1 (en) * 2007-05-25 2008-11-27 International Business Machines Xquery join predicate selectivity estimation
EP1995667A1 (en) * 2007-05-25 2008-11-26 Software Ag Method and system for processing a non-XML document for storage in a XML database
CN101197827B (zh) * 2007-12-14 2010-12-08 华为技术有限公司 一种文档管理方法、系统以及相关设备
JP5429165B2 (ja) * 2008-06-18 2014-02-26 日本電気株式会社 検索式生成システム、検索式生成方法、検索式生成用プログラム、及び記録媒体
US8589436B2 (en) 2008-08-29 2013-11-19 Oracle International Corporation Techniques for performing regular expression-based pattern matching in data streams
US8935293B2 (en) 2009-03-02 2015-01-13 Oracle International Corporation Framework for dynamically generating tuple and page classes
US8321450B2 (en) 2009-07-21 2012-11-27 Oracle International Corporation Standardized database connectivity support for an event processing server in an embedded context
US8387076B2 (en) 2009-07-21 2013-02-26 Oracle International Corporation Standardized database connectivity support for an event processing server
US8386466B2 (en) 2009-08-03 2013-02-26 Oracle International Corporation Log visualization tool for a data stream processing server
US8527458B2 (en) 2009-08-03 2013-09-03 Oracle International Corporation Logging framework for a data stream processing server
US9305057B2 (en) 2009-12-28 2016-04-05 Oracle International Corporation Extensible indexing framework using data cartridges
US9430494B2 (en) 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
US8959106B2 (en) 2009-12-28 2015-02-17 Oracle International Corporation Class loading using java data cartridges
US8713049B2 (en) * 2010-09-17 2014-04-29 Oracle International Corporation Support for a parameterized query/view in complex event processing
CN103189866B (zh) * 2010-09-17 2017-01-18 甲骨文国际公司 复杂事件处理中对于参数化的查询/视图的支持
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US8990416B2 (en) 2011-05-06 2015-03-24 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
CN102520899B (zh) * 2011-12-07 2014-08-06 中国航空无线电电子研究所 通用座舱显示管理系统
US10915575B2 (en) * 2012-09-28 2021-02-09 Oracle International Corporation Evaluating XML full text search
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US9262479B2 (en) 2012-09-28 2016-02-16 Oracle International Corporation Join operations for continuous queries over archived views
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US9098587B2 (en) 2013-01-15 2015-08-04 Oracle International Corporation Variable duration non-event pattern matching
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US9047249B2 (en) 2013-02-19 2015-06-02 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9418113B2 (en) 2013-05-30 2016-08-16 Oracle International Corporation Value based windows on relations in continuous data streams
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
US10380253B2 (en) 2014-03-04 2019-08-13 International Business Machines Corporation Natural language processing with dynamic pipelines
US9244978B2 (en) 2014-06-11 2016-01-26 Oracle International Corporation Custom partitioning of a data stream
US9712645B2 (en) 2014-06-26 2017-07-18 Oracle International Corporation Embedded event processing
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
WO2017018901A1 (en) 2015-07-24 2017-02-02 Oracle International Corporation Visually exploring and analyzing event streams
US11790263B2 (en) 2019-02-25 2023-10-17 International Business Machines Corporation Program synthesis using annotations based on enumeration patterns

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970490A (en) * 1996-11-05 1999-10-19 Xerox Corporation Integration platform for heterogeneous databases
US6584459B1 (en) * 1998-10-08 2003-06-24 International Business Machines Corporation Database extender for storing, querying, and retrieving structured documents
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
AU3451800A (en) * 1999-03-26 2000-10-16 Targetmatch Ltd. Multi-lingual on-line object matching
US6523062B1 (en) * 1999-06-29 2003-02-18 International Business Machines Corporation Facilitating memory constrained client devices by employing deck reduction techniques

Also Published As

Publication number Publication date
AU2001290154A1 (en) 2002-04-22
US6766330B1 (en) 2004-07-20
CN100419744C (zh) 2008-09-17
WO2002031690A2 (en) 2002-04-18
WO2002031690A3 (en) 2003-10-16
EP1370978A2 (en) 2003-12-17
CN1478235A (zh) 2004-02-25

Similar Documents

Publication Publication Date Title
KR20030048423A (ko) Xml 퀴어리 처리 방법 및 장치
US7305614B2 (en) Interoperable retrieval and deposit using annotated schema to interface between industrial document specification languages
US9152735B2 (en) Method and apparatus for composing XSL transformations with XML publishing views
US8886686B2 (en) Making and using abstract XML representations of data dictionary metadata
US6799184B2 (en) Relational database system providing XML query support
EP1686495B1 (en) Mapping web services to ontologies
US7210096B2 (en) Methods and apparatus for constructing semantic models for document authoring
US7120869B2 (en) Enhanced mechanism for automatically generating a transformation document
US7370028B2 (en) Method of and system for providing namespace based object to XML mapping
US20050278358A1 (en) Method of and system for providing positional based object to XML mapping
US20050060317A1 (en) Method and system for the specification of interface definitions and business rules and automatic generation of message validation and transformation software
US20070219959A1 (en) Computer product, database integration reference method, and database integration reference apparatus
EP2211277A1 (en) Method and apparatus for generating an integrated view of multiple databases
US7120864B2 (en) Eliminating superfluous namespace declarations and undeclaring default namespaces in XML serialization processing
US20070005657A1 (en) Methods and apparatus for processing XML updates as queries
JP2006092529A (ja) Xml入力文書を検証するxmlスキーマを自動的に生成するシステムおよび方法
Halpin UML data models from an ORM perspective: Part 1
US7124137B2 (en) Method, system, and program for optimizing processing of nested functions
US8196033B2 (en) Converting between data sources and XML
US7447697B2 (en) Method of and system for providing path based object to XML mapping
US20090307187A1 (en) Tree automata based methods for obtaining answers to queries of semi-structured data stored in a database environment
Fong et al. An interpreter approach for exporting relational data into XML documents with structured export markup language
Pal et al. XML support in Microsoft SQL Server 2005
Lee Metadata representation and management for context mediation
US20050055629A1 (en) Method and mechanism for efficient access to nodes in XML data

Legal Events

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