KR100555982B1 - Information retrieval system for XML documents, its implementation methods, and the storage media containing program sources and the methods thereof - Google Patents
Information retrieval system for XML documents, its implementation methods, and the storage media containing program sources and the methods thereof Download PDFInfo
- Publication number
- KR100555982B1 KR100555982B1 KR1020040054131A KR20040054131A KR100555982B1 KR 100555982 B1 KR100555982 B1 KR 100555982B1 KR 1020040054131 A KR1020040054131 A KR 1020040054131A KR 20040054131 A KR20040054131 A KR 20040054131A KR 100555982 B1 KR100555982 B1 KR 100555982B1
- Authority
- KR
- South Korea
- Prior art keywords
- xml
- document
- node
- nodes
- change
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (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)
Abstract
본 발명은 확장 마크업 언어로 작성된 XML 문서의 계층적 구조를 손상시키지 않고 유지시키면서 단층적인 구조를 지니는 단편화된 XML 문서로 변환시켜주는 XML 문서를 위한 정보검색 시스템 및 그 방법과 그 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것을 목적으로 한다.The present invention provides an information retrieval system for an XML document, and a method and method for converting the document into a fragmented XML document having a hierarchical structure while maintaining the hierarchical structure of the XML document written in the extended markup language. An object of the present invention is to provide a computer-readable recording medium having recorded thereon a program.
상기 목적을 달성하기 위하여 본 발명은 본 발명은 확장 마크업 언어(XML)로 작성된 XML 원본문서를 위한 정보검색 방법에 있어서,(A) 상하구조로 형성된 복수의 계층들을 지니며 각각의 계층을 구성하는 복수의 노드들은 트리구조를 갖는 XML 원본문서가 복수의 변경노드들이 단층적인 트리구조를 형성하여 이루어진 XML 변경문서로 변환되는 단계, (B) 상기 (A) 단계에 의해 변환된 XML 변경문서가 저장되는 단계, (C) 상기 (B) 단계에 저장된 XML 변경문서에 기재된 정보 중에서 원하는 정보가 기재된 상기 변경노드가 검색되는 단계 및 (D) 상기 (C) 단계에 의하여 검색된 상기 변경노드가 상기 XML 원본문서가 지니는 계층적인 트리구조에 대응되어 출력되는 단계를 포함하여 구성된 것을 일 특징으로 한다.In order to achieve the above object, the present invention provides an information retrieval method for an XML original document written in an extended markup language (XML), (A) having a plurality of layers formed in a vertical structure and constitutes each layer The plurality of nodes are converted into an XML original document having a tree structure, the XML original document having a plurality of change nodes forming a flat tree structure, (B) the XML modified document converted by the step (A) (C) retrieving the change node having desired information from among the information described in the XML change document stored in the (B) step; and (D) the change node retrieved by the step (C). Characterized in that it comprises the step of outputting corresponding to the hierarchical tree structure of the original document.
상기와 같은 구성에 의해 본 발명은 XML 문서의 구조적 정보를 상실하지 않고 원문의 구조 정보를 유지하면서 XML 문서를 관리할 수 있도록 하며, 효과적인 질의처리를 돕고 빠른 구조검색이 가능토록 하고, 그 검색결과를 사용자에게 입체적 검색결과로 제공하는 효과를 지닌다.By the above configuration, the present invention enables to manage the XML document while maintaining the structural information of the original document without losing the structural information of the XML document, to help efficient query processing and to enable quick structure search, the search results Has the effect of providing the user with a three-dimensional search results.
XML 원본문서, XML 변경문서, 계층, 단층, 트리구조, DTD, 단편화 알고리즘XML source document, XML change document, hierarchy, fault, tree structure, DTD, fragmentation algorithm
Description
도 1은 본 발명의 일 실시예에 따른 XML 문서를 위한 정보검색 시스템의 전체 구성도이다.1 is an overall configuration diagram of an information retrieval system for an XML document according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 XML 문서를 위한 정보검색 방법의 세부 흐름도이다.2 is a detailed flowchart of an information retrieval method for an XML document according to an embodiment of the present invention.
도 3은 도 2의 XML 원본문서를 XML 변경문서로 변환하는 단계의 세부 흐름도이다.3 is a detailed flowchart of a step of converting an XML original document of FIG. 2 into an XML modified document.
도 4는 도 2의 XML 변경문서를 저장하는 단계의 세부 흐름도이다.4 is a detailed flowchart of a step of storing the XML change document of FIG. 2.
도 5는 도 2의 검색된 상기 변경노드를 출력하는 단계의 세부 흐름도이다.FIG. 5 is a detailed flowchart of outputting the found change node of FIG. 2.
도 6은 도 5의 경로 형성 과정을 트리구조로 나타낸 도면이다.FIG. 6 is a diagram illustrating a path forming process of FIG. 5 in a tree structure.
<도면의 주요 부호에 대한 부호의 설명><Explanation of symbols for major symbols in the drawings>
10 : XML 원본문서 20 : 문서변환기10: XML original document 20: Document Converter
30 : XML 변경문서 40 : 문서저장기30: XML change document 40: Document Saver
50 : 정보검색기 60 : 구조적 검색결과 출력기 50: information search machine 60: structured search results output
본 발명은 확장 마크업 언어(eXtensible Markup Language : XML )로 엔코딩된 정보의 저장 및 검색에 관한 것으로, 보다 상세하게는 XML 원본문서의 효율적인 저장 및 검색을 위해 XML 원본문서를 단층적인 트리구조를 갖는 XML 변경문서로 변환하여 저장하며, 변환된 XML 변경문서에 대해 검색하는 것에 관한 것이다.The present invention relates to the storage and retrieval of information encoded in eXtensible Markup Language (XML). More specifically, the XML original document has a flat tree structure for efficient storage and retrieval of the XML original document. It is about converting and saving XML change document and searching for converted XML change document.
현대의 컴퓨팅 시스템은 다량의 데이터를 저장, 검색 및 관리할 수 있다. 그러나, 컴퓨터는 수치 데이터 취급에 있어서는 빠르고 효율적이지만 텍스트 데이터를 조작하는 데 있어서는 비효율적이며 인간이 판독 가능한 텍스트 데이터를 번역하는 데 있어서는 특히 빈약하다.Modern computing systems can store, retrieve, and manage large amounts of data. However, computers are fast and efficient in handling numerical data, but are inefficient in manipulating text data and are particularly poor in translating human readable text data.
따라서, 식별되지 않은 텍스트 문서의 단어들과 같은 소정의 텍스트 열 또는 부분을 검출할 수는 있어도, 단어들이 특정한 의미를 갖는 곳에 정보의 특정한 부분을 위치시키기란 쉽지 않다. 예컨대, 인간은 문장 'The attorney will read the text of Mark's will.'에서 단어 'will'을 식별하는 데에 어려움이 없지만, 컴퓨터는 일반적으로 그렇지 않다.Thus, although it is possible to detect certain text strings or parts, such as words in an unidentified text document, it is not easy to locate a particular piece of information where the words have a particular meaning. For example, humans have no difficulty identifying the word 'will' in the sentence 'The attorney will read the text of Mark's will.', But computers generally do not.
그에 따라, 컴퓨터가 적절한 도큐먼트 코딩에 의해 텍스트 문서를 번역하는 것을 돕기 위한 기법이 개발되었다. 이러한 여러 기법들은 컴퓨터가 신뢰할 수 있게 정보를 인식할 수 있도록 하는 방식으로 상이한 문서의 부분들을 식별하는 문서정보, 소위 '마크업 태그(markup tags)'를 추가함으로써 텍스트 문서의 선택된 부 분들을 식별한다.Accordingly, techniques have been developed to help computers translate text documents by proper document coding. These techniques identify selected parts of a text document by adding document information, so-called 'markup tags', that identify parts of different documents in a way that allows the computer to reliably recognize the information. .
이러한 언어들 중 하나는 소위 SGML(일반화된 표준 마크업 언어: Standard Generalized Markup Language)이며 정보 표현을 위해 국제적으로 승인되어 있다. 이러한 언어 표준은 1970년 초에 수행되었던 일반적 코딩 및 마크업 언어의 개발작업에서 이루어지게 되었다. 다양한 연구라인들이 국제 표준 기구의 소위원회, 소위 텍스트 기술 및 처리 언어에 대한 소위원회로 병합되었다. 이러한 소위원회는 1986년에 SGML 표준을 제정하였다.One of these languages is the so-called Standard Generalized Markup Language (SGML) and is internationally approved for the presentation of information. This language standard was made in the development of a general coding and markup language that was carried out in the early 1970s. Various research lines were merged into subcommittees of the International Standards Organization, the so-called text description and processing language. This subcommittee enacted the SGML Standard in 1986.
SGML 그 자체는 마크업 태그를 정의하지도 문서의 특정한 형태에 대한 마크업 탬플릿(template)를 제공하지도 않는다는 면에서 마크업 언어가 아니다. 대신에, SGML 은 일반화된 디스크립션 마크업 기법들을 기술하고 개발하는 방법을 나타내고 있다. 이러한 기법들은 마크업이 특정한 어플리케이션을 지향하지 않기 때문에 범용적이며, 어떻게 표시되어야 하는지 대신에 텍스트가 나타내는 것을 마크업이 기술하기 때문에 기술적이다. SGML은 사용자가 도큐먼트들을 위한 그 자신의 포맷들을 정의하고, 크고 복잡한 도큐먼트들을 취급하며 대규모 정보 저장소를 관리하도록 한다는 면에서 매우 유연하다.SGML itself is not a markup language in that it neither defines markup tags nor provides markup templates for certain types of documents. Instead, SGML shows how to describe and develop generalized description markup techniques. These techniques are generic because markup is not directed to a particular application and is technical because markup describes what the text represents instead of how it should be displayed. SGML is very flexible in that it allows users to define their own formats for documents, handle large and complex documents, and manage large information repositories.
최근에, SGML은 웹 기반 어플리케이션을 위해 요구되지 않는 많은 선택적인 특징들을 포함하며 웹 브라우저의 현재의 벤더들에 매력적이지 않은 비용/이익 비율을 갖고 있음이 입증되었다. 따라서, SGML은 일반적으로 사용되지 않고 있으며 대신에 웹 상의 대부분의 문서들은 마크업 언어, 소위 하이퍼 텍스트 마크업 언어 또는 HTML로 저장 및 전송된다.Recently, SGML has proven to have many optional features that are not required for web-based applications and have a cost / benefit ratio that is not attractive to current vendors of web browsers. Thus, SGML is not commonly used and instead most documents on the web are stored and transmitted in markup language, so-called hypertext markup language or HTML.
HTML은 SGML기반의 간단한 마크업 언어이며 하이퍼텍스트, 멀티미디어 및 웹 상에서 공통적으로 전송되는 작고 상당히 간단한 문서들의 표시에 적합하다. 이는 작고 고정된 세트의 마크업 태그들을 사용하여 문서의 각 부분을 기술한다. 소수의 고정된 태그들은 문서의 구성을 간소화하며 어플리케이션 구축을 훨씬 용이하게 한다. HTML is a simple markup language based on SGML and is suitable for displaying small and fairly simple documents that are commonly transmitted over hypertext, multimedia, and the Web. It describes each part of the document using a small, fixed set of markup tags. A few fixed tags simplify the organization of the document and make the application much easier to build.
그러나, 태그들이 고정되어 있으므로 HTML은 확장 가능하지 않으며 매우 제한된 구조 및 유효 능력을 가지고 있다. 전자 웹 문서들이 보다 커지고 복잡해짐에 따라 HTML은 대규모의 상업적인 간행을 위해 요구되는 능력을 가지고 있지 않음이 점차 명백해지게 되었다.However, because the tags are fixed, HTML is not extensible and has very limited structure and validity. As electronic web documents become larger and more complex, it becomes increasingly clear that HTML does not have the capabilities required for large commercial publications.
이러한 대규모의 상업적인 간행 요구에 부응하고 배포된 문서 처리의 새로운 기술을 가능하게 하기 위해, 산업 단체 소위 월드 와이드 웹 컨소시엄은 HTML에 의해 제공되는 것 이상의 능력을 필요로 하는 어플리케이션들을 위한 다른 마크업 언어, 소위 확장 마크업 언어(XML)을 개발하였다. In order to meet these large commercial publishing needs and enable new technologies for distributed document processing, industry so-called World Wide Web Consortiums have created other markup languages for applications that require more capabilities than those provided by HTML, The so-called extended markup language (XML) has been developed.
HTML과 같이 XML(eXtensible Markup Language)은 웹 어플리케이션들을 위해 특별히 설계된 SGML의 간소화된 서브셋이며 전체 SGML보다 습득, 사용 및 구현이 용이하다. HTML과 달리 XML은 확장성, 구조 및 유효성인 SGML의 장점들을 유지하였지만 XML은 문서의 일정한 컴포넌트들에 대한 억세스가 인터넷을 통해 현재 가능하지 않을 때 디폴트가 유효한 것을 보장하도록 SGML구성의 사용을 제한한다. Like HTML, eXtensible Markup Language (XML) is a simplified subset of SGML designed specifically for Web applications and is easier to learn, use, and implement than full SGML. Unlike HTML, XML retains the advantages of SGML, which is extensibility, structure, and validity, but XML restricts the use of SGML constructs to ensure that defaults are valid when access to certain components of a document is not currently available over the Internet. .
또한, XML은 인터넷 유니폼 리소스 로케이터(Uniform Resource Locators)가 어떻게 XML 문서들의 컴포넌트 부분들을 식별하는 데 사용될 수 있는지를 정의하고 있다. In addition, XML defines how Internet Uniform Resource Locators can be used to identify component parts of XML documents.
XML 문서는 일련의 실체(entities) 또는 객체(object)로 구성된다. 각각의 실체는 하나 이상의 논리적인 엘리먼트를 포함할 수 있으며 각각의 엘리먼트는 그것이 처리되는 방식을 기술한 임의의 속성 또는 특성을 가질 수 있다. XML은 XML 문서를 구성하는 실체들, 엘리먼트들 및 속성들 사이의 관계를 기술하기 위해 형식적인 구문(syntax)을 제공한다. 이러한 구문은 컴퓨터에게 각각의 문서의 컴포넌트 부분들을 어떻게 인식할지를 제공한다.An XML document consists of a series of entities or objects. Each entity may include one or more logical elements and each element may have any attribute or characteristic that describes how it is handled. XML provides a formal syntax to describe the relationships between the entities, elements, and attributes that make up an XML document. This syntax gives the computer how to recognize the component parts of each document.
XML은 문서 컴포넌트들을 식별하는 쌍으로 된 마크업 태그들을 사용한다. 특히, 각각의 논리적인 엘리먼트의 시작 및 말단이 엘리먼트 이전의 시작 태그 및 엘리먼트 후의 말단 태그의 입력에 의해 명확히 식별된다. 예컨대, 태그 <to> 및 </to>는 다음의 방식으로 문서의 'recipient' 엘리먼트를 식별하는 데 사용될 수 있다.XML uses paired markup tags to identify document components. In particular, the beginning and end of each logical element is clearly identified by the input of the start tag before the element and the end tag after the element. For example, tags <to> and </ to> can be used to identify the 'recipient' element of a document in the following manner.
document text.......<to>Recipient</to>.....document textdocument text ....... <to> Recipient </ to> ..... document text
마크업 태그들의 형태 및 구성은 사용자에 의해 정의될 수 있지만, 종종 사용자들 간의 상호 이용성을 제공하기 위해 무역 협회 또는 유사 단체에 의해 정의된다. 소정의 세트의 태그들로 동작하기 위해, 사용자들은 마크업 태그들이 통상적인 텍스트 및 다양한 엘리먼트들 간의 관계로부터 어떻게 범위가 결정되는지를 알 필요가 있다. 예컨대, XML 시스템에서, 엘리먼트들 및 그 속성들은 꺽쇠 괄호(<...>)의 일치된 쌍들 사이에 입력되며 실체 레퍼런스들은 앰퍼샌드로 시작하여 세미콜론(amp;...;)으로 끝난다. XML 태그 세트들은 문서의 논리적인 구조에 기 반하기 때문에 이들을 판독하고 이해하기란 어렵지 않다. XML 태그 세트들은 상이한 부분들 또는 컴포넌트들을 가지므로 모든 문서들의 모든 엘리먼트들에 대해 소정의 태그들이 실용적이지는 않다. 대신에, 문서들은 일정한 엘리먼트들을 갖는 '타입(types)'으로 분류될 수 있다. The form and configuration of markup tags can be defined by the user, but is often defined by a trade association or similar entity to provide for interoperability between users. To operate with a certain set of tags, users need to know how markup tags are scoped from the normal text and the relationship between the various elements. For example, in an XML system, elements and their attributes are entered between matched pairs of angle brackets (<...>) and entity references begin with an ampersand and end with a semicolon (amp; ...;). Because XML tag sets are based on the logical structure of a document, it is not difficult to read and understand them. Since XML tag sets have different parts or components, certain tags are not practical for all elements of all documents. Instead, documents can be classified as 'types' with certain elements.
도큐먼트 타입 정의(Document Type Definition; DTD)는 어느 엘리먼트가 도큐먼트 타입으로 예상되는지를 나타내며 문서에서 발견된 각각의 엘리먼트가 허용되는지, 허용되고 요구되는지, 또는 허용되지만 요구되지 않는지를 나타낸다. 결국, DTD내의 각각의 문서 엘리먼트의 역할을 정의함으로써 각각의 엘리먼트가 문서 내의 유효 위치에서 발생하는지를 검사하는 것이 가능하다. 예를 들어, XML DTD는 제 2레벨 표제(heading)의 존재 없이 제 3 레벨 표제가 입력되지 않도록 검사가 이루어지게 한다. 이러한 계층적인 검사가 HTML로는 이루어질 수 없다. 문서에 대한 DTD는 전형적으로 문서 해더(header)에 삽입되며 각각의 엘리먼트는 <!ELEMENT>와 같은 식별자로 마킹된다.The Document Type Definition (DTD) indicates which element is expected to be a document type and indicates whether each element found in the document is allowed, allowed and required, or allowed but not required. Finally, by defining the role of each document element in the DTD, it is possible to check whether each element occurs at a valid location in the document. For example, the XML DTD allows a check to be made so that third level headings are not entered without the presence of second level headings. This hierarchical check cannot be done in HTML. The DTD for a document is typically inserted into the document header and each element is marked with an identifier such as <! ELEMENT>.
만일, DTD가 문서에 대해 이용 가능하지 않다면 DTD의 전부 또는 일부가 인터넷을 통해 억세스 가능하지 않거나 문서 저자가 DTD를 생성하는 데 실패했기 때문이므로 XML 시스템이 문서 내에서 선언되지 않은 엘리먼트들에 대해 디폴트(default) 정의를 할당할 수 있다.If the DTD is not available for the document, then the XML system defaults to elements that are not declared in the document because all or part of the DTD is not accessible over the Internet or the document author failed to generate the DTD. (default) Can assign a definition.
XML은 서신, 보고서, 메모, 데이터베이스 또는 사전과 같은 임의의 논리적인 텍스트 구조를 기술하기에 충분히 유연한 코딩 기법을 제공한다.XML provides coding techniques that are flexible enough to describe any logical text structure such as letters, reports, notes, databases, or dictionaries.
그러나, XML로 작성된 XML 문서의 저장, 저장된 XML 문서의 내용에 대한 검 색 및 검색결과의 출력에 있어 비효율적인 면이 존재하는 바 이하 서술한다.However, there are some inefficiencies in storing XML documents written in XML, searching the contents of stored XML documents, and outputting search results.
XML 문서는 일반적으로 계층적인 트리구조를 지니며 결국, XML 문서에 대한 정보검색에는 일반적으로 XML 문서에 수록된 내용에 기초한 검색과 XML 문서가 지니는 계층적 구조에 대한 검색이 존재한다. XML documents generally have a hierarchical tree structure. Consequently, information retrieval for an XML document generally includes a search based on the contents of the XML document and a hierarchical structure of the XML document.
XQuery와 같은 구조 검색을 지원하는 질의 언어들은 문서의 논리적인 구조를 검색할 수는 있으나, 검색 결과에 대한 가중치를 고려하지 않으며, 내용 기반 검색방법은 검색 결과 가중치를 적용한 랭킹 검색을 지원하나 문서 구조에 대한 질의를 처리하기 어려운 단점을 지닌다.Query languages that support structure search such as XQuery can search the logical structure of the document, but do not consider the weight of the search results, and the content-based search method supports the ranking search applying the search result weight. It has a disadvantage that it is difficult to process a query for.
XML 질의는 일반적으로 XML 문서에 수록된 데이터의 계층적인 트리구조에 근간을 둔다. 이러한 계층적인 트리구조를 검색하기 위해 XPath와 같은 질의 언어를 사용하는데, 이를 사용하기 위해서는 사용자가 XML 데이터의 계층적 트리구조를 정확히 파악하고 있어야 하는 불편함이 존재한다. 또한, XPath로 표현된 XML 질의를 RDBMS에서 처리하기 위해서는 개체와 개체 사이의 계층적인 구조를 검색하기 위한 빠른 연결 알고리즘이 요구되는 불편함이 존재한다.XML queries are generally based on a hierarchical tree structure of data contained in XML documents. In order to search such hierarchical tree structure, a query language such as XPath is used. In order to use the hierarchical tree structure, the user has to know exactly the hierarchical tree structure of XML data. In addition, in order to process an XML query expressed in XPath in an RDBMS, there is an inconvenience in that a fast connection algorithm for searching a hierarchical structure between objects is required.
본 발명은 상기의 문제점을 해결하기 위해 창안된 것으로서, 확장 마크업 언어로 작성된 XML 문서의 계층적 구조를 손상시키지 않고 유지시키면서 단층적인 구조를 지니는 단편화된 XML 문서로 변환시켜주는 XML 문서를 위한 정보검색 시스템 및 그 방법과 그 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것을 목적으로 한다. The present invention has been devised to solve the above problems, and provides information for an XML document that is converted into a fragmented XML document having a flat structure while maintaining the hierarchical structure of the XML document written in the extended markup language. An object of the present invention is to provide a computer-readable recording medium having recorded thereon a retrieval system, a method thereof, and a program for executing the method.
또한, 본 발명은 XML 문서의 구조적 특징을 반영하면서 효과적인 질의처리를 도우며 빠른 구조검색이 가능토록 XML 문서를 저장하는 XML 문서를 위한 정보검색 시스템 및 그 방법과 그 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것을 또 다른 목적으로 한다.The present invention also provides an information retrieval system for an XML document storing an XML document, a method for executing the method, and a computer for executing the method. It is another object of the present invention to provide a recording medium which can be read.
더불어, 본 발명은 단편화된 XML 문서들에 기재된 내용에 대한 검색결과 검색된 XML 문서들을 단편화되기 전의 XML 문서가 지니는 트리구조에 대응시켜 출력하는 XML 문서를 위한 정보검색 시스템 및 그 방법과 그 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것을 또 다른 목적으로 한다.In addition, the present invention executes an information retrieval system and method and method thereof for an XML document that outputs the searched XML documents for the contents described in the fragmented XML documents corresponding to the tree structure of the XML document before fragmentation It is a further object to provide a computer readable recording medium having recorded thereon a program for the purpose of recording.
상기 목적을 달성하기 위하여 본 발명은, 확장 마크업 언어(XML)로 작성되며 XML 원본문서를 위한 정보검색 시스템에 있어서 상하구조로 형성된 복수의 계층들을 지니며 각각의 계층을 구성하는 복수의 노드들은 트리구조를 갖는 XML 원본문서를 단층적인 트리구조를 갖는 XML 변경문서로 변환하는 문서변환기, 상기 문서 변환기에 의해 변환된 XML 변경문서를 저장하는 문서 저장기, 상기 문서 저장기에 저장된 XML 변경문서에 기재된 정보 중에서 원하는 정보를 검색하는 정보 검색기 및 상기 정보 검색기에 의하여 검색된 결과를 상기 XML 원본문서가 지니는 계층적인 트리구조에 대응시켜 출력하는 구조적 검색결과 출력기를 포함하여 구성된 것을 일 특징으로 한다.In order to achieve the above object, the present invention, in the information retrieval system for XML original document and has a plurality of hierarchical layers formed in the top and bottom structure in the information retrieval system for XML source documents A document converter for converting an XML original document having a tree structure into an XML change document having a flat tree structure, a document store for storing the XML change document converted by the document converter, and an XML change document stored in the document store. And an information searcher for searching for desired information among the information, and a structured search result outputter for outputting the result retrieved by the information searcher in correspondence with a hierarchical tree structure of the XML original document.
본 발명의 상기 문서변환기는 상기 XML 원본문서가 구비하는 상기 노드들 중 상기 트리구조에서 동일한 위상에 위치하는 노드들을 하나의 노드군으로 지정하는 룰 정보기를 포함하여 구성된 것을 일 특징으로 한다.The document converter of the present invention is characterized in that it comprises a rule information device for designating a node group of nodes located in the same topology in the tree structure of the nodes included in the XML source document.
본 발명의 상기 룰 정보기는 상기 노드군 중 각각이 트리구조에서 서로 다른 단계에 위치되도록 선택되는 각각에 대해 레벨을 지정하는 레벨 지정기를 더 구비하는 것을 일 특징으로 한다.The rule information of the present invention is characterized in that it further comprises a level designator for specifying a level for each of the node group selected to be located at different stages in the tree structure.
본 발명의 상기 문서변환기는 상기 XML 원본문서에 구비된 하나 이상의 최상위의 노드에 대해 시작하여 하나 이상의 최하위의 노드에 대해 마치는 탑 다운(Top down)방식의 검사를 통해 상기 XML 원본문서에 구비된 모든 노드들의 각각이 상기 레벨에 속하는 엘리먼트 노드인지를 검사하는 탐색기, 탑 다운 방식의 탐색으로 상기 노드 중 상기 레벨에 속하는 엘리먼트 노드로 최초로 탐색된 최초해당 노드를 검색하는 검색기, 상기 최초해당 노드의 하나 이상의 하위 노드 중 상기 레벨에 속하는 엘리먼트 노드가 존재하는 경우 상기 최초해당 노드를 포함한 모든 하위 노드 중 상기 레벨에 속하는 엘리먼트 노드와 부모, 자식, 형제간의 구조 정보를 추출하는 제 1 추출기, 상기 최초해당 노드의 하나 이상의 하위 노드 중 상기 레벨에 속하는 엘리먼트 노드가 부존재하는 경우 상기 최초해당 노드와 부모, 형제간의 구조 정보를 추출하는 제 2 추출기 및 상기 XML 원본문서의 모든 노드들에 대해 상기 탐색기에 의한 검사가 종료한 후 상기 XML 원본문서의 모든 노드들의 트리구조를 유지하며 상기 모든 노드들 중 하나 이상의 상기 레벨에 속하는 엘리먼트 노드를 트리구조로 정렬하는 정렬기를 포함하여 구성된 것을 일 특징으로 한다.The document converter of the present invention includes all of the XML source document through a top-down inspection starting with one or more top-level nodes included in the XML original document and ending with one or more bottom-most nodes. A searcher for checking whether each of the nodes is an element node belonging to the level, a searcher for searching for the first corresponding node first searched for an element node belonging to the level among the nodes by a top-down search, and one or more of the first corresponding node A first extractor for extracting structural information between an element node belonging to the level, a parent, a child, and a sibling among all subordinate nodes including the first relevant node when there is an element node belonging to the level among the lower nodes; An element node belonging to this level among one or more subnodes If present, a second extractor which extracts structure information between the first corresponding node, parent and sibling, and a tree structure of all nodes of the XML original document after the inspection by the searcher is finished for all nodes of the XML original document. It is characterized in that it comprises a sorter for arranging the element nodes belonging to at least one of the levels of all the nodes in a tree structure.
본 발명의 상기 문서 저장기는 상기 XML 원본문서의 전체 또는 일부의 엘리 먼트 노드의 내용으로 구성되며 상기 레벨의 각각에 대응되는 인덱스를 저장하는 색인 인덱스를 더 포함하여 구성된 것을 일 특징으로 한다.The document storage device of the present invention is characterized in that it is configured by the content of all or part of the element node of the XML original document, and further comprises an index index for storing the index corresponding to each of the levels.
본 발명의 상기 정보 검색기는 키워드 방식의 검색을 지원하는 것을 일 특징으로 한다.The information searcher of the present invention is characterized in that it supports keyword type search.
본 발명은 확장 마크업 언어(XML)로 작성된 XML 원본문서를 위한 정보검색 방법에 있어서,(A) 상하구조로 형성된 복수의 계층들을 지니며 각각의 계층을 구성하는 복수의 노드들은 트리구조를 갖는 XML 원본문서가 복수의 변경노드들이 단층적인 트리구조를 형성하여 이루어진 XML 변경문서로 변환되는 단계, (B) 상기 (A) 단계에 의해 변환된 XML 변경문서가 저장되는 단계, (C) 상기 (B) 단계에 저장된 XML 변경문서에 기재된 정보 중에서 원하는 정보가 기재된 상기 변경노드가 검색되는 단계 및 (D) 상기 (C) 단계에 의하여 검색된 상기 변경노드가 상기 XML 원본문서가 지니는 계층적인 트리구조에 대응되어 출력되는 단계를 포함하여 구성된 것을 일 특징으로 한다.The present invention relates to an information retrieval method for an XML original document written in an extended markup language (XML), comprising: (A) a plurality of nodes having a plurality of hierarchical layers and a plurality of nodes constituting each hierarchical tree; Converting the XML original document into an XML modified document in which a plurality of change nodes form a single tree structure, (B) storing the XML modified document converted by the step (A), (C) the ( Searching for the change node having desired information among the information described in the XML change document stored in step B), and (D) the change node retrieved by the step (C) in the hierarchical tree structure of the XML original document. Characterized in that configured to include the corresponding output step.
본 발명의 상기 XML 원본문서는 상기 XML 원본문서가 구비하는 상기 노드들 중 상기 트리구조에서 동일한 위상에 위치하는 노드들을 하나의 노드군으로 지정하며, 상기 노드군 중 각각이 트리구조에서 서로 다른 단계에 위치되도록 선택되는 각각에 대해 레벨을 지정하는 Rule DTD(Document Type Definition)에 의해 작성된 것을 일 특징으로 한다.The XML original document of the present invention designates nodes located in the same topology in the tree structure among the nodes included in the XML original document as one node group, each of which is different in the tree structure. Characterized in that it is created by the Rule Document Type Definition (DTD) for specifying the level for each selected to be located in.
본 발명의 상기 (A) 단계는 (a1) 상기 XML 원본문서에 구비된 하나 이상의 최상위의 노드에 대해 시작하여 하나 이상의 최하위의 노드에 대해 마치는 탑 다운(Top down)방식의 검사를 통해 상기 XML 원본문서에 구비된 모든 노드들의 각각이 상기 레벨에 속하는 엘리먼트 노드인지가 탐색되는 단7계, (a2) 탑 다운 방식의 탐색으로 상기 노드 중 상기 레벨에 속하는 엘리먼트 노드로 최초로 탐색된 최초해당 노드가 검색되는 단계, (a3) 상기 최초해당 노드의 하나 이상의 하위 노드 중 상기 레벨에 속하는 엘리먼트 노드가 존재하는 경우 상기 최초해당 노드를 포함한 모든 하위 노드 중 상기 레벨에 속하는 엘리먼트 노드와 부모, 자식, 형제간의 구조 정보가 추출되는 단계, (a4) 상기 최초해당 노드의 하나 이상의 하위 노드 중 상기 레벨에 속하는 엘리먼트 노드가 부존재하는 경우 상기 최초해당 노드와 부모, 형제간의 구조 정보가 추출되는 단계 및 (a5) 상기 XML 원본문서의 모든 노드들에 대해 상기 XML 원본문서의 모든 노드들의 트리구조가 유지되며 상기 모든 노드들 중 하나 이상의 상기 레벨에 속하는 엘리먼트 노드가 트리구조로 정렬되는 단계를 포함하여 구성된 것을 일 특징으로 한다.Step (A) of the present invention (a1) the XML source through a top-down inspection starting with the at least one top node provided in the XML source document and finishes for at least one
본 발명의 상기 (B) 단계는 상기 (A) 단계에 의하여 변환된 상기 XML 변경문서의 트리구조의 각각을 이루는 변경노드가 저장되는 단계 및 상기 저장된 XML 변경문서의 변경노드의 전체 또는 일부의 내용으로 이루어진 색인 인덱스가 저장되는 단계를 포함하여 구성된 것을 일 특징으로 한다.Step (B) of the present invention includes the steps of storing the change nodes forming each of the tree structure of the XML change document converted by step (A), and the contents of all or part of the change node of the stored XML change document. An index consisting of an index characterized in that it comprises a step of storing.
본 발명의 상기 변경노드가 저장되는 단계는 상기 변경노드와 부모, 자식, 형제간의 구조정보가 저장되는 단계 및 상기 변경노드의 내용이 저장되는 단계를 포함하여 구성된 것을 일 특징으로 한다.The storing of the change node of the present invention may include storing structure information between the change node, a parent, a child, and a sibling, and storing the contents of the change node.
본 발명의 상기 (C) 단계는 키워드 방식에 의해 검색되는 것을 일 특징으로 한다.Step (C) of the present invention is characterized in that the search by the keyword method.
본 발명의 상기 (C) 단계는 상기 XML 변경문서의 내용 중 검색하고자 하는 내용이 상기 XML 변경문서의 색인 인덱스 중 하나로 한정되고 상기 한정된 내용에 대해 검색되어 상기 변경노드가 검색되는 것을 일 특징으로 한다.In the step (C) of the present invention, the content to be searched among the contents of the XML modified document is limited to one of the index indexes of the XML changed document, and the changed node is searched by searching for the limited contents. .
본 발명의 상기 (D) 단계는 (d1) 상기 검색된 복수의 변경노드들에서 출발하여 바틈 업(Bottom up)방식으로 최상위의 변경노드에 도달할 때까지 각각의 변경노드의 가장 근접한 상위 노드가 탐색되는 단계, (d2) 상기 탐색된 상위 노드와 상기 검색된 변경노드의 결합에 의해 상기 XML 변경문서의 최상위의 변경노드로부터 상기 검색된 변경노드까지의 경로가 형성되는 단계 및 (d3) 상기 XML 변경문서에 존재하는 모든 상기 경로가 출력되는 단계를 포함하여 구성된 것을 일 특징으로 한다.In the step (D) of the present invention, the nearest upper node of each change node is searched by (d1) starting from the found plurality of change nodes until reaching the highest change node in a bottom up manner. (D2) forming a path from the highest level change node of the XML change document to the retrieved change node by combining the searched higher node and the retrieved change node; and (d3) in the XML change document. Characterized in that it comprises a step of outputting all the path present.
본 발명은 확장 마크업 언어(XML)로 작성된 XML 원본문서를 위한 정보검색 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서, (A) 상하구조로 형성된 복수의 계층들을 지니며 각각의 계층을 구성하는 복수의 노드들은 트리구조를 갖는 XML 원본문서가 복수의 변경노드들이 단층적인 트리구조를 형성하여 이루어진 XML 변경문서로 변환되는 프로세스, (B) 상기 (A) 단계에 의해 변환된 XML 변경문서가 저장되는 프로세스, (C) 상기 (B) 단계에 저장된 XML 변경문서에 기재된 정보 중에서 원하는 정보가 기재된 상기 변경노드가 검색되는 프로세스 및 (D) 상기 (C) 단계에 의하여 검색된 상기 변경노드가 상기 XML 원본문서가 지니는 계층적인 트리구조에 대응되어 출력되는 프로세스를 포함하여 구 성된 것을 일 특징으로 한다.The present invention provides a computer-readable recording medium recording a program for executing an information retrieval method for an XML original document written in an extended markup language (XML), comprising (A) a plurality of hierarchical layers. A process of converting a plurality of nodes constituting each hierarchy into an XML original document having a tree structure in which an XML original document has a plurality of change nodes forming a flat tree structure, and (B) converting by the step (A) A process of storing the modified XML change document, (C) a process of retrieving the change node in which the desired information is written among the information described in the XML change document stored in the step (B), and (D) the retrieved by the step (C). The change node is configured to include a process that is output corresponding to the hierarchical tree structure of the XML original document.
본 발명의 상기 XML 원본문서는 상기 XML 원본문서가 구비하는 상기 노드들 중 상기 트리구조에서 동일한 위상에 위치하는 노드들을 하나의 노드군으로 지정하며, 상기 노드군 중 각각이 트리구조에서 서로 다른 단계에 위치되도록 선택되는 각각에 대해 레벨을 지정하는 Rule DTD(Document Type Definition)에 의해 작성된 것을 일 특징으로 한다.The XML original document of the present invention designates nodes located in the same topology in the tree structure among the nodes included in the XML original document as one node group, each of which is different in the tree structure. Characterized in that it is created by the Rule Document Type Definition (DTD) for specifying the level for each selected to be located in.
본 발명의 상기 (A) 프로세스는 (a1) 상기 XML 원본문서에 구비된 하나 이상의 최상위의 노드에 대해 시작하여 하나 이상의 최하위의 노드에 대해 마치는 탑 다운(Top down)방식의 검사를 통해 상기 XML 원본문서에 구비된 모든 노드들의 각각이 상기 레벨에 속하는 엘리먼트 노드인지가 탐색되는 프로세스, (a2) 탑 다운 방식의 탐색으로 상기 노드 중 상기 레벨에 속하는 엘리먼트 노드로 최초로 탐색된 최초해당 노드가 검색되는 프로세스, (a3) 상기 최초해당 노드의 하나 이상의 하위 노드 중 상기 레벨에 속하는 엘리먼트 노드가 존재하는 경우 상기 최초해당 노드를 포함한 모든 하위 노드 중 상기 레벨에 속하는 엘리먼트 노드와 부모, 자식, 형제간의 구조 정보가 추출되는 프로세스, (a4) 상기 최초해당 노드의 하나 이상의 하위 노드 중 상기 레벨에 속하는 엘리먼트 노드가 부존재하는 경우 상기 최초해당 노드와 부모, 형제간의 구조 정보가 추출되는 프로세스 및 (a5) 상기 XML 원본문서의 모든 노드들에 대해 상기 XML 원본문서의 모든 노드들의 트리구조가 유지되며 상기 모든 노드들 중 하나 이상의 상기 레벨에 속하는 엘리먼트 노드가 트리구조로 정렬되는 프로세스를 포함하여 구성된 것을 일 특징으로 한다.The process (A) of the present invention includes (a1) the XML source through a top-down inspection starting with one or more top-level nodes included in the XML source document and ending with one or more bottom-most nodes. A process of searching whether each of all nodes included in the document is an element node belonging to the level; (a2) a process of searching for the first corresponding node first searched for an element node belonging to the level among the nodes by a top-down search; (a3) When there is an element node belonging to the level among one or more subordinate nodes of the first corresponding node, the structural information between the element node belonging to the level and the parent, child, and sibling is included among all subnodes including the first relevant node. A process to be extracted, (a4) belonging to the level among one or more subnodes of the first corresponding node (A5) A tree structure of all the nodes of the XML original document is maintained for all nodes of the XML original document when the node is absent. An element node belonging to one or more of the above levels among all nodes is configured to include a process of arranging in a tree structure.
본 발명의 상기 (B) 프로세스는 상기 (A) 프로세스에 의하여 변환된 상기 XML 변경문서의 트리구조의 각각을 이루는 변경노드가 저장되는 프로세스 및 상기 저장된 XML 변경문서의 변경노드의 전체 또는 일부의 내용으로 이루어진 색인 인덱스가 저장되는 프로세스를 포함하여 구성된 것을 일 특징으로 한다.The process (B) of the present invention is a process in which change nodes constituting each tree structure of the XML change document converted by the process (A) are stored, and contents of all or part of the change nodes of the stored XML change document. An index consisting of an index characterized in that it comprises a process that is stored.
본 발명의 상기 변경노드가 저장되는 프로세스는 상기 변경노드와 부모, 자식, 형제간의 구조정보가 저장되는 프로세스 및 상기 변경노드의 내용이 저장되는 프로세스를 포함하여 구성된 것을 일 특징으로 한다.The process of storing the change node of the present invention is characterized in that it comprises a process of storing the structure information between the change node and the parent, child, sibling and the process of storing the contents of the change node.
본 발명의 상기 (C) 프로세스는 키워드 방식에 의해 검색되는 것을 일 특징으로 한다.The process (C) of the present invention is characterized by being searched by a keyword method.
본 발명의 상기 (C) 프로세스는 상기 XML 변경문서의 내용 중 검색하고자 하는 내용이 상기 XML 변경문서의 색인 인덱스 중 하나로 한정되고 상기 한정된 내용에 대해 검색되어 상기 변경노드가 검색되는 것을 일 특징으로 한다.The process (C) of the present invention is characterized in that the content to be searched among the contents of the XML modified document is limited to one of the index indexes of the XML modified document, and the changed node is searched by searching for the limited contents. .
본 발명의 상기 (D) 프로세스는 (d1) 상기 검색된 복수의 변경노드들에서 출발하여 바틈 업(Bottom up)방식으로 최상위의 변경노드에 도달할 때까지 각각의 변경노드의 가장 근접한 상위 노드가 탐색되는 프로세스, (d2) 상기 탐색된 상위 노드와 상기 검색된 변경노드의 결합에 의해 상기 XML 변경문서의 최상위의 변경노드로부터 상기 검색된 변경노드까지의 경로가 형성되는 프로세스 및 (d3) 상기 XML 변경문서에 존재하는 모든 상기 경로가 출력되는 프로세스를 포함하여 구성된 것을 일 특징으로 한다.The process (D) of the present invention (d1) starts with the searched plurality of change nodes and searches the nearest higher node of each change node until it reaches the highest change node in a bottom up manner. (D2) a process of forming a path from the highest level change node of the XML change document to the retrieved change node by combining the retrieved higher node and the retrieved change node; and (d3) to the XML change document. It is characterized in that all the existing paths are configured including the output process.
이하, 첨부된 도 1 내지 5를 참조하여 본 발명의 바람직한 실시예를 설명하 도록 한다.Hereinafter, with reference to the accompanying Figures 1 to 5 will be described a preferred embodiment of the present invention.
도 1은 본 발명의 일 실시예에 따른 XML 문서를 위한 정보검색 시스템의 전체 구성도이다.1 is an overall configuration diagram of an information retrieval system for an XML document according to an embodiment of the present invention.
도 1을 참조하면, 계층적인 트리구조를 갖는 XML 원본문서(10)가 존재하며 상기 XML 원본문서(10)는 문서변환기(20)에 의해 XML 변경문서(30)로 변환된다. 이러한 XML 변경문서(30)는 문서저장기(40)에 XML 변경문서(30)의 구조적 특징을 반영하면서 저장되며 XML 문서에 대한 정보를 검색하고자 하는 사용자(미도시)는 정보검색기(50)를 통해 XML 변경문서(30)들 중에서 찾고자 하는 정보를 검색한다. 또한, 상기 정보검색기(50)에 의해 검색된 정보는 구조적 검색결과 출력기(60)에 의해 본래 XML 원본문서(10)가 지니는 트리구조에 따라 출력된다.Referring to FIG. 1, an XML
도 2는 본 발명의 일 실시예에 따른 XML 문서를 위한 정보검색 방법의 세부 흐름도이다. 2 is a detailed flowchart of an information retrieval method for an XML document according to an embodiment of the present invention.
도 2를 참조하면, 도 1에서 제시한 본 발명의 일 실시예에 따른 XML 문서를 위한 정보검색 시스템이 XML 문서를 위한 정보검색 방법으로 구현될 수 있음을 알 수 있다.Referring to FIG. 2, it can be seen that an information retrieval system for an XML document according to an embodiment of the present invention shown in FIG. 1 may be implemented as an information retrieval method for an XML document.
도 2를 참조하면, 본 발명의 일 실시예에 따른 XML 문서를 위한 정보검색 방법은 크게 4단계로 이루어짐을 알 수 있다.Referring to FIG. 2, it can be seen that the information retrieval method for an XML document according to an embodiment of the present invention has four steps.
첫 번째 단계는 상하구조로 형성된 복수의 계층들을 지니며 각각의 계층을 구성하는 복수의 노드들은 트리구조를 갖는 XML 원본문서가 복수의 변경노드들이 단층적인 트리구조를 형성하여 이루어진 XML 변경문서로 변환되는 단계(S10)이고, 두 번째 단계는 상기 (A) 단계에 의해 변환된 XML 변경문서가 저장되는 단계(S20)이며, 세 번째 단계는 상기 (B) 단계에 저장된 XML 변경문서에 기재된 정보 중에서 원하는 정보가 기재된 상기 변경노드가 검색되는 단계(S30)이다. 마지막으로, 네 번째 단계는 상기 (C) 단계에 의하여 검색된 상기 변경노드가 상기 XML 원본문서가 지니는 계층적인 트리구조에 대응되어 출력되는 단계(S40)이다. The first step is to have a plurality of hierarchical hierarchical layers, and the plurality of nodes constituting each hierarchical structure is transformed into an XML original document having a tree structure and transformed into an XML modified document having a plurality of change nodes forming a single tree structure. The second step is a step (S20) of storing the XML change document converted by the step (A), the third step is from the information described in the XML change document stored in the step (B) In operation S30, the change node in which desired information is described is searched. Finally, the fourth step is a step (S40) in which the change node retrieved by the step (C) is output corresponding to the hierarchical tree structure of the XML original document.
결국 도 2를 참조하면, 본 발명은 XML 문서가 지니는 계층적인 트리구조에 관한 계층 정보를 보유하면서 XML 문서를 단층적인 구조를 지니는 단편화된 XML 문서로 변환(S10)하여 그러한 단편화된 XML 문서를 저장(S20)하고 그 저장된 XML 문서에 대해 정보를 검색함으로써 본래의 XML 문서가 지니는 계층적 트리구조에 대한 정보를 정확히 모르는 사용자도 XML 문서에 수록된 정보를 보다 용이하게 검색(S30)할 수 있도록 하며, 검색된 결과는 본래의 XML 문서가 지니는 계층적 트리구조에 대응시켜 출력(S40)하는 정보검색 방법인 것이다.2, the present invention converts an XML document into a fragmented XML document having a hierarchical structure while retaining hierarchical information about the hierarchical tree structure of the XML document (S10), and stores the fragmented XML document. By retrieving the information about the stored XML document (S20) and the user who does not know the exact information about the hierarchical tree structure of the original XML document, it is easier to retrieve the information contained in the XML document (S30), The searched result is an information retrieval method for outputting (S40) corresponding to the hierarchical tree structure of the original XML document.
XML 원본문서는 상하구조로 형성된 복수의 계층들을 지니며 각각의 계층을 구성하는 복수의 노드들은 트리구조를 갖는다. 한편, XML 원본문서는 일반적으로 Rule DTD이 지정하는 문법에 맞추어 작성되며 Rule DTD는 상기한 바와 같이 XML 원본문서에 대한 논리, 물리구조를 정의하며 보다 구체적으로는 내용 모델과 더불어 XML 원본문서에서 허용되는 엘리먼트 형을 정의하고, 각 엘리먼트에 할당되어 있는 속성을 정의하며, XML 원본문서에 허용되는 실체(entities)를 정의하고 외부 실체(entities)와 함께 사용되는 표기법을 정의한다.The XML original document has a plurality of hierarchies formed in a hierarchical structure, and a plurality of nodes constituting each hierarchy has a tree structure. On the other hand, the XML source document is generally written in accordance with the grammar specified by the Rule DTD, and the Rule DTD defines the logic and physical structure of the XML source document as described above. More specifically, the XML source document is allowed in addition to the content model. Defines the element type to be defined, defines the attributes assigned to each element, defines the entities allowed in the XML source document, and defines the notation used with external entities.
본 발명에서 사용되는 Rule DTD는 다음과 같다.Rule DTD used in the present invention is as follows.
<?xml version="1.0" encoding="iso-8859-1"?><? xml version = "1.0" encoding = "iso-8859-1"?>
<!ELEMENT Rule (LevelInfo+)><! ELEMENT Rule (LevelInfo +)>
<!ELEMENT LevelInfo(TitleSection?, IndexSectionList?)><! ELEMENT LevelInfo (TitleSection ?, IndexSectionList?)>
<!ATTLIST LevelInfo<! ATTLIST LevelInfo
no CDATA #REQUIREDno CDATA #REQUIRED
path CDATA #REQUIRED >path CDATA #REQUIRED>
<!ELEMENT DisplaySection EMPTY><! ELEMENT DisplaySection EMPTY>
<!ATTLIST DisplaySection<! ATTLIST DisplaySection
path CDATA #REQUIREDpath CDATA #REQUIRED
type (SINGLE-TEXT | MULTI-TEXT | ALL) #REQUIREDtype (SINGLE-TEXT | MULTI-TEXT | ALL) #REQUIRED
length CDATA #REQUIRED >length CDATA #REQUIRED>
<!ELEMENT IndexSectionList (IndexSection+)><! ELEMENT IndexSectionList (IndexSection +)>
<!ELEMENT IndexSection EMPTY><! ELEMENT IndexSection EMPTY>
<!ATTLIST IndexSection<! ATTLIST IndexSection
name CDATA #REQUIREDname CDATA #REQUIRED
path CDATA #REQUIREDpath CDATA #REQUIRED
type (SINGLE-TEXT | MULTI-TEXT | ALL) #REQUIRED >type (SINGLE-TEXT | MULTI-TEXT | ALL) #REQUIRED>
상기한 Rule DTD의 내용 중에서 LevelInfo란 사용자가 레벨을 지정하여 계층 관계를 새롭게 생성하는데 사용되며 no와 path라는 속성을 지닌다. no란 새롭게 지정할 엘리먼트의 레벨을 의미하고 path란 새롭게 지정할 엘리먼트의 이름을 의미한다. DisplaySection은 검색결과의 간략 보기 정보로 사용되며 path(출력섹션의 엘리먼트 지정), type(출력섹션의 정보 추출타입 지정), length(출력문장의 최대 길이 지정)라는 속성을 지닌다. 또한, IndexSection은 노드 안의 세부 엘리먼트에 대해 색인과 검색을 지원하기 위해 사용되며 name(색인 섹션의 이름 지정), path(색인 섹션의 엘리먼트 지정), type(색인 섹션의 정보 추출 타입을 지정하며 MULTI-TEXT란 지정된 엘리먼트 하위에 존재하는 모든 텍스트를 추출함을 의미하고 SINGLE-TEXT란 지정된 엘리먼트 바로 하위에 존재하는 텍스트만을 추출함을 의미하며 ALL이란 지정된 엘리먼트를 포함하여 하위에 존재하는 모든 엘리먼트와 텍스트를 추출함을 의미한다)이라는 속성을 지닌다. Among the contents of the above rule DTD, LevelInfo is used to newly create a hierarchical relationship by specifying a level and has attributes of no and path. no means the level of the new element to specify and path means the name of the element to specify. DisplaySection is used as a quick view information of search results and has attributes such as path (designate element of output section), type (designate information extraction type of output section) and length (designate maximum length of output sentence). In addition, IndexSection is used to support indexing and searching for detailed elements within a node. It also specifies the name (name of the index section), path (name of the element in the index section), type (type of information extraction of the index section), and MULTI- TEXT means to extract all the text existing under the specified element, and SINGLE-TEXT means to extract only the text immediately below the specified element. ALL means to extract all the elements and text that exist below the specified element. Means to extract).
본 발명의 일 실시예에서 Rule DTD는 레벨(level)을 지정한다. XML 원본문서의 각각의 계층 모두는 일반적으로 트리구조를 지니며, 각각의 계층들은 서로 상하관계에 위치한다. 결국, 어느 특정 계층의 트리구조를 구성하는 복수의 노드들과 또 다른 계층의 트리구조를 구성하는 복수의 노드들간에는 상하관계가 존재하며 트리구조의 패턴에 비추어 양 노드들간에는 동일 위상에 위치하는 노드들이 존재하게 된다. 그러한 동일한 위상에 위치되며 서로 계층을 달리하는 복수의 노드들을 하나의 노드군으로 지정하게 된다.In one embodiment of the present invention, the Rule DTD specifies a level. Each layer of an XML source document generally has a tree structure, and each layer is in a superordinate relationship with each other. As a result, there is a vertical relationship between a plurality of nodes constituting a tree structure of a certain hierarchy and a plurality of nodes constituting a tree structure of another hierarchy, and in the light of the pattern of the tree structure, both nodes are located in the same phase. Nodes will exist. A plurality of nodes located in such a same phase and having different hierarchies are designated as one node group.
노드군(群)을 구성하는 노드의 갯수는 복수이지만, 노드군을 하나의 노드로 취급한다면 XML 원본문서는 트리구조는 지니되 계층적이지 않은 문서로 취급될 수 있다. Rule DTD는 상기와 같은 노드군 중 일부를 선택해 각각을 레벨(level)로 지정한다. Although the number of nodes that make up a node group is plural, the XML source document can be treated as a non-hierarchical document with a tree structure if the node group is treated as one node. The Rule DTD selects some of the above node groups and assigns each to a level.
예컨대, XML 원본문서에 도 1의 XML 원본문서(10)에서 보듯 2개의 계층이 있고 각각의 계층은 서로 동일한 3단계의 트리구조를 지니고 있으며 1단계는 하나의 노드로, 2단계는 4개의 노드, 3단계는 2단계의 두 번째 노드의 하위 노드로서 3개의 노드로 이루어져 있다고 가정하자. 그 경우, XML 원본문서(10)에 존재하는 총 14개의 노드 중 각각 2개의 노드끼리는 동일한 위상을 지님을 알 수 있다. 예를 들어, 상위 계층의 1단계 노드와 하위 계층의 1단계 노드가 동일한 위상을 지니며 상위 계층의 3단계의 첫 번째 노드와 하위 계층의 3단계의 첫 번째 노드가 동일한 위상을 지닌다.For example, in the XML original document, as shown in the
만일, 상위 계층의 트리구조가 1단계가 a1이라는 노드로 구성이 되고, 2단계가 b1, c1, d1, e1 노드로 구성되며, 3단계가 f1, g1, h1 노드로 구성되고 3단계의 노드 모두는 c1의 하위노드이다. 또한, 하위 계층의 트리구조는 1단계가 a2라는 노드로 구성되고, 2단계가 b2, c2, d2, e2 노드로 구성되며, 3단계가 f2, g2, h2 노드로 구성되고 3단계의 노드 모두는 c2의 하위노드라 가정하자. 이 경우 a1과 a2, b1과 b2, c1과 c2, d1과 d2, e1과 e2, f1과 f2, g1과 g2, h1과 h2 각각은 서로 같은 위상을 가진다. 즉, 같은 위상의 노드들을 하나로 취급하기 위해 노드군(群)의 개념을 도입하여 상기 예시에서 XML 원본문서는 a노드군, b노드군, c노드군, d노드군, e노드군, f노드군, g노드군, h노드군의 트리구조로 구성되어 있으며 상하구조로 형성된 복수의 계층을 지니지 않는다. If the tree structure of the upper hierarchy is composed of the node a1, the second stage is composed of the nodes b1, c1, d1, and e1, the third stage is composed of the nodes f1, g1, and h1, and the node of the third stage. All are subnodes of c1. In addition, the lower hierarchical tree structure consists of a node named a2, a second stage consisting of nodes b2, c2, d2, and e2, a third stage consisting of nodes f2, g2, and h2, and all three nodes Suppose is a subnode of c2. In this case, a1 and a2, b1 and b2, c1 and c2, d1 and d2, e1 and e2, f1 and f2, g1 and g2, h1 and h2 each have the same phase. In other words, in order to treat nodes of the same phase as one, the concept of a node group is introduced, and in the above example, the XML original document is a node group, b node group, c node group, d node group, e node group, and f node. It consists of a tree structure of group, g-node group, and h-node group, and does not have a plurality of hierarchies formed in a vertical structure.
그러한, XML 원본문서를 구성하는 노드군들 중 각각이 트리구조에서 서로 다른 단계에 위치되도록 선택되는 각각에 대해 레벨이 Rule DTD에 의해 지정된다. 예를 들어, 상기 예시에서 a노드군 및 g노드군에 대해 각각을 레벨1, 레벨2이라 지정한다. 결국 트리구조의 1단계에 해당되는 a노드군이 레벨 1으로 지정되며, b노드군 내지 e노드군은 본래의 트리구조에 대응되어 a노드군에 종속된다. 또한, 트리구조의 3단계에 해당되는 g노드군이 레벨 2로 지정되며 결국, 복수의 노드군으로 이루어진 트리구조에서 a노드군 밑의 c노드군 밑의 g노드군과 같은 단계에 해당되는 노드군들 즉, f노드군 내지 h노드군은 레벨 2에 해당된다.Such a level is specified by the Rule DTD for each of each of the node families that make up the XML original document are selected to be located at different levels in the tree structure. For example, in the above example,
이처럼, Rule DTD는 본 발명의 일 실시예에서 XML 원본문서를 단편화된 XML 변경문서로 변환시킬 때 사용하는 레벨을 상기한 바와 같이 XML 원본문서의 작성 전에 미리 지정한다.As such, the Rule DTD specifies the level used when converting the XML original document into the fragmented XML modified document in one embodiment of the present invention before creating the XML original document as described above.
이러한 Rule DTD에 의해 지정된 레벨에 따라 XML 원본문서를 XML 변경문서로 변환하며(S10) 변환된 XML 변경문서를 저장하고(S20) 저장된 XML 변경문서에 대해 검색하며(S30) 검색된 결과를 XML 원본문서가 지니는 계층적 트리구조에 맞게 배열하여 출려(S40)하는 것이며 각각의 단계의 구체적 모습은 이하 상술한다.The XML original document is converted into an XML change document according to the level specified by the rule DTD (S10), the converted XML change document is stored (S20), the stored XML change document is searched (S30), and the searched result is an XML original document. It is arranged to match the hierarchical tree structure (S40) and the detailed appearance of each step will be described below.
도 3은 도 2의 XML 원본문서를 XML 변경문서로 변환하는 단계의 세부 흐름도이다.3 is a detailed flowchart of a step of converting an XML original document of FIG. 2 into an XML modified document.
도 3을 참조하면, XML 원본문서를 XML 변경문서로 변환하는 단계(S10; 도2참조)는 크게 5 단계로 구성되어 있음을 알 수 있다. 본 발명의 일 실시예에서 XML 원본문서를 XML 변경문서로 단편화하는 알고리즘은 다음과 같다.Referring to FIG. 3, it can be seen that the step S10 (see FIG. 2) of converting an XML original document into an XML modified document is largely composed of five steps. In an embodiment of the present invention, an algorithm for fragmenting an XML original document into an XML modified document is as follows.
Procedure FragmentAlgorithm(DOWNode parentNode, PathInfo ancestorPath, Integer parentRecordId, Integer firstChild)Procedure FragmentAlgorithm (DOWNode parentNode, PathInfo ancestorPath, Integer parentRecordId, Integer firstChild)
BeginBegin
DOWNodeList nodeList = parentNode.getChildNodes();DOWNodeList nodeList = parentNode.getChildNodes ();
RecordSet recordSet;RecordSet recordSet;
for (Integer i=0, siblingOrder = 0 i<nodeList.getLength(); i++){for (Integer i = 0, siblingOrder = 0 i <nodeList.getLength (); i ++) {
DOWNode node = nodeList.getNode(i);DOWNode node = nodeList.getNode (i);
if (node.getNodeType()==ELEMENT_NODE){if (node.getNodeType () == ELEMENT_NODE) {
Integer localFirstChild = 0;Integer localFirstChild = 0;
PathInfo currentPath = makePath(ancestorPath, node);PathInfo currentPath = makePath (ancestorPath, node);
if(RuleInformation.find(currentPath)==true){if (RuleInformation.find (currentPath) == true) {
Record kristalRecord;Record kristal Record;
FragmentAlgorithm(node, currentPath, Record.RECID, localFirstChild);FragmentAlgorithm (node, currentPath, Record.RECID, localFirstChild);
Record = getKristalInformation(node, currentPath, localFirstChild);Record = getKristalInformation (node, currentPath, localFirstChild);
recordSet.store(kristalRecord);recordSet.store (kristalRecord);
siblingOrder++;siblingOrder ++;
if (siblingOrder==1) firstChild = Record.RECID;if (siblingOrder == 1) firstChild = Record.RECID;
}}
else {else {
FragmentAlgorithm(node, currentPath, parentRecordId, localFirstChild);FragmentAlgorithm (node, currentPath, parentRecordId, localFirstChild);
firstChild = localFirstChild;firstChild = localFirstChild;
}}}}}}
EndEnd
상기 XML 변경문서를 만드는 알고리즘은 총 22 라인(line)으로 이루어져 있으며, 상기한 바와 같이 크게 5단계로 알고리즘이 이루어진다.The algorithm for making the XML change document is made up of 22 lines. As described above, the algorithm is made in five steps.
우선, XML 원본문서에 구비된 하나 이상의 최상위의 노드에 대해 시작하여 하나 이상의 최하위의 노드에 대해 마치는 탑 다운(Top down)방식의 검사를 통해 상기 XML 원본문서에 구비된 모든 노드들의 각각이 Rule DTD에서 지정한 레벨에 속하는 엘리먼트 노드인지가 탐색된다(S11). 이러한 탐색단계는, 상기 22 라인 중 1 내지 10 라인에 해당되는 알고리즘이다. 즉, 제 1 라인은 매개변수로 전달된 노드의 자식 노드들을 하나씩 가져오는 것을 의미하며, 제 5 내지 7라인은 노드 각각이 엘리먼트 노드에 해당되는지를 검사하는 것을 의미하고, 제 9 내지 10라인은 엘리먼트 노드라 판단된 노드의 경우 사용자가 단편화를 요구한 노드인지를 검사하는 것을 의미한다. 단편화를 요구한 노드라 함은 상기 레벨에 속하는 엘리먼트 노드를 의미한다. 나아가, 단편화를 요구한 노드라 함은 XML 변경문서에 대한 검색시 검색 서비스의 기본 단위가 되는 노드를 말한다. First, each of all nodes included in the XML source document is checked through a top down method that starts with one or more top-level nodes in the XML source document and ends with one or more bottom-most nodes. It is searched whether an element node belongs to the level specified in step S11. This searching step is an algorithm corresponding to 1 to 10 of the 22 lines. That is, the first line means bringing one child node of a node passed as a parameter one by one, and the fifth through seventh lines mean checking whether each node corresponds to an element node, and the nineth through tenth lines In the case of a node determined to be an element node, it means to check whether the node requests a fragmentation. The node requesting fragmentation means an element node belonging to the level. Furthermore, a node that requires fragmentation refers to a node that is a basic unit of a search service when searching for XML modified documents.
상기한 탐색단계(S11)가 종료되면, 탑 다운 방식의 탐색으로 상기 노드 중 최초로 상기 레벨에 속하는 엘리먼트 노드로 탐색된 최초해당 노드가 검색된다(S12). 즉, 상기 레벨에 속하는 엘리먼트 노드가 발견될 때까지 탑 다운 방식으로 최상위의 노드부터 최하위의 노드를 향하여 검색을 하게 된다. 결국, 최상위의 노드로부터 어느 특정의 상위 노드까지 검색을 하는 동안 상기 레벨에 속하는 엘리먼트 노드가 발견되지 않는 경우, 그 자식 노드들 중에서 단편화를 요구한 노드가 있는지를 계속 검사한다.When the search step S11 is completed, the first corresponding node searched for the first element node belonging to the level among the nodes is searched through the top-down search (S12). That is, the search is performed from the top node to the lowest node in a top-down manner until an element node belonging to the level is found. After all, if an element node belonging to this level is not found while searching from the highest node to a certain higher node, the node continuously checks whether there is a node that requires fragmentation.
상기 최초해당 노드의 검색단계(S12)가 완료되었다 하여 바로 본격적인 단편화 작업이 이루어지는 것은 아니다. 일단, 최초해당 노드가 검색된 경우(S12) 그 최초해당 노드의 하위 노드들 중에 상기 레벨에 속하는 엘리먼트 노드가 존재하는지를 판단해야 한다(S13). 이는 상기 22라인 중 12라인에 해당되는 알고리즘이다.When the search step (S12) of the first relevant node is completed, the full fragmentation operation is not immediately performed. Once the first corresponding node is found (S12), it is determined whether there is an element node belonging to the level among the lower nodes of the first corresponding node (S13). This is an algorithm corresponding to 12 of the 22 lines.
그 결과, 최초해당 노드의 하위 노드 중 상기 레벨에 속하는 엘리먼트 노드가 존재한다면 상기 최초해당 노드를 포함한 모든 하위 노드 중 상기 레벨에 속하는 엘리먼트 노드와 부모, 자식, 형제간의 구조 정보가 추출되며(S15), 최초해당 노드의 하위 노드 중 상기 단편화를 요구한 노드가 존재하지 않는다면 상기 최초해당 노드와 부모, 형제간의 구조 정보가 추출된다(S14). 이는 상기 22라인 중 13 내지 14라인에 해당되는 알고리즘이다. 한편, 상기 구조 정보 추출단계(S14 내지 S15)에 의해 상기 구조 정보 뿐 아니라 XML 원본문서에 존재하는 모든 상기 레벨에 속하는 엘리먼트 노드의 타이틀 정보, 색인 정보, 레벨 번호, 타입에 관한 정보도 추출되고 저장된다.As a result, if there is an element node belonging to the level among the lower nodes of the first corresponding node, the structural information between the element node belonging to the level, the parent, the child, and the sibling among all the descendant nodes including the first relevant node is extracted (S15). If there is no node requesting the fragmentation among the lower nodes of the first corresponding node, the structural information between the first corresponding node, the parent and the sibling is extracted (S14). This is an algorithm corresponding to 13 to 14 of the 22 lines. Meanwhile, the structure information extraction steps S14 to S15 extract and store not only the structure information but also information on title information, index information, level number, and type of element nodes belonging to all the levels existing in the XML original document. do.
이처럼 상기 구조 정보 추출단계(S14 또는 S15)를 거치고 난 후 상기 XML 원 본문서의 모든 노드들에 대해 상기 XML 원본문서의 모든 노드들의 트리구조가 유지되며 상기 모든 노드들 중 상기 레벨에 속하는 하나 이상의 엘리먼트 노드가 트리구조로 정렬되게 된다(S16). 이 때 상기 레벨에 속하는 엘리먼트 노드들은 각각 속성 노드나 상기 레벨에 속하지 않는 엘리먼트 노드를 구비할 수 있다. 물론, 상기 레벨에 속하는 엘리먼트 노드와 상기 속성 노드 또는 상기 레벨에 속하지 않는 엘리먼트 노드는 각기 본래 XML 원본문서가 지니는 트리구조에 대응되어 위치된다. 결국, 상기 정렬단계(S16)가 종료되면 상기한 바와 같은 상기 레벨에 속하는 엘리먼트 노드와 그 하위 단계에 속하는 속성 노드나 상기 레벨에 속하지 않는 엘리먼트 노드는 하나의 그룹(group)으로 취급되며 그 각각의 그룹 역시 트리구조를 지니게 된다. 물론, 상기 레벨은 노드군 중 선택된 것이므로 상기 정렬단계(S16)를 마친 XML 원본문서는 상기 각각의 그룹이 트리구조를 지니되 상하의 계층적 구조는 상실한 XML 변경문서로 변환되게 된다. XML 변경문서가 상하의 계층적 구조를 상실한 이유는 이미 상기한 바와 같이 상기 레벨이 노드군으로부터 선택된 것이며 노드군들의 트리구조로 이루어진 XML 원본문서는 이미 상하의 계층적 구조를 상실한 문서이기 때문이다. After the structure information extraction step (S14 or S15) as described above, the tree structure of all nodes of the XML original document is maintained for all nodes of the XML original document and at least one belonging to the level among all the nodes. The element nodes are arranged in a tree structure (S16). In this case, each element node belonging to the level may include an attribute node or an element node not belonging to the level. Of course, the element nodes belonging to the level and the attribute nodes or element nodes not belonging to the level are respectively located in correspondence with the tree structure of the original XML original document. As a result, when the sorting step S16 is finished, the element node belonging to the level as described above, the attribute node belonging to the lower level, or the element node not belonging to the level are treated as one group and each Groups also have a tree structure. Of course, since the level is selected from the group of nodes, the XML original document that has completed the sorting step (S16) is converted into an XML modified document in which each group has a tree structure, but the upper and lower hierarchical structures are lost. The reason why the XML change document loses the hierarchical structure of the upper and lower parts is that the level is selected from the node group as described above, and the XML original document composed of the tree structure of the node groups has already lost the hierarchical structure of the upper and lower parts.
결국, XML 변경문서란 XML 원본문서의 계층적 트리구조의 정보를 그대로 유지하면서 Rule DTD가 지정한 레벨에 해당되는 엘리먼트 노드들이 트리구조로 재정렬됨으로써 계층적 트리구조가 단층적 트리구조로 변경되며 발생된 문서이다. 상기 레벨에 해당되는 엘리먼트 노드들이 트리구조로 정렬되는 원리는 XML 원본문서에 존재하는 모든 상기 레벨에 속하는 엘리먼트 노드들 중에서도 상위 노드가 존재하 며 하위 노드가 존재하므로 그 구조정보에 따라 트리구조로 정렬되는 것이다. 따라서, XML 원본문서의 각 계층이 지니는 트리구조와 XML 변경문서가 지니는 트리구조의 세부 모습은 상이할 수 있으나, XML 변경문서의 트리구조는 XML 원본문서의 트리구조로부터 얻어지는 것이므로 XML 변경문서는 XML 원본문서의 구조 정보를 유지하는 것이다. 한편, 상기 XML 변경문서의 트리구조의 각각을 이루는 각 그룹을 이하 변경노드라 칭한다. Eventually, the XML change document is the hierarchical tree structure by changing the hierarchical tree structure of the XML source document and rearranging the element nodes corresponding to the level specified by the Rule DTD into the tree structure. Document. The principle that the element nodes corresponding to the level are arranged in a tree structure is that the upper node and the lower node exist among all the element nodes belonging to the level existing in the XML original document, so that the order is arranged in the tree structure according to the structure information. Will be. Therefore, the details of the tree structure of each layer of the XML original document and the tree structure of the XML modified document may be different. However, since the tree structure of the XML modified document is derived from the tree structure of the XML original document, the XML modified document is XML Maintain structural information of the original document. Meanwhile, each group constituting each tree structure of the XML change document is referred to as a change node hereinafter.
도 4는 도 2의 XML 변경문서를 저장하는 단계의 세부 흐름도이다.4 is a detailed flowchart of a step of storing the XML change document of FIG. 2.
도 4를 참조하면, XML 문서 단편화 알고리즘(S11 내지 S16; 도 3참조)에 의해 생성된 XML 변경문서가 저장되는 단계를 구체적으로 알 수 있다. 즉, 일단, 상기 변경노드가 저장되며(S21), 편리한 검색(S30; 도 2참조)을 위해 상기 저장된 XML 변경문서의 변경노드의 전체 또는 일부의 내용으로 이루어진 색인 인덱스가 저장되게 된다(S22). 보다 구체적으로 상기 변경노드의 저장(S21)은 변경노드의 부모, 자식, 형제간의 구조정보 저장과 변경노드의 내용 저장 모두를 포함한다.Referring to FIG. 4, it may be specifically understood that the XML change document generated by the XML document fragmentation algorithms S11 to S16 (see FIG. 3) is stored. That is, once the change node is stored (S21), an index index made up of the contents of all or part of the change node of the stored XML change document is stored for convenient retrieval (S30; see FIG. 2) (S22). . More specifically, the storage of the change node (S21) includes both the structure information storage between the parent, child, and siblings of the change node and the contents of the change node.
Rule DTD가 지정한 레벨에 맞추어 XML 원본문서가 XML 변경문서로 변환된 후(S10; 도 2참조) XML 변경문서는 상기한 바와 같이 저장되며(S20; 도 2참조), 사용자(미도시)는 저장된 XML 변경문서의 내용에 대해 질의하며 검색하게 된다(S30; 도 2참조). 이 때, 검색 서비스의 기본 단위는 상기 레벨에 속하는 엘리먼트 노드이다. 즉, 특정의 상기 레벨에 속하는 엘리먼트 노드를 지정하여 검색을 지시하면 상기 특정의 노드를 지닌 특정의 변경노드를 포함한 모든 하위 변경노드의 내용이 검색되게 된다. 특히, 본 발명의 일 실시예는 키워드 검색을 지원하며 이를 위해, 상기 색인 인덱스(S22)가 필요하다.After the XML original document is converted into the XML change document according to the level specified by the Rule DTD (S10; see FIG. 2), the XML change document is stored as described above (S20; see FIG. 2), and the user (not shown) is stored. The content of the XML change document is queried and retrieved (S30; see FIG. 2). At this time, the basic unit of the search service is an element node belonging to the level. That is, if the element node belonging to the specific level is specified and the search is instructed, the contents of all subordinate change nodes including the specific change node having the specific node are retrieved. In particular, an embodiment of the present invention supports keyword search, and for this purpose, the index index S22 is required.
도 5는 도 2의 검색된 상기 변경노드를 출력하는 단계의 세부 흐름도이다.FIG. 5 is a detailed flowchart of outputting the found change node of FIG. 2.
검색단계(S30; 도 2참조)가 종료되면 검색된 변경노드의 결과가 출력되는 단계(S40; 도 2참조)를 거치게 된다. 도 5를 참조하면, 상기 출력단계(S40; 도 2참조)는 크게 3 단계로 구성되어 있음을 알 수 있다.When the search step S30 (see FIG. 2) is finished, the result of the searched change node is output (S40; FIG. 2). Referring to FIG. 5, it can be seen that the output step S40 (see FIG. 2) is largely composed of three steps.
일단, 검색단계(S30; 도 2참조)의 수행 결과 하나 이상의 변경노드가 검색되게 된다. 그러나, 상기 검색된 변경노드들은 하나의 경로(path)를 형성하지 못할 수 있다. 다시 말해, 검색된 특정의 하위 변경노드가 최상위의 변경노드로부터 어떠한 경로를 따라 위치되는지를 알 수 없는 상태인 것이다. 결국, 검색단계(S30; 도 2참조)의 수행 종료 직후의 검색된 변경노드의 출력만으로는 사용자(미도시)가 XML 문서를 구조적으로 검색하였다 할 수 없는 상황이 발생한다. 그러므로, 검색된 하나 이상의 변경노드 모두가 최상위 변경노드로부터의 경로가 XML 변경문서의 트리구조에 따라 보일 수 있도록 검색단계(S30; 도 2참조)의 결과가 재조정되어야 한다.First, one or more change nodes are searched as a result of performing the search step S30 (see FIG. 2). However, the searched change nodes may not form one path. In other words, it is not possible to know which path the specific subordinate change node retrieved is located along from the highest level change node. As a result, a situation arises in which the user (not shown) cannot structurally search the XML document only by outputting the changed change node immediately after the completion of the search step S30 (see FIG. 2). Therefore, the results of the retrieval step S30 (see FIG. 2) must be readjusted so that all of the retrieved one or more change nodes can see the path from the top change node according to the tree structure of the XML change document.
이를 위해 본 발명은 검색단계(S30; 도 2참조)에 의해 상기 검색된 복수의 변경노드들에서 출발하여 바틈 업(Bottom up)방식으로 최상위의 변경노드에 도달할 때까지 각각의 변경노드의 가장 근접한 상위 노드가 탐색되며(S41) 상기 탐색된 상위 노드와 상기 검색된 변경노드가 결합됨으로써 상기 XML 변경문서의 최상위의 변경노드로부터 상기 검색된 변경노드까지의 경로가 형성되고(S42), 상기 XML 변경문서에 존재하는 모든 상기 경로가 출력됨으로써(S43) 사용자(미도시)는 XML 변경문 서에 대한 구조적 검색결과를 확인할 수 있는 것이다. 상기 상위 노드의 탐색과정(S41)은 XML 변경문서의 트리구조에 대응되도록 이루어지며, XML 변경문서는 XML 원본문서의 구조 정보를 그대로 유지하므로 상기 탐색과정(S41)은 결국 XML 원본문서의 트리구조에 대응되어 출력되는 것이다.To this end, the present invention starts from the plurality of changed nodes searched by the searching step (S30; see FIG. 2) and reaches the closest of each changed node until reaching the highest change node in a bottom up manner. An upper node is searched (S41), and the searched upper node and the searched change node are combined to form a path from the highest level change node of the XML change document to the searched change node (S42). By outputting all the paths present (S43), the user (not shown) can check the structured search result for the XML change document. The search process (S41) of the upper node is made to correspond to the tree structure of the XML change document, and since the XML change document retains the structure information of the XML original document, the search process (S41) eventually results in the tree structure of the XML original document. It is output in correspondence with.
도 6은 도 5의 경로 형성 과정을 트리구조로 나타낸 도면이다.FIG. 6 is a diagram illustrating a path forming process of FIG. 5 in a tree structure.
이미 도 5를 참조하며 언급한 바이나, 도 6을 참조하면 경로 형성 단계(S42; 도 5참조)를 보다 도식적으로 알 수 있다. 즉, 도 6의 (a)에서 보듯 만일 검색단계(S30; 도 5참조)의 수행 결과 변경노드 2, 7, 8, 9, 13에 수록된 내용이 검색되었다면, 변경노드 7, 8, 9, 13의 경우는 최상위의 변경노드 1로부터의 경로를 XML 원본문서의 구조를 모르는 사용자는 알 수 없으므로 구조적으로 검색된 변경노드라 할 수 없다. Although already mentioned with reference to FIG. 5, the path forming step S42 (see FIG. 5) may be more schematically described with reference to FIG. 6. That is, as shown in (a) of FIG. 6, if the contents contained in the
그에 따라, 변경노드 7, 8, 9, 13의 경우는 각각의 변경노드에서 출발하여 최상위의 변경노드 1에 도착할 때까지 바틈 업(Bottom up)방식으로 각각의 변경노드의 상위노드가 탐색된다. 즉, 변경노드 7의 경우 변경노드 3, 1이 탐색되고 변경노드 8, 9의 경우 변경노드 4가 탐색되며 변경노드 13의 경우 변경노드 6, 3, 1이 탐색된다(S41; 도 5참조).Accordingly, in the case of the
탐색된 변경노드들과 검색된 변경노드들 중에서도 상위 노드가 존재하며 하위 노드가 존재하므로 그 구조정보에 따라 트리구조로 정렬되며 결합되어 XML 변경문서의 최상위의 변경노드 1로부터 상기 검색된 변경노드까지의 경로가 형성되게 된다. 즉, 도 6의 (b)에서 보듯 변경노드 1-2-4-8로 이루어지는 경로, 변경노드 1- 2-4-9로 이루어지는 경로, 변경노드 1-3-6-13으로 이루어지는 경로, 변경노드 1-3-7로 이루어지는 경로가 형성된다(S42; 도 5참조).Among the searched change nodes and searched change nodes, the parent node exists and the child node exists. Therefore, the node is arranged in a tree structure according to the structure information, and is combined to combine the path from the top-
이렇게 형성된 모든 경로가 출력되게 되며(S43; 도 5참조) 그에 따라 사용자는 XML 변경문서에 대한 구조적 검색결과를 보게 된다. 한편, XML 변경문서는 XML 원본문서의 구조 정보를 그대로 유지하므로 사용자는 본 발명의 일 실시예를 통해 XML 원본문서에 대한 구조적 검색을 할 수 있는 것이다.All the paths thus formed are output (S43; see FIG. 5), so that the user sees a structured search result for the XML change document. On the other hand, since the XML change document maintains the structure information of the XML original document as it is, the user can perform a structural search for the XML original document through an embodiment of the present invention.
이상에서 설명한 것은 본 발명에 따른 XML 문서를 위한 정보검색 시스템 및 그 방법과 그 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능할 것이다.What has been described above is only one embodiment for implementing a computer-readable recording medium recording an information retrieval system for an XML document, a method thereof, and a program for executing the method according to the present invention. Without departing from the gist of the present invention as claimed in the following claims without being limited to the above embodiments, anyone of ordinary skill in the art to which the invention belongs will be able to carry out various changes.
본 발명은 XML 문서의 구조적 정보를 상실하지 않고 원문의 구조 정보를 유지하면서 XML 문서를 관리할 수 있도록 하며, 효과적인 질의처리를 돕고 빠른 구조검색이 가능토록 한다.The present invention enables to manage the XML document while maintaining the structural information of the original text without losing the structural information of the XML document, to help efficient query processing and to enable a quick structure search.
또한, 본 발명은 XML 문서에 대한 검색 결과를 원문의 구조적 특징을 유지하여 출력하므로 사용자에게 입체적 검색결과를 제공한다.In addition, the present invention maintains the structural characteristics of the original text and outputs the search results for the XML document, thereby providing the user with a three-dimensional search result.
결국, 본 발명은 고문서, 보고서, 논문, 전자책 등과 같은 대용량의 구조적 정보를 지닌 문서를 용이하게 관리할 수 있도록 한다.As a result, the present invention facilitates the management of documents having a large amount of structural information, such as ancient documents, reports, papers, e-books.
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040054131A KR100555982B1 (en) | 2004-07-12 | 2004-07-12 | Information retrieval system for XML documents, its implementation methods, and the storage media containing program sources and the methods thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040054131A KR100555982B1 (en) | 2004-07-12 | 2004-07-12 | Information retrieval system for XML documents, its implementation methods, and the storage media containing program sources and the methods thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060005236A KR20060005236A (en) | 2006-01-17 |
KR100555982B1 true KR100555982B1 (en) | 2006-03-03 |
Family
ID=37117291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040054131A KR100555982B1 (en) | 2004-07-12 | 2004-07-12 | Information retrieval system for XML documents, its implementation methods, and the storage media containing program sources and the methods thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100555982B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102095703B1 (en) * | 2013-06-20 | 2020-04-01 | 에스케이플래닛 주식회사 | An apparatus, method and recording medium for Markup parsing |
CN112507666B (en) * | 2020-12-21 | 2023-07-11 | 北京百度网讯科技有限公司 | Document conversion method, device, electronic equipment and storage medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020058639A (en) * | 2000-12-30 | 2002-07-12 | 오길록 | A XML Document Retrieval System and Method of it |
-
2004
- 2004-07-12 KR KR1020040054131A patent/KR100555982B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020058639A (en) * | 2000-12-30 | 2002-07-12 | 오길록 | A XML Document Retrieval System and Method of it |
Also Published As
Publication number | Publication date |
---|---|
KR20060005236A (en) | 2006-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | A prime number labeling scheme for dynamic ordered XML trees | |
US8935267B2 (en) | Apparatus and method for executing different query language queries on tree structured data using pre-computed indices of selective document paths | |
US8892599B2 (en) | Apparatus and method for securing preliminary information about database fragments for utilization in mapreduce processing | |
Pradhan et al. | Ontonotes: A unified relational semantic representation | |
Bourret et al. | A generic load/extract utility for data transfer between XML documents and relational databases | |
US7072896B2 (en) | System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema therefor | |
US20060047646A1 (en) | Query-based document composition | |
Grobe | Rdf, jena, sparql and the'semantic web' | |
JP3492246B2 (en) | XML data search processing method and search processing system | |
Ling et al. | Semistructured database design | |
US20080208843A1 (en) | Document searching system and document searching method | |
KR100555982B1 (en) | Information retrieval system for XML documents, its implementation methods, and the storage media containing program sources and the methods thereof | |
Yu et al. | Metadata management system: design and implementation | |
CN1326078C (en) | Forming method for package device | |
JP2010267081A (en) | Information search method, device and program | |
Takhirov et al. | An XML-based representational document format for frbr | |
Barbosa et al. | XML storage | |
Zwol et al. | Using webspaces to model document collections on the web | |
Al Hamad | Catalog-based Conversion from Relational Database into XML Scheme (XSD) | |
Hu et al. | Indexing XML data for path expression queries | |
Jayanthi et al. | Referenced attribute Functional Dependency Database for visualizing web relational tables | |
Ko | Query Processing based Branch Node Stream for XML Message Broker | |
Chavez et al. | Rdf-based model for encoding document hierarchies | |
Marin-Castro et al. | VR-Tree: A novel tree-based approach for modeling Web Query Interfaces | |
KR100932404B1 (en) | Method and apparatus for converting an XQuery statement to an Escule statement using an extended sort column and an extended-tuple identifier-based sorting outer-union method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20111229 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |