KR20140147438A - An apparatus, method and recording medium for Markup parsing - Google Patents

An apparatus, method and recording medium for Markup parsing Download PDF

Info

Publication number
KR20140147438A
KR20140147438A KR1020130070703A KR20130070703A KR20140147438A KR 20140147438 A KR20140147438 A KR 20140147438A KR 1020130070703 A KR1020130070703 A KR 1020130070703A KR 20130070703 A KR20130070703 A KR 20130070703A KR 20140147438 A KR20140147438 A KR 20140147438A
Authority
KR
South Korea
Prior art keywords
markup language
markup
unit
search
event
Prior art date
Application number
KR1020130070703A
Other languages
Korean (ko)
Other versions
KR102095703B1 (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 에스케이플래닛 주식회사
Priority to KR1020130070703A priority Critical patent/KR102095703B1/en
Publication of KR20140147438A publication Critical patent/KR20140147438A/en
Application granted granted Critical
Publication of KR102095703B1 publication Critical patent/KR102095703B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams

Abstract

The present invention relates to an apparatus, method and recording medium for parsing markup and, more specifically, to an apparatus, method and recording medium for parsing markup, which enable parsing of a file or string generated in a markup language by implementing a compiler function based on JavaScript. The present invention provides a device, which may search a complicated syntax pattern as well as a simple string pattern and, in particular, effectively search an object which a user wants to search even if the complexity of a file or string written in the markup language is increased. Furthermore, the present invention provides a device capable of verifying whether a file or string created in the markup language is made in accordance with the markup language grammar, and enables more accurate, quick markup language parsing by searching a file or string generated in the markup language and having no grammatical error.

Description

마크업 파싱 장치, 방법 및 기록 매체 {An apparatus, method and recording medium for Markup parsing}[0001] The present invention relates to mark-up parsing apparatus, method and recording medium,

본 발명은 마크업 파싱 장치, 방법 및 기록 매체에 관한 것으로서, 특히 스크립트를 활용하여 마크업언어로 작성된 파일 또는 문자열을 파싱하고 특정 구문을 검색하는 기술에 관한 것이다. 구체적으로는 스크립트를 이용하여 단순 문자열이 아닌 문법을 체크할 수 있는 파싱 장치를 구현하고, 이를 이용하여 마크업언어로 작성된 파일 또는 문자열이 문법에 맞게 작성되었는지 확인할 뿐만 아니라 문법 기반으로 특정 구문을 검색해 내어 이로부터 데이터를 추출하거나 데이터 포맷을 변경할 수도 있는 마크업 파싱 장치, 방법 및 기록 매체에 관한 것이다.
The present invention relates to a markup parsing apparatus, a method, and a recording medium, and more particularly, to a technique for parsing a file or character string written in a markup language using a script and searching for a specific syntax. Specifically, it implements a parsing device that can check a grammar, not a simple string, by using a script. In addition to checking whether a file or a string written in a markup language is written in accordance with a grammar, To a markup parsing apparatus, method, and recording medium capable of extracting data therefrom or changing a data format.

인터넷의 발전에 따라 전세계적으로 수 많은 정보들이 다양한 형태의 미디어로 전파되고 있으며, 이러한 정보들은 대부분 마크업언어 구문을 기반으로 작성된 웹 페이지에 포함되어 전달되고 있다. With the development of the Internet, a lot of information is spreading to various types of media around the world, and most of the information is transmitted in a web page based on the markup language syntax.

마크업언어(Markup Language)란, 문서의 논리 구조나 체제와 같은 문서 서식의 지정, 문서 내용 찾아보기 방법의 지정 또는 다른 문서 요소와 연결(link)하는 방법을 지정하여 컴퓨터 시스템에 지시할 수 있는 언어로서, 대표적인 마크업언어로는 월드와이드웹(WWW)의 홈페이지에 사용되는 하이퍼텍스트마크업언어(HTML)를 들 수 있다. 이러한 마크업언어는 대부분 텍스트 문서와 파일이 머신 기종과 관계없이 응용프로그램 간 교환될 수 있어 브라우저에서 호환성이 좋고 사용이 쉽다는 장점이 있다.A markup language is a language that can instruct a computer system to specify a document format, such as a logical structure of a document, a format of a document such as a system, a method of browsing document content, or a method of linking with other document elements As a language, a typical markup language includes a hypertext markup language (HTML) used on the home page of the World Wide Web (WWW). Most of these markup languages have the advantage of being compatible with browsers and easy to use because text documents and files can be exchanged between applications regardless of machine type.

스크립트란, 프로그래밍 언어가 아닌 언어로 작성한 짧은 프로그램이나 명령어들을 의미하며, 별도의 컴파일을 필요로 하지 않는다. 이러한 스크립트 언어는 C나 C++과 같이 컴파일을 요하는 언어들에 비해 제한된 능력을 지니고 실행속도도 느리지만 프로그램을 쉽고 빠르게 작성할 수 있다는 장점이 있다. 대표적인 스크립트 언어로는 펄(PERL), 자바스크립트(JavaScript), VBSscript등이 있다.Scripts are short programs or commands written in languages other than programming languages, and do not require separate compilation. This scripting language has the advantage of being able to write programs easily and quickly, though it has limited ability and slow execution speed compared to compiling languages such as C or C ++. Perl (PERL), JavaScript (JavaScript) and VBScript are examples of typical scripting languages.

컴파일러(compiler)는 JAVA나 C 등의 고급 언어(High level language)를 컴퓨터 또는 스마트폰과 같은 하드웨어 머신(machine)이 이해하고 처리할 수 있는 기계어(binary code)로 변경해 주는 역할을 한다. 즉, 컴파일러는 크게 구문을 분석·해석하는 파싱 기능과 사람이 이해할 수 있는 언어를 기계어로 변환해 주는 번역 기능, 이렇게 두 가지 기능을 한다.The compiler changes the high level language such as JAVA or C into a binary code that can be understood and processed by a hardware machine such as a computer or a smart phone. That is, the compiler has two functions: a parsing function for analyzing and interpreting the syntax, and a translation function for converting a human-understandable language into a machine language.

한편 마크업언어로 작성된 웹 페이지에서 컨텐츠를 검색할 때, 현재는 단순히 태그 기반의 문자열 검색으로 컨텐츠를 검색하기 때문에 복잡한 패턴의 컨텐츠를 검색하는데는 한계가 있다. 즉, 단순 태그 기반의 문자열 검색만으로는 웹 페이지 내 복잡한 구조의 컨텐츠를 검색하거나 재가공을 함에 있어 구현이 복잡해지고 어려운 점이 있다. 그러나 컴파일러, 그 중에서도 파서 기능을 활용하면 문자열 해석을 통한 구문의 체크, 또는 구문으로부터 추출한 데이터를 기반으로 다른 데이터로의 포맷 변환 등이 가능한 바, 이처럼 컴파일러의 파서 기능을 이용하면 마크업언어로 작성된 파일 또는 문자열에서 특정 컨텐츠 검색시 이점이 있다.On the other hand, when contents are retrieved from a web page written in a markup language, contents are retrieved by a tag-based string retrieval at present. Therefore, there is a limitation in retrieving contents of a complicated pattern. In other words, the simple tag-based string search is complicated and difficult to implement in order to retrieve or rework the contents of a complex structure in a web page. However, it is possible to use the compiler, especially the parser function, to check the syntax through string interpretation, or to convert the format to other data based on the data extracted from the syntax. Thus, using the compiler's parser function, There are advantages to searching for specific content in a file or string.

한편, 공개번호 제10-2002-0061443호(이하 선행기술)는 컴퓨터 통신망을 이용한 정보 수집, 가공 및 표시 시스템에 관한 발명으로서, 사용자로부터 검색어를 입력받는 입력부, 상기 검색어가 지시하는 정보가 포함된 웹문서 또는 데이터베이스를 검색하는 데이터 수집 엔진, 이들 웹 문서 또는 데이터베이스로부터 정보를 추출하는 정보 추출부, 추출된 정보를 표준화하여 저장하는 데이터 처리부, 그 외 데이터를 저장하는 데이터베이스 및 표시부 등의 구성을 포함하고 있다. 특히 선행기술은 검색된 웹 문서로부터 HTML/XML태그를 제거하고 정보가 포함된 부분만을 추출할 수 있는 파서를 구현하고 있다는 점에서 본 명세서에서 특정하고자 하는 발명과 관련이 있다. 그러나 선행기술은 문법 기반의 구문 패턴 검색이 아닌 단순 문자열 검색 방식을 이용한다는 점, 즉, 문법 기반의 검색이 불가능하고 단순 문자열 검색만 가능하다는 점에서 여전히 상술한 문제점을 가지고 있다.
Open No. 10-2002-0061443 (hereinafter referred to as Prior Art) is an invention relating to an information gathering, processing and display system using a computer network, comprising an input unit for inputting a search word from a user, A data collection engine for searching a web document or a database, an information extraction unit for extracting information from these web documents or databases, a data processing unit for standardizing and storing the extracted information, a database for storing other data, and a display unit . In particular, the prior art relates to an invention to be specified in this specification in that it implements a parser that can remove HTML / XML tags from the retrieved web document and extract only the portion containing the information. However, the prior art still has the above-mentioned problem in that it uses a simple string search method instead of a syntax-based syntax pattern search, that is, it is impossible to search based on a grammar and only a simple string search is possible.

공개공보 제10-2002-0061443호 (컴퓨터 통신망을 이용한 정보의 수집, 가공 및 표시방법과 그 시스템)Open Publication No. 10-2002-0061443 (Method for collecting, processing and displaying information using computer network and system thereof)

본 발명은 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 스크립트를 활용한 마크업언어용 컴파일러, 그 중에서도 특히 파서를 구현하여 마크업언어로 작성된 파일 또는 문자열을 파싱할 수 있는 장치, 방법 및 기록 매체를 제공한다. 구체적으로는 스크립트 언어의 문법을 활용하여 마크업언어로 작성된 파일 또는 문자열이 문법에 맞게 작성되었는지 확인하고, 문법 기반으로 상기 마크업언어로 작성된 파일 또는 문자열 내 특정 구문을 검색하여 이로부터 데이터를 추출하거나 데이터 포맷을 변경할 수 있는 마크업 파싱 장치, 방법 및 기록 매체를 제공한다.
SUMMARY OF THE INVENTION The present invention has been proposed in order to solve the above problems, and it is an object of the present invention to provide a compiler for a markup language using a script, an apparatus, a method and a record capable of parsing a file or a string written in a markup language, Media. Specifically, the script language grammar is used to check whether a file or a string written in a markup language is written in accordance with a grammar, and a grammar-based file or a specific phrase in the string is retrieved from the markup language and data is extracted And a data format can be changed.

전술한 목적을 달성하기 위하여, 본 발명의 일 측면에 따르면, 마크업 파싱 장치는 마크업언어로 작성된 파일 또는 문자열을 수신하는 마크업 수신부, 상기 마크업언어로 작성된 파일 또는 문자열에서 사용자가 검색하고자 하는 검색 대상 및 검색결과에 따라 실행시키고자 하는 이벤트를 사용자로부터 입력받는 사용자 입력부, 상기 입력부로부터 수신한 사용자 입력과 대응되는 마크업언어 구문을 정의하고, 마크업 검색부의 검색 대상 및 이벤트 실행부에서 실행하게 될 이벤트를 설정하는 파서 정의부, 상기 마크업언어로 작성된 파일 또는 문자열 내에 상기 파서 정의부에서 설정된 검색 대상과 대응되는 마크업언어 구문이 존재하는지 검색하는 마크업 검색부, 상기 마크업 검색부에서의 검색 결과에 따라 상기 파서 정의부에서 설정된 이벤트를 실행하는 이벤트 실행부, 및 상기 이벤트 실행부에서의 이벤트 실행에 따른 결과 데이터를 출력하는 데이터 출력부를 포함한다.According to an aspect of the present invention, there is provided a markup parsing apparatus including a markup receiving unit for receiving a file or a string written in a markup language, A user input unit for receiving an event to be executed according to a search result and a search result of the markup search unit and a markup language syntax corresponding to a user input received from the input unit, A markup retrieval unit for retrieving whether a markup language syntax corresponding to a retrieval object set by the parser definition unit exists in a file or a character string created in the markup language, And the event set in the parser definition unit according to the search result Performing event execution unit, and a data output unit for outputting the resulting data according to the event executed in the event execution unit.

또한 상기 마크업 파싱 장치에 있어, 상기 사용자 입력부가 받는 입력은 스크립트(Script) 기반인 것을 특징으로 할 수 있다.In addition, in the markup parsing apparatus, the input received by the user input unit may be script based.

또한 상기 마크업 파싱 장치에 있어, 상기 파서 정의부에 의해 설정되는 검색 대상은 마크업언어 구문으로 구성된 패턴이고, 상기 마크업 검색부는 상기 마크업언어로 작성된 파일 또는 문자열 내에 상기 패턴이 존재하는지 여부를 검색하는 것을 특징으로 할 수 있다.Also, in the mark-up parsing apparatus, the search target set by the parser defining unit is a pattern composed of a markup language syntax, and the markup search unit determines whether the pattern exists in a file or a character string created in the markup language And searching for the search result.

또한 상기 마크업 파싱 장치는, 상기 마크업 수신부에서 수신한 마크업언어로 작성된 파일 또는 문자열을 구성하는 마크업언어 구문이 문법에 맞는지 여부를 확인하는 마크업 검증부를 더 포함할 수 있다.The markup parsing apparatus may further include a markup verifying unit for checking whether a markup language syntax constituting a file or a string formed in the markup language received by the markup receiving unit conforms to the grammar.

또한 상기 사용자 입력부가 받는 입력은 스크립트(Script) 기반인 것을 특징으로 할 수 있으며, 나아가 사용자 입력시 상기 사용자에게 스크립트 구문정보를 제공하기 위한 스크립트 데이터베이스를 더 포함할 수 있다.Further, the input received by the user input unit may be based on a script, and may further include a script database for providing script syntax information to the user upon user input.

한편 상기 스크립트 데이터베이스가 제공하는 구문정보는 구조, 연산자 또는 함수 중 적어도 하나를 포함하는 것을 특징으로 할 수 있다.Meanwhile, the syntax information provided by the script database may include at least one of a structure, an operator, and a function.

또한 상기 마크업 파싱 장치에 있어, 상기 이벤트 실행부는 상기 마크업 검색부에 의해 검색된 마크업언어 구문으로부터 특정 데이터를 추출하거나 데이터 포맷을 변환하는 것을 특징으로 할 수 있다.In the mark-up parsing apparatus, the event execution unit extracts specific data from the markup language syntax retrieved by the markup retrieval unit or converts the data format.

본 발명의 다른 측면에 따르면, 마크업 파싱 방법은 (a) 마크업 수신부가 마크업언어로 작성된 파일 또는 문자열을 수신하는 단계; (b) 사용자 입력부가 사용자로부터 상기 마크업언어로 작성된 파일 또는 문자열에서 검색하고자하는 검색 대상 및 검색 결과에 따라 실행시키고자 하는 이벤트를 입력 받아 파서 정의부로 전송하는 단계; (c) 파서 정의부가, 상기 사용자 입력부로부터 수신한 사용자 입력과 대응되는 마크업언어 구문을 정의하고, 상기 검색 대상 및 이벤트를 설정하는 단계; (d) 마크업 검색부가 상기 마크업언어로 작성된 파일 또는 문자열 내에 상기 파서 정의부에서 설정된 검색 대상과 대응되는 마크업언어 구문이 존재하는지 검색하는 단계; (e) 이벤트 실행부가 상기 파서 정의부에서 설정된 이벤트를 실행하는 단계; 및 (f) 데이터 출력부가 상기 이벤트 실행의 결과로서 생성된 데이터를 출력하는 단계를 포함한다.According to another aspect of the present invention, a markup parsing method includes the steps of: (a) receiving a file or a character string written in a markup language by a markup receiver; (b) receiving, from a user input unit, an event to be executed according to a search result and a search result to be searched in a file or character string created in the markup language, and transmitting the event to a parser definition unit; (c) defining a parser definition part, a markup language syntax corresponding to a user input received from the user input part, and setting the search object and the event; (d) The markup search unit searches for a markup language syntax corresponding to a search target set in the parser definition unit in a file or character string created in the markup language. (e) an event execution unit executing an event set in the parser definition unit; And (f) the data output unit outputting the data generated as a result of executing the event.

또한 상기 마크업 파싱 방법은, 상기 (d) 단계에서의 검색 결과 파서 정의부에서 설정한 검색 대상과 대응되는 마크업언어 구문이 존재하지 않으면 (b) 단계로 되돌아가 검색 대상을 재입력 받는 것을 특징으로 할 수 있다.If the markup language syntax corresponding to the search target set by the search result parser definition unit in the step (d) does not exist, the markup parsing method returns to step (b) to re-input the search target .

또한 상기 마크업 파싱 방법은, 상기 (c) 단계 이후, 마크업 검증부가 상기 수신한 마크업언어로 작성된 파일 또는 문자열을 구성하는 마크업언어 구문이 문법에 맞는지 여부를 확인하는 단계(c1)를 더 포함할 수 있다.The markup parsing method further includes a step (c1) of checking whether the markup language syntax of the file or character string created in the received markup language conforms to the grammar after the step (c) .

또한 상기 마크업 파싱 방법은, 상기 (c1) 단계에서의 검증 결과, 마크업언어 구문이 문법에 맞지 않으면 (a) 단계로 되돌아가 마크업언어로 작성된 다른 파일 또는 문자열을 재수신하는 것을 특징으로 할 수 있다.If the markup language syntax does not match the grammar, the markup parsing method returns to step (a) and re-receives another file or character string written in the markup language as a result of the verification in step (c1) can do.

또한 상기 마크업 파싱 방법은, (a) 단계 이후, 스크립트 데이터베이스가 사용자에게 구문정보를 제공하는 단계(a1)를 더 포함할 수 있고, (b) 단계에서 사용자 입력부는, 사용자가 상기 제공된 스크립트 구문정보로부터 선택한 구문을 입력 받아 파서 정의부로 전송하는 것을 특징으로 할 수 있다.The markup parsing method may further include a step (a1) in which the script database provides syntax information to the user after the step (a), and in the step (b) And transmits the selected syntax to the parser definition unit.

또한 상기 마크업 파싱 방법은, 상기 (d) 단계에서의 검색 결과, 파서 정의부(300)에서 설정한 검색 대상과 대응되는 마크업언어 구문이 존재하지 않으면 (b) 단계로 되돌아가 검색 대상을 재입력 받는 것을 특징으로 할 수 있다.If the markup language syntax corresponding to the search target set by the parser defining unit 300 does not exist as a result of the search in the step (d), the markup parsing method returns to step (b) And then re-input.

본 발명의 또 다른 측면에 따르면, 마크업 파싱 장치에 의해 실행될 때, (a) 마크업 수신부가 마크업언어로 작성된 파일 또는 문자열을 수신하는 단계, (b) 사용자 입력부가 사용자로부터 상기 마크업언어로 작성된 파일 또는 문자열에서 검색하고자하는 검색 대상 및 검색 결과에 따라 실행시키고자 하는 이벤트를 입력받아 파서 정의부로 전송하는 단계, (c) 파서 정의부가, 상기 사용자 입력부로부터 수신한 사용자 입력과 대응되는 마크업언어 구문을 정의하고 상기 검색 대상 및 이벤트를 설정하는 단계, (d) 마크업 검색부가 상기 마크업언어로 작성된 파일 또는 문자열 내에 상기 파서 정의부에서 설정된 검색 대상과 대응되는 마크업언어 구문이 존재하는지 검색하는 단계, (e) 이벤트 실행부가 상기 파서 정의부에서 설정된 이벤트를 실행하는 단계, 및 (f) 데이터 출력부가 상기 이벤트 실행의 결과로서 생성된 데이터를 출력하는 단계를 포함하는 마크업 파싱 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록 매체가 제공된다.
According to another aspect of the present invention, there is provided a markup parsing apparatus, comprising: (a) a markup receiver receiving a file or character string written in a markup language; (b) (C) a parser definition unit that receives a user input from the user input unit and a mark corresponding to the user input received from the user input unit, (D) a markup language syntax in which a markup search unit corresponds to a search object set in the parser definition unit in a file or a string created in the markup language exists (E) executing an event set by the event execution unit in the parser definition unit, (F) data output section markup parsing comprises the step of outputting the data generated as a result of the event executed is recorded in the program is provided with a recording medium readable in the electronic device.

전술한 과제 해결 수단에 의하면, 본 발명은 마크업언어로 작성된 문서 또는 문자열 내에서 마크업언어 구문을 기반으로 검색을 행할 수 있으며, 따라서 단순 스트링(string) 패턴뿐만 아니라 복잡한 구조로 이루어진 구문을 해석, 검색하여 사용자가 원하는 데이터 추출, 데이터 포맷 변경 등을 수행할 수 있는 장치, 방법 및 기록매체를 제공한다.According to the above-mentioned problem solving means, the present invention can perform a search based on a markup language syntax in a document or a string written in a markup language, and thus can interpret not only a simple string pattern, An apparatus, a method, and a recording medium capable of performing data extraction, data format change, and the like by searching for a user.

또한 본 발명은 구문을 기반으로 검색을 수행함으로써 마크업언어로 작성된 파일 또는 문자열 구조의 복잡도가 증가하더라도 사용자가 원하는 검색대상을 쉽게 찾을 수 있는 검색수단을 제공하며, 특히 마크업언어로 작성된 파일 또는 문자열 내 존재하는 복잡한 구조의 위젯 구현 부분을 검색할 수 있는 방법론을 제공한다.Further, the present invention provides a retrieval means that allows a user to easily find a desired retrieval target even if the complexity of a file or a string structure written in a markup language increases by performing retrieval based on syntax, and more particularly, Provides a methodology to retrieve the widget implementation part of a complex structure existing in a string.

나아가, 본 발명은 상기 마크업언어로 작성된 파일 또는 문자열이 마크업언어 구문 문법에 맞게 작성된 것인지 검증할 수 있는 수단을 제공함으로써, 사용자에게 상기 마크업언어 파일, 문자열 내 오류가 존재하는지 여부를 알 수 있게 해 줄 뿐만 아니라 문법 오류가 없는 마크업언어로 작성된 파일 또는 문자열을 대상으로 검색을 수행하기 때문에 정확하고 신속한 검색결과를 사용자에게 제공할 수 있다.Further, the present invention provides a means for verifying whether a file or a string written in the markup language is written in accordance with the markup language syntax grammar, thereby notifying the user whether the markup language file or an error in the string exists And perform searches on files or strings written in a markup language that does not have grammatical errors, so that users can provide accurate and rapid search results.

도1은 본 발명에 따른 마크업 파싱 장치가 마크업언어로 작성된 파일 또는 문자열을 해석하여 사용자가 원하는 이벤트를 실행하기까지의 과정을 개괄적으로 나타낸 예시도이다.
도2는 본 발명의 실시예에 따른 마크업 파싱 장치의 블록도이다.
도3은 본 발명의 실시예에 따른 마크업 파싱 장치의 검색대상이 될 수 있는 마크업언어 구문 패턴의 일예시를 나타낸 것이다.
도4는 도2의 마크업 파싱 장치에 있어 마크업 검증부, 스크립트 데이터베이스가 더 포함된 블록도이다.
도5는 본 발명의 실시예에 따른 마크업 파싱 방법의 흐름도이다.
도6은 도5의 마크업 파싱 방법에 있어 마크업언어로 작성된 파일 또는 문자열이 문법에 맞는지 검증하는 단계가 더 포함된 것의 흐름도이다.
FIG. 1 is an exemplary diagram showing a process of parsing a file or character string written in a markup language and executing a desired event by a markup parsing apparatus according to the present invention.
2 is a block diagram of a markup parsing apparatus according to an embodiment of the present invention.
FIG. 3 illustrates an example of a markup language syntax pattern that can be searched by a markup parsing apparatus according to an embodiment of the present invention.
FIG. 4 is a block diagram of a markup parsing apparatus of FIG. 2 further including a markup verifying unit and a script database.
5 is a flowchart of a markup parsing method according to an embodiment of the present invention.
FIG. 6 is a flowchart of a markup parsing method of FIG. 5, further comprising a step of verifying whether a file or character string written in a markup language conforms to a grammar.

이하 첨부된 도면들을 참조하여 본 발명의 실시예를 기술한다.Embodiments of the present invention will now be described with reference to the accompanying drawings.

본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략될 것이다. 또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 설정된 용어들로서 이 용어들은 제품을 생산하는 생산자의 의도 또는 관례에 따라 달라질 수 있으며, 용어들의 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. Further, the terms described below are terms set in consideration of the functions of the present invention, and these terms may vary depending on the intention or custom of the producer producing the product, and definitions of the terms should be based on the contents throughout the specification.

우선 도1 및 도 2를 기준으로 마크업 파싱 장치에 대해 설명한다.First, a markup parsing apparatus will be described with reference to Figs. 1 and 2. Fig.

앞서 언급한 바와 같이 컴파일러는 크게 코드를 파싱하는 기능, 그리고 코드를 기계어로 변환하는 기능을 갖는다. 본 발명은 상기 두 가지 기능 중 특히 파싱 기능에 중점을 둔 것으로서, 본 문서에서 언급되는 파싱 장치는 컴파일러의 일부 구성으로 구현될 수도 있음에 유념한다.As mentioned earlier, the compiler has the ability to parse the code and convert the code to machine language. It is noted that the present invention focuses on the parsing function among the above two functions, and it is noted that the parsing apparatus mentioned in this document may be implemented as a part of the compiler.

파싱(parsing)장치란 특정 언어로 작성된 프로그램, 문서 등을 읽어들여, 그 문장의 구조를 알아내는, 즉 구문 분석을 행하는 장치를 일컫는다. 한편 문장의 구조를 알아내기 위해서는 해당 문장을 하나의 단어 단위로 잘게 나누는 단계가 선행되어야 하며, 이렇게 나뉜 하나의 단어 단위를 토큰(token)이라고 한다. 즉, 파싱장치는 상기와 같은 토크나이즈(tokenize)과정을 거쳐 토큰을 수집하고, 복수개의 토큰을 바탕으로 문장 구조를 분석하는 장치를 말한다.A parsing device refers to a device that reads a program, a document, etc., written in a specific language, and identifies the structure of the sentence, that is, a device that performs parsing. On the other hand, in order to find out the structure of a sentence, a step of finely dividing the sentence into one word unit should be preceded, and a word unit divided into two is called a token. That is, the parser refers to a device for analyzing a sentence structure based on a plurality of tokens and collecting tokens through a tokenize process as described above.

도1은 상기 파싱장치의 동작 과정을 일련의 순서에 따라 그림으로 나타낸 것이다. FIG. 1 is a diagram illustrating an operation procedure of the parsing apparatus in a sequential order.

마크업언어로 이루어진 문서 또는 문자열이 수신되면 파싱장치는 상기 문서 또는 문자열을 이루고 있는 마크업언어 문장들을 여러 개의 토큰들로 나누고, 이러한 토큰들을 기초로 문장을 분석하게 된다. 그리고 이렇게 분석된 마크업언어 파일, 문자열을 대상으로 사용자는 검색행위 또는 데이터 포맷 변환 등과 같은 이벤트를 실시할 수 있게 된다. When a document or character string consisting of a markup language is received, the parser divides the markup language sentences constituting the document or character string into a plurality of tokens and analyzes the sentence based on the tokens. Then, the user can perform an event such as a search operation or a data format conversion on the analyzed markup language file and character string.

본 발명은 상기와 같이 마크업언어로 작성된 파일 또는 문자열을 읽어 들이고 분석하여 사용자가 해당 마크업언어 파일, 문자열을 대상으로 특정 이벤트를 수행할 수 있도록 하는 마크업 파싱 장치, 방법 및 기록 매체에 관한 것이다. The present invention relates to a markup parsing apparatus, method, and recording medium for reading and analyzing a file or character string written in a markup language as described above to allow a user to perform a specific event on the markup language file and character string will be.

도2는 마크업 파싱 장치를 구성하고 있는 세부구성들을 블록도로 나타낸 것이다.FIG. 2 is a block diagram illustrating the detailed configurations of the markup parsing apparatus.

도시된 바와 같이, 마크업 파싱 장치는 마크업 수신부(100), 사용자 입력부(200), 파서 정의부(300), 마크업 검색부(400), 이벤트 실행부(500), 데이터 출력부(600)를 포함하며, 상기 세부구성들은 모두 제어부(700)에 의해 제어된다.As shown in the figure, the markup parsing apparatus includes a markup receiving unit 100, a user input unit 200, a parser defining unit 300, a markup searching unit 400, an event executing unit 500, a data output unit 600 ), And the detailed configurations are all controlled by the control unit 700.

마크업 수신부(100)는 본 발명의 실시에 있어 피검색 대상이 되는 마크업언어로 작성된 파일 또는 문자열을 외부로부터 수신한다. 여기서, 마크업언어는 태그 등을 이용하여 데이터 서식, 구조 등을 지정할 수 있는 언어를 통칭하는 것으로서, 예컨대 HTML 등을 포함할 수 있다.The markup receiving unit 100 receives a file or a character string written in a markup language to be retrieved from the outside in the practice of the present invention. Here, the markup language collectively refers to a language in which a data format, a structure, and the like can be specified using tags or the like, and may include HTML, for example.

마크업 수신부(100)가 수신하는 대상은 마크업언어로 작성된 문서 파일 자체이거나 또는 해당 문서 파일을 구성하는 구문 중 일부 문자열이 될 수 있다. The target to be received by the markup receiving unit 100 may be a document file itself created in a markup language or some string of a syntax constructing the document file.

사용자 입력부(200)는 마크업 파싱 장치의 외부로부터 사용자 입력을 받는다. 사용자 입력부(200)는 키패드, 키보드, 터치 스크린 등 문자 또는 숫자의 입력이 가능한 형태의 입력 장치라면 어느 것이든 해당될 수 있으며 사용자 입력 방식에 있어서도 별도의 제한을 두지 않는다. The user input unit 200 receives user input from the outside of the markup parsing apparatus. The user input unit 200 may be any type of input device capable of inputting letters or numbers, such as a keypad, a keyboard, and a touch screen, and does not impose any limitation on the user input method.

한편, 상기 사용자 입력부(200)를 통해 입력되는 것은 상기 마크업언어로 작성된 파일 또는 문자열에서 사용자가 검색하고자 하는 검색대상 및 검색결과에 따라 실행시키고자 하는 이벤트를 지시하는 명령어이며, 바람직하게는 스크립트(Script)기반인 것으로 한다.The input through the user input unit 200 is a command for instructing an event to be executed in accordance with a search result and a search result to be searched by a user in a file or a string created in the markup language, (Script).

스크립트란 컴퓨터 프로세서가 아닌 다른 응용프로그램에 의해 번역되거나 수행되는 프로그램 또는 명령어들의 집합을 말한다. 한편, 자바스크립트(JavaScript)는 스크립트언어 중 하나로서 마크업 언어 파일을 편집할 수 있으며, 자바(Java)의 명령어, 함수 등을 이용하므로 마크업 언어를 편집함에 있어 사용자에게 편의성을 제공한다. 특히 자바스크립트는 기존 마크업 언어 편집만으로는 불가능했던 이벤트 처리를 가능케 하므로 웹 페이지를 동적으로 구성할 수 있다는 장점이 있다. A script is a set of programs or instructions that are translated or executed by an application other than a computer processor. On the other hand, JavaScript is one of the scripting languages and can edit a markup language file. Since it uses commands and functions of Java, it provides convenience to the user in editing the markup language. In particular, JavaScript has the advantage of being able to dynamically organize web pages because it enables event handling that was not possible only by editing existing markup languages.

파서 정의부(300)는 상기 사용자 입력부(200)로부터 수신한 입력과 대응되는 마크업언어 구문을 정의하고, 마크업 검색부(400)의 검색대상 및 이벤트 실행부(500)에서 실행하게 될 이벤트를 설정한다. 파서 정의부(300)는 마크업 파싱 장치의 가장 핵심적인 세부구성요소로서, 본 구성요소는 앞서 언급한 컴파일러의 역할과 유사한 기능을 한다. The parser defining unit 300 defines a markup language syntax corresponding to the input received from the user input unit 200 and defines a search target of the markup search unit 400 and an event to be executed by the event execution unit 500 . The parser definition unit 300 is the most important sub-component of the markup parsing apparatus, and this component functions similar to the above-described role of the compiler.

기존의 컴파일러가 JAVA, C 등의 고급 언어를 기계어(binary code)로 변경해 주는 역할을 한다면, 본 발명에서 구현하고자 하는 파서 정의부(300)는 사용자가 사용하는 언어를 각각 마크업언어로 대응시켜주는 역할을 한다. 다음은 본 발명의 바람직한 실시예 중 하나로서, 사용자가 사용하는 언어와 마크업언어 구문을 대응시켜 정의하는 것을 나타낸다.If the existing compiler plays a role of changing high-level languages such as JAVA and C into machine code (binary code), the parser definition unit 300 to be implemented in the present invention can correspond to a language used by a user in a markup language The giver plays a role. The following is one of preferred embodiments of the present invention, in which the language used by the user and the markup language syntax are defined in correspondence with each other.

Figure pat00001
Figure pat00001

예를 들어, 마크업언어 구문 중 블록을 나누는 기능을 하는 <div> 태그는 “<div” 와 “>”로 구성되어 있으며, “<div”에 대해서는 START_DIV 라는 사용자 언어가, 그리고 “>”에 대해서는 TAGC라는 사용자 언어가 정의되어 있다. For example, a <div> tag that breaks a block of markup language constructs consists of "<div" and ">", a user language called START_DIV for "<div" The user language TAGC is defined.

따라서 사용자가 Therefore,

Figure pat00002
Figure pat00002

와 같은 구문을 입력한다면, 마크업 파싱 장치는 해당 파서 정의부(300)에 의해 정의된 바에 따라 사용자가 “<div>” 구문에 대한 작업을 수행하고자 함을 인지하게 되고, 이후 해당 구문의 검색 또는 검색 결과에 따른 이벤트를 실행할 수 있게 되는 것이다., The markup parsing apparatus recognizes that the user intends to perform the operation on the &quot; <div> &quot; syntax as defined by the parser defining unit 300, Or an event according to the search result.

마크업 검색부(400)는 마크업 수신부(100)에서 수신한 마크업언어로 작성된 파일 또는 문자열 내에 상기 파서 정의부(300)에서 설정된 검색 대상과 대응되는 마크업언어 구문이 존재하는지를 검색한다. 이 때 마크업 검색부(400)가 검색하게 되는 검색대상은 단순 스트링(string) 패턴이 될 수도 있으며, 더 나아가서는 마크업언어의 문법 구조가 될 수도 있다. The markup retrieving unit 400 retrieves whether a markup language syntax corresponding to the retrieval object set in the parser defining unit 300 exists in a file or character string created in the markup language received by the markup receiving unit 100. [ At this time, the search target to be searched by the markup search unit 400 may be a simple string pattern, or may be a grammar structure of a markup language.

기존에는 마크업언어로 작성된 파일 또는 문자열 내 특정 정보를 추출하고자 하는 경우, 마크업언어의 특성상 해당 문자열을 이루고 있는 특정 단어, 즉 스트링(string)만을 인식할 수 밖에 없어 검색작업에 있어 한계가 있었다. 그러나 본 발명은 앞서 설명한 것과 같이 파서 정의부(300)에 의해 마크업언어 구문을 정의해 둠으로써 단순 스트링 패턴뿐만 아니라 복잡한 마크업언어로 작성된 파일 또는 문자열을 구성하고 있는 문법 구조, 즉 구문 패턴의 검색까지도 가능하게 해 준다. Conventionally, when extracting a file created in a markup language or specific information in a character string, only a specific word, that is, a string constituting the character string, has to be recognized due to the characteristics of the markup language, . However, according to the present invention, the markup language syntax is defined by the parser definition unit 300 as described above, so that not only a simple string pattern but also a grammar structure constituting a file or a string formed in a complicated markup language, It also enables searching.

이렇듯 마크업언어로 작성된 파일 또는 문자열 내의 구문 검색이 가능한 이상, 본 발명은 마크업언어 문서 내 존재하는 위젯을 검색하는 데에도 이용될 수 있다. 즉, 복잡한 구조를 가지는 위젯 구현 부분은 특정 패턴을 가지면서 마크업언어 내 존재하게 되는데, 기존 단순 문자열 검색만으로는 위와 같은 위젯을 검색하기가 어려웠다. 그러나 본 발명은 문법을 기반으로 한 구문 패턴 검색이 가능한 바, 사용자는 특정 패턴을 검색대상으로 설정함으로써 복잡한 구문 패턴을 가지는 위젯이라도 쉽게 검색해 낼 수 있다.Thus, the present invention can be used to search for a widget existing in a markup language document as long as a phrase search in a file or a string written in the markup language is possible. That is, the widget implementation part having a complicated structure exists in the markup language with a specific pattern, and it is difficult to search for the widget by the conventional simple string search. However, since the present invention can search for a syntax pattern based on a grammar, a user can easily search for a widget having a complex syntax pattern by setting a specific pattern as a search target.

도3은 마크업 파싱 장치를 이용하여 사용자가 검색 대상으로 삼을 수 있는 마크업언어 구문 패턴의 일 예시를 나타낸 것이다. 구체적으로 살펴보면, 사용자는 복수개의 <div class>들로 이루어진 하나의 <div>블록을 검색 대상으로 삼을 수 있으며, 각각의 <div class>를 구성하고 있는 구조 역시 사용자 임의로 지정할 수 있다. 이렇듯 검색 대상으로서 구문 패턴을 이용하는 경우 마크업언어로 작성된 파일 또는 문자열의 복잡도가 증가하더라도 사용자는 검색 알고리즘을 큰 어려움 없이 구성할 수 있으며, 나아가 실제 기계 내부적으로 이루어지는 검색 과정 자체도 종래 기술보다 더 빠르게 진행될 수 있다.FIG. 3 shows an example of a markup language syntax pattern that a user can use as a search target using a markup parsing apparatus. Specifically, the user can search a single <div> block composed of a plurality of <div classes>, and the structure of each <div class> can also be arbitrarily designated by the user. When the syntax pattern is used as a search target, even if the complexity of a file or a string written in the markup language increases, the user can configure the search algorithm without difficulty. Further, Can proceed.

아래는 검색 대상으로 정의한 마크업언어의 구문 패턴 및 상기 검색 대상과 일치하는 마크업언어의 구문 패턴을 비교한 표이다. The following is a table comparing the syntax pattern of a markup language defined as a search target and the syntax pattern of a markup language matching the search target.

구문 패턴 검색 예1Syntax Pattern Search Example 1 검색 대상 구문 패턴Search target syntax pattern 마크업언어 문서 내 대응하는 구문 패턴Corresponding syntax patterns in markup language documents <div>

<div class="slide">
<img>
<span></span>
</div>
...
<div class="slide">
<img>
<span></span>
</div>
</div>
<div>

<div class = "slide">
<img>
<span></span>
</ div>
...
<div class = "slide">
<img>
<span></span>
</ div>
</ div>
<div id="swipeView1" data-size="x:100, y=100, width:200, height:100>
<div class="slide">
<img src="test1.jpg">
<span>TESTING_A</span>
</div>
...
<div class="slide">
<img src="test2.jpg">
<span>TESTING_B</span>
</div>
</div>
<div id = "swipeView1" data-size = "x: 100, y = 100, width: 200,
<div class = "slide">
<img src = "test1.jpg">
<span> TESTING_A </ span>
</ div>
...
<div class = "slide">
<img src = "test2.jpg">
<span> TESTING_B </ span>
</ div>
</ div>

표 1에서 보는 것과 같이, 본 발명은 마크업언어 내의 특정 구문 패턴을 검색 대상으로 삼을 수 있다.As shown in Table 1, the present invention can search for a specific syntax pattern in a markup language.

한편, 아래와 같은 구문 패턴은 구조가 다르기 때문에 검색 결과에 포함되지 않을 것이다.On the other hand, the following syntax pattern will not be included in the search result because of the different structure.

구문 패턴 검색 예2Syntax Pattern Search Example 2 검색 대상 구문 패턴Search target syntax pattern 마크업언어 문서 내 대응하지 않는 구문 패턴Unsupported syntax patterns in markup language documents <div>
<div class="slide">
<img>
<span></span>
</div>
...
<div class="slide">
<img>
<span></span>
</div>
</div>
<div>
<div class = "slide">
<img>
<span></span>
</ div>
...
<div class = "slide">
<img>
<span></span>
</ div>
</ div>
<div>
<div class="not_slide">
<a src="test3.html">
</div>
</div>
<div>
<div class = "not_slide">
<a src="test3.html">
</ div>
</ div>

이벤트 실행부(500)는 상기 마크업 검색부(400)에서의 검색 결과에 따라 상기 파서 정의부(300)에서 설정된 이벤트를 실행한다. 즉, 마크업 검색부(400)에서 사용자가 원하는 검색 대상을 찾으면 본 이벤트 실행부(500)는 사용자가 지정한 특정 이벤트를 실행시키며, 바람직하게는 해당 검색 대상으로부터 특정 정보를 추출해 내거나 추출된 정보를 바탕으로 새로운 데이터 포맷으로의 변환 또는 생성을 할 수도 있다.
The event execution unit 500 executes an event set in the parser definition unit 300 according to the search result in the markup search unit 400. [ That is, when the user finds a desired search target in the markup search unit 400, the event execution unit 500 executes a specific event specified by the user, preferably extracts specific information from the search target or extracts the extracted information It is possible to convert or create a new data format.

표 3은 표 1의 검색예로부터 각각 데이터를 추출한 예와 포맷을 변경한 예를 나타낸 것이다.Table 3 shows an example of extracting data from the search example of Table 1 and an example of changing the format.

데이터 추출 예Data extraction example 포맷 변경 예Format change example {
id:"swipeView1",
width : 200,
height : 100
}

{
img : "test1.jpg",
text : TESTING_A
}

...

{
img : "test2.jpg",
text : TESTING_B
}
{
id: "swipeView1",
width: 200,
height: 100
}

{
img: "test1.jpg",
text: TESTING_A
}

...

{
img: "test2.jpg",
text: TESTING_B
}
<div id="swipeView1" style="width:200; height:100;">
</div>

<div class="imgs">
<img src="test1.jpg">
<img src="test2.jpg">
</div>

...

<div class="texts">
<span>TESTING_A</span>
<span>TESTING_B</span>
</div>
</div>
<div id = "swipeView1" style = "width: 200; height: 100;">
</ div>

<div class = "imgs">
<img src = "test1.jpg">
<img src = "test2.jpg">
</ div>

...

<div class = "texts">
<span> TESTING_A </ span>
<span> TESTING_B </ span>
</ div>
</ div>

데이터 출력부(600)는 상기 이벤트 실행부(500)에서의 이벤트 실행에 따른 결과 데이터를 출력하는 기능을 한다. 이 때 데이터를 출력한다는 것의 의미는 이벤트 실행 결과 얻은 데이터를 사용자가 볼 수 있는 형태(출력물 또는 단말기 디스플레이)로 제공하는 것을 의미할 뿐만 아니라, 사용자가 다른 응용프로그램에 이용할 수 있도록 그 결과 데이터를 내부적으로 반환(return)하는 것까지 포함한다는 점에 유의한다. 필요한 경우, 마크업 파싱 장치는 상기 반환된 데이터를 저장할 수 있는 데이터 저장부를 더 포함할 수 있다. The data output unit 600 outputs the result data according to the execution of the event in the event execution unit 500. The meaning of outputting the data at this time is not only to provide the data obtained as a result of executing the event as a form (output or terminal display) that the user can see, but also to internally transmit the resultant data Quot; to &quot; return &quot; to &lt; / RTI &gt; If necessary, the markup parsing apparatus may further include a data storage unit capable of storing the returned data.

표 4는 본 발명의 일실시예에 따라 사용자가 검색하고자 하는 검색 대상 및 검색결과에 따라 실행시키고자 하는 이벤트를 설정한 것을 나타낸 것이다. 이 때, 사용자 입력과 마크업언어 구문 간의 문법 정의는 표 1의 내용을 따르는 것으로 한다.Table 4 shows an event to be executed according to a search object and a search result that a user desires to search according to an embodiment of the present invention. In this case, the grammar definition between the user input and the markup language syntax is assumed to follow the contents of Table 1.

검색 대상 구문 패턴Search target syntax pattern 검색 대상 및 이벤트 설정 예Search target and event setting example
<div>
<div>
<img>
<span></span>
</div>
<div>
<img>
<span></span>
</div>
</div>

<div>
<div>
<img>
<span></span>
</ div>
<div>
<img>
<span></span>
</ div>
</ div>
EXPRESSION:
START_DIV TAGC
START_DIV TAGC
START_IMG TAGC
START_SPAN TAGC END_SPAN
END_DIV
START_DIV TAGC
START_IMG TAGC
START_SPAN TAGC END_SPAN
END_DIV
END_DIV
EOF
{return "component found";}
EXPRESSION:
START_DIV TAGC
START_DIV TAGC
START_IMG TAGC
START_SPAN TAGC END_SPAN
END_DIV
START_DIV TAGC
START_IMG TAGC
START_SPAN TAGC END_SPAN
END_DIV
END_DIV
EOF
{return "component found";

표 4의 좌측은 사용자가 마크업언어 파일 또는 문자열 내에서 검색하고자 하는 마크업언어 구문 패턴을 나타낸 것이고, 우측은 사용자의 입력에 의해 파서 정의부(300)가 검색 대상 및 이벤트를 설정한 것을 나타낸 것이다. 특히 이벤트는 중괄호 내부에 명령어, 함수 등을 입력함으로써 설정할 수 있다. The left side of Table 4 shows the markup language syntax pattern that the user wants to search in the markup language file or character string and the right side shows that the parser defining unit 300 sets the search target and the event by the user's input will be. In particular, events can be set by entering commands, functions, etc. inside braces.

따라서 표 4와 같은 사용자 설정에 따라 본 발명의 실시가 이루어지는 경우, 수신한 마크업언어로 작성된 파일 또는 문자열 내에 좌측과 같은 패턴이 검색된다면, “component found” 라는 문자열이 데이터 출력부(600)를 통해 출력될 것이다. Accordingly, when the present invention is implemented according to the user setting as shown in Table 4, if the left-side pattern is searched in the file or character string created in the received markup language, the character string &quot; component found &quot;Lt; / RTI &gt;

도4는 도2의 마크업 파싱 장치에 있어 마크업 검증부(800), 스크립트 데이터베이스(900)가 더 포함된 블록도이다.FIG. 4 is a block diagram further illustrating the markup verifying unit 800 and the script database 900 in the markup parsing apparatus of FIG.

마크업 검증부(800)는 마크업 수신부(100)에서 수신한 마크업언어로 작성된 파일 또는 문자열을 구성하는 마크업언어 구문이 문법에 맞는지 여부를 확인하는 기능을 한다. 마크업 검증부(800)는 마크업언어 태그가 영문 철자에 맞는지 여부 또는 마크업언어 구조가 문법에 맞게 작성되었는지 여부를 확인한다. The markup verifying unit 800 checks whether the markup language syntax constituting the file or the string created in the markup language received by the markup receiving unit 100 conforms to the grammar. The markup verification unit 800 checks whether the markup language tag matches the English spelling or whether the markup language structure is created in accordance with the grammar.

본 마크업 파싱 장치는 마크업 검증부(800)를 별도로 구비함으로써, 기본적으로 피검색 대상인 마크업언어로 작성된 파일 또는 문자열이 문법에 맞게 작성되었는지를 체크한 이후 검색 대상 탐색 및 이벤트 실행을 행하게 된다. 즉, 본 발명은 기본적으로 마크업언어 문법이 유효한지를 먼저 체크하고 난 후 특정 패턴을 검색하는 두 개의 단계로 이루어진다. 별도의 마크업 검증부(800)없다면, i) 문법상 오류가 있는 마크업언어로 작성된 파일 또는 문자열을 대상으로 검색을 수행하는 경우 사용자가 원하는 검색 결과를 얻을 수 없는 문제, ii) 하드웨어적으로 불필요한 검색을 수행하게 되어 시간적, 자원적 낭비를 초래할 수 있는 문제 등을 초래할 수 있으며, 이에 본 발명은 마크업 검증부(800)을 구비함으로써 상기와 같은 문제점을 해소할 수 있게 되었다.This markup parsing apparatus is provided with a markup verifying unit 800 separately so that a search target and an event are executed after checking whether a file or character string created in a markup language to be searched is searched for in accordance with a grammar . That is, the present invention basically consists of two steps of first checking whether the markup language grammar is valid, and then searching for a specific pattern. If there is no separate markup verification unit 800, i) a problem that a user can not obtain a desired search result when performing a search for a file or a string written in a markup language with a grammatical error, ii) Unnecessary search may be performed, which may result in time and resource waste, and the present invention can solve the above problems by providing the markup verifying unit 800.

또한 마크업 파싱 장치는 사용자 입력시 사용자에게 자바스크립트 구문정보를 제공하기 위한 스크립트 데이터베이스(900)를 더 포함할 수 있다. 본 발명의 바람직한 실시예에 따르면 사용자 입력부(200)를 통해 입력받는 검색 대상 및 이벤트는 스크립트를 기반으로 한 것이다. 따라서 본 발명은 일반 개인이 숙지하고 있기에는 다소 방대한 스크립트 구문정보를 별도 구비된 데이터베이스를 통해 사용자에게 제공함으로써 사용자가 검색하고자 하는 대상 및 실행시키고자 하는 이벤트를 보다 적절하게 구현할 수 있게 한다. The markup parsing apparatus may further include a script database 900 for providing JavaScript syntax information to a user upon user input. According to a preferred embodiment of the present invention, a search object and an event input through the user input unit 200 are based on a script. Accordingly, the present invention provides a rather large amount of script syntax information to a user through a separately provided database, so that a user can more appropriately implement an object to be searched and an event to be executed.

한편, 상기 스크립트는 PERL, 자바스크립트(JavaScript), VBSscript 등 다양한 종류의 스크립트 언어를 포함한 것을 의미하며, 따라서 스크립트 데이터베이스(900) 역시 각각의 스크립트 언어에 대한 구문정보를 포함할 수 있다.Meanwhile, the script includes various types of script languages such as PERL, JavaScript, VBScript, etc. Thus, the script database 900 may also include syntax information for each script language.

나아가 상기 스크립트 데이터베이스(900)가 제공하는 구문정보는 구조, 연산자 또는 함수 중 적어도 어느 하나를 포함하는 것을 특징으로 한다.Further, the syntax information provided by the script database 900 includes at least one of a structure, an operator, and a function.

이하에서는 첨부된 도5 및 도6을 기준으로 마크업 파싱 방법에 대해 설명한다.Hereinafter, the markup parsing method will be described with reference to FIGS. 5 and 6 attached hereto.

도 5는 마크업 파싱 방법의 일 실시예를 나타내는 흐름도이다.5 is a flow chart illustrating an embodiment of a markup parsing method.

도 5를 참조하면, 마크업 수신부(100)가 마크업언어로 작성된 파일 또는 문자열을 수신하면(S100), 사용자 입력부(200)는 사용자로부터 마크업언어로 작성된 파일 또는 문자열 내에서 검색하고자 하는 검색 대상 및 검색 결과에 따라 실행시키고자 하는 이벤트를 입력 받고 이를 파서 정의부(300)로 전송한다(S110). 여기서, 사용자 입력부(200)가 입력 받는 사용자 입력은 스크립트(Script) 기반으로 하는 것을 특징으로 할 수 있다. Referring to FIG. 5, when the markup receiving unit 100 receives a file or a string created in a markup language (S100), the user input unit 200 searches the file created in the markup language or the search And inputs the event to be executed according to the object and the search result, and transmits the event to the parser defining unit 300 (S110). Here, the user input that the user input unit 200 receives may be a script based.

파서 정의부(300)는 사용자 입력부(200)로부터 수신한 사용자 입력과 대응되는 마크업언어 구문을 정의하고 마크업 검색부(400)의 검색 대상 및 이벤트 실행부(500)에서 실행하게 될 이벤트를 설정한다(S120).The parser defining unit 300 defines a markup language syntax corresponding to the user input received from the user input unit 200 and defines a search target of the markup search unit 400 and an event to be executed by the event execution unit 500 (S120).

마크업 검색부(400)는 마크업언어로 작성된 파일 또는 문자열 내에 파서 정의부(300)에서 설정된 검색 대상과 대응되는 마크업언어 구문이 존재하는지 검색한다(S130). 이때, 검색 대상은 특정 문자열, 즉 스트링(string) 패턴뿐만 아니라 마크업언어 구문으로 구성된 구문 패턴일 수 있고, 마크업 검색부(400)는 수신한 마크업언어로 작성된 파일 또는 문자열 내에 구문 패턴이 존재하는지 여부를 검색하게 될 것이다.The markup search unit 400 searches the file or character string created in the markup language for a markup language syntax corresponding to the search target set in the parser definition unit 300 (S130). In this case, the search target may be a specific string, that is, a syntax pattern composed of a markup language syntax as well as a string pattern, and the markup search unit 400 may search a file created in the received markup language or a syntax pattern It will search whether it exists or not.

특히, 마크업언어 문서 내에 복잡한 구문 패턴을 가지는 위젯 구현 부분이 존재하는 경우, 사용자는 검색하고자 하는 위젯의 구문 패턴을 검색 대상으로 설정함으로써 해당 위젯을 구현하고 있는 구문 영역을 검색할 수도 있다.In particular, if there is a widget implementation part having a complicated syntax pattern in the markup language document, the user may search the syntax area implementing the widget by setting the syntax pattern of the widget to be searched.

S130의 검색결과, 검색 대상과 대응되는 마크업언어 구문이 존재하면 이벤트 실행부(500)는 파서 정의부(300)에서 설정된 이벤트를 실행하고(S140), 데이터 출력부(600)는 이벤트 실행의 결과로서 생성된 데이터를 출력한다(S150). 이때, 이벤트 실행부(500)가 실행하게 되는 이벤트는 마크업 검색부(400)에 의해 검색된 마크업언어 구문으로부터 특정 데이터를 추출해 내거나 또는 데이터 포맷을 변환할 수 있다.If the markup language syntax corresponding to the search object exists in the search result of S130, the event execution unit 500 executes the event set in the parser definition unit 300 (S140), and the data output unit 600 outputs the event execution And outputs the resultant data (S150). At this time, the event to be executed by the event execution unit 500 may extract specific data from the markup language syntax retrieved by the markup retrieval unit 400, or may convert the data format.

만약, S130의 검색결과, 파서 정의부(300)에서 설정한 검색 대상과 대응되는 마크업언어 구문이 존재하지 않으면, 단계 S110로 되돌아가 검색 대상을 재입력 받을 수 있다. 이는 마크업 파싱 장치 및 방법의 초기 설정에 따라 변경될 수 있는 것이며, 검색 대상인 마크업언어 구문이 존재하지 않더라도 별도의 재입력 단계가 필요치 않다면 더 이상의 단계 진행 없이 해당 단계에서 종료시킬 수도 있음은 물론이다.If the markup language syntax corresponding to the search target set in the parser defining unit 300 does not exist as a result of the search in S130, the process returns to step S110 and the search target can be re-input. This can be changed according to the initial setting of the markup parsing apparatus and method, and even if there is no markup language syntax to be searched, if a separate re-entry step is not required, to be.

도6은 도5의 마크업 파싱 방법에 자바스크립트 구문정보 제공단계 및 마크업언어 구문 검증단계가 더 포함된 실시예를 나타낸 흐름도이다.6 is a flowchart illustrating an embodiment in which JavaScript syntax information providing step and markup language syntax verification step are further included in the markup parsing method of FIG.

도 6을 참조하면, 마크업 수신부(100)는 마크업언어로 작성된 파일 또는 문자열을 수신하면(S200), 스크립트 데이터베이스(900)는 사용자에게 스크립트 구문정보를 제공한다(S210). 여기서, 스크립트 구문 정보는 스크립트를 사용하는데 필요한 구조, 연산자, 함수 등을 포함할 수 있다.Referring to FIG. 6, when the markup receiving unit 100 receives a file or a string written in the markup language (S200), the script database 900 provides the script syntax information to the user (S210). Here, the script syntax information may include a structure, an operator, a function, and the like necessary for using a script.

사용자 입력부(200)는 사용자로부터 마크업언어로 작성된 파일 또는 문자열 내에서 검색하고자 하는 검색 대상 및 검색 결과에 따라 실행시키고자 하는 이벤트를 입력 받고 이를 파서 정의부(300)로 전송한다(S220).The user input unit 200 receives an event to be executed according to a search target and a search result to be searched in a markup language file or a character string from a user and transmits the event to the parser defining unit 300 in step S220.

파서 정의부(300)는 사용자 입력부(200)로부터 수신한 사용자 입력과 대응되는 마크업언어 구문을 정의하고 마크업 검색부(400)의 검색 대상 및 이벤트 실행부(500)에서 실행하게 될 이벤트를 설정하고(S230), 마크업 검증부(800)는 마크업언어로 작성된 파일 또는 문자열이 문법에 맞는지 검증한다(S240).The parser defining unit 300 defines a markup language syntax corresponding to the user input received from the user input unit 200 and defines a search target of the markup search unit 400 and an event to be executed by the event execution unit 500 (S230), and the markup verification unit 800 verifies whether the file or character string written in the markup language conforms to the grammar (S240).

단계 S240의 검증 결과 마크업언어 구문이 문법에 맞으면, 마크업 검색부(400)는 마크업언어로 작성된 파일 또는 문자열 내에 파서 정의부(300)에서 설정된 검색 대상과 대응되는 마크업언어 구문이 존재하는지 검색한다(S250).If it is determined in step S240 that the markup language syntax satisfies the grammar, the markup search unit 400 determines whether the markup language syntax corresponding to the search target set in the parser definition unit 300 exists in the file or the character string created in the markup language (S250).

단계 S250의 검색결과, 검색 대상과 대응되는 마크업언어 구문이 존재하면 이벤트 실행부(500)는 파서 정의부(300)에서 설정된 이벤트를 실행하고(S260), 데이터 출력부(600)는 이벤트 실행의 결과로서 생성된 데이터를 출력한다(S270).If the markup language syntax corresponding to the search target exists in the search result of step S250, the event execution unit 500 executes the event set in the parser definition unit 300 (S260), and the data output unit 600 executes the event execution And outputs the generated data as a result of the comparison (S270).

단계 S240의 검증 결과 마크업언어 구문이 문법에 맞지 않으면, 다시 S200단계로 돌아가 마크업언어로 작성된 다른 파일 또는 문자열을 재수신 할 수도 있다. 그러나 마크업언어 구문이 문법에 맞지 않는다 하더라도 별도의 마크업언어로 작성된 파일 또는 문자열을 재수신 할 필요가 없다면 해당 마크업 파싱 방법의 실시를 바로 종료시킬 수도 있음은 앞서 설명한 것과 같다. If the verification result in step S240 is that the markup language syntax does not match the grammar, the process may return to step S200 to re-receive another file or character string written in the markup language. However, even if the markup language syntax does not fit the grammar, if it is not necessary to re-receive a file or a string written in a separate markup language, the execution of the markup parsing method may be immediately terminated as described above.

한편, 본 발명의 다른 측면에 따르면, 마크업 파싱 장치에 의해 실행될 때, (a) 마크업 수신부가 마크업언어로 작성된 파일 또는 문자열을 수신하는 단계, (b) 사용자 입력부가 사용자로부터 상기 마크업언어로 작성된 파일 또는 문자열에서 검색하고자하는 검색 대상 및 검색 결과에 따라 실행시키고자 하는 이벤트를 입력받아 파서 정의부로 전송하는 단계, (c) 파서 정의부가 상기 사용자 입력부로부터 수신한 사용자 입력과 대응되는 마크업언어 구문을 정의하고, 마크업 검색부의 검색 대상 및 이벤트 실행부에서 실행하게 될 이벤트를 설정하는 단계, (d) 마크업 검색부가 상기 마크업언어로 작성된 파일 또는 문자열 내에 상기 파서 정의부에서 설정된 검색 대상과 대응되는 마크업언어 구문이 존재하는지 검색하는 단계, (e) 이벤트 실행부가 상기 파서 정의부에서 설정된 이벤트를 실행하는 단계, 및 (f) 데이터 출력부가 상기 이벤트 실행의 결과로서 생성된 데이터를 출력하는 단계를 포함하는 마크업 파싱 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록 매체가 제공된다.According to another aspect of the present invention, there is provided a markup parser comprising: (a) a markup receiver receiving a file or character string written in a markup language; (b) A parser definition unit operable to receive a search result to be searched from a file or a string written in a language and an event to be executed according to the search result and to transmit the event to a parser definition unit; Up language syntax, and setting an event to be executed by the search target and the event executing unit of the markup search unit, (d) setting a markup search unit in the file or character string created in the markup language Retrieving whether the markup language syntax corresponding to the search object exists, (e) (F) a step of outputting data generated as a result of the execution of the event by the data outputting unit, and a recording medium readable by the electronic apparatus / RTI &gt;

이러한 마크업 파싱 방법은 프로그램으로 작성 가능하며, 프로그램을 구성하는 코드 및 코드 세그먼트들은 당해 분야의 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 마크업 파싱 방법에 관한 프로그램은 전자장치가 읽을 수 있는 정보저장매체(Readable Media)에 저장되고, 전자장치에 의하여 읽혀지고 실행될 수 있다.The markup parsing method can be written in a program, and the code and code segments constituting the program can be easily deduced by a programmer in the field. Further, the program relating to the markup parsing method can be stored in an information storage medium (Readable Media) readable by an electronic apparatus, readable and executed by an electronic apparatus.

본 발명의 바람직한 실시예 및 응용예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예 및 응용예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 구별되어 이해되어서는 안 될 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. It will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the present invention.

본 발명은 웹 페이지에 대한 정보 검색, 가공 분야에 적용될 수 있으며, 특히 마크업언어로 작성된 문서 또는 문자열 내에서 마크업언어 구문을 기반으로 검색을 행할 수 있어 단순 스트링(string) 패턴뿐만 아니라 복잡한 구조로 이루어진 구문을 해석, 검색할 수 있는 장치, 방법 및 기록매체를 제공한다. 또한 본 발명은 구문을 기반으로 검색을 수행하므로 마크업언어로 작성된 파일 또는 문자열 구조의 복잡도가 증가하더라도 사용자가 원하는 검색대상을 쉽게 찾을 수 있는 검색수단을 제공하며, 나아가 상기 마크업언어로 작성된 파일 또는 문자열이 마크업언어 구문 문법에 맞게 작성된 것인지 검증할 수 있는 수단을 제공함으로써, 사용자가 상기 마크업언어 파일, 문자열 내 오류가 존재하는지 여부를 알 수 있게 할 뿐만 아니라 문법 오류가 없는 마크업언어로 작성된 파일 또는 문자열을 대상으로 검색을 수행하기 때문에 검색대상을 정확하고 신속하게 찾아 사용자에게 제공할 수 있는 바, 이에 비추어 볼 때 본 발명은 산업상 이용 가능성이 있는 유용한 발명이다.
The present invention can be applied to the field of information retrieval and processing for a web page. In particular, it is possible to perform search based on a markup language syntax in a document or a string written in a markup language, so that not only a simple string pattern, An apparatus, a method, and a recording medium capable of analyzing and searching a phrase composed of a plurality of words. Further, the present invention provides a search means that allows a user to easily find a desired search target even if the complexity of a file or a string structure written in a markup language increases, because the search is performed based on a syntax. Further, Or a string is written in accordance with the markup language syntax grammar so that the user can know whether the markup language file, the error in the string exists or not, as well as a markup language without grammatical error It is possible to find out the search target accurately and quickly and to provide the search target to the user. Accordingly, the present invention is a useful invention having industrial applicability.

100: 마크업 수신부 200: 사용자 입력부
300: 파서 정의부 400: 마크업 검색부
500: 이벤트 실행부 600: 데이터 출력부
700: 제어부 800: 마크업 검증부
900: 스크립트 데이터베이스
100: Markup receiving unit 200: User input unit
300: Parser definition unit 400: Markup search unit
500: Event execution unit 600: Data output unit
700: control unit 800: markup verification unit
900: Script database

Claims (13)

마크업언어로 작성된 파일 또는 문자열을 수신하는 마크업 수신부;
상기 마크업언어로 작성된 파일 또는 문자열에서 사용자가 정의하고자 하는 마크업언어 구문, 검색하고자 하는 검색대상 및 검색결과에 따라 실행시키고자 하는 이벤트를 사용자로부터 입력받는 사용자 입력부;
상기 사용자 입력부로부터 수신한 입력과 대응되는 마크업언어 구문을 정의하고, 마크업 검색부의 검색대상 및 이벤트 실행부에서 실행하게 될 이벤트를 설정하는 파서 정의부;
상기 마크업언어로 작성된 파일 또는 문자열 내에 상기 파서 정의부에서 설정된 검색 대상과 대응되는 마크업언어 구문이 존재하는지 검색하는 마크업 검색부;
상기 마크업 검색부에서의 검색 결과에 따라 상기 파서 정의부에서 설정된 이벤트를 실행하는 이벤트 실행부; 및
상기 이벤트 실행부에서의 이벤트 실행에 따른 결과 데이터를 출력하는 데이터 출력부;
를 포함하는 마크업 파싱 장치.
A markup receiving unit for receiving a file or a string written in a markup language;
A user input unit for receiving, from a user, an event to be executed in accordance with a markup language syntax to be defined by a user in a file or a string created in the markup language, a search target to be searched, and a search result;
A parser defining unit for defining a markup language syntax corresponding to the input received from the user input unit and setting an event to be executed by the search target and the event executing unit of the markup searching unit;
A markup retrieval unit for retrieving a markup language syntax corresponding to a retrieval object set by the parser definition unit in a file or a character string created in the markup language;
An event execution unit for executing an event set by the parser definition unit according to a search result in the markup search unit; And
A data output unit for outputting result data according to event execution in the event execution unit;
The markup parser comprising:
제1항에 있어서,
상기 사용자 입력부가 받는 입력은 스크립트(Script) 기반인 것을 특징으로 하는 마크업 파싱 장치.
The method according to claim 1,
Wherein the input received by the user input unit is script based.
제1항에 있어서,
상기 파서 정의부에 의해 설정되는 검색 대상은 마크업언어 구문으로 구성된 패턴이고, 상기 마크업 검색부는 상기 마크업언어로 작성된 파일 또는 문자열 내에 상기 패턴이 존재하는지 여부를 검색하는 것을 특징으로 하는 마크업 파싱 장치.
The method according to claim 1,
Wherein the search target to be set by the parser defining unit is a pattern composed of a markup language syntax and the markup search unit searches for a presence or absence of the pattern in a file or character string created in the markup language Parsing device.
제1항에 있어서,
상기 마크업 수신부에서 수신한 마크업언어로 작성된 파일 또는 문자열을 구성하는 마크업언어 구문이 문법에 맞는지 여부를 확인하는 마크업 검증부를 더 포함하는 마크업 파싱 장치.
The method according to claim 1,
And a markup verifying unit for verifying whether or not the markup language syntax constituting the file or character string written in the markup language received by the markup receiving unit conforms to the grammar.
제2항에 있어서,
사용자 입력시에, 상기 사용자에게 스크립트 구문정보를 제공하기 위한 스크립트 데이터베이스를 더 포함하는 마크업 파싱 장치.
3. The method of claim 2,
And a script database for providing script syntax information to the user upon user input.
제5항에 있어서,
상기 스크립트 데이터베이스가 제공하는 구문정보는 구조, 연산자 또는 함수 중 적어도 하나를 포함하는 것을 특징으로 하는 마크업 파싱 장치.
6. The method of claim 5,
Wherein the syntax information provided by the script database includes at least one of a structure, an operator, and a function.
제1항에 있어서,
상기 이벤트 실행부는 상기 마크업 검색부에 의해 검색된 마크업언어 구문으로부터 특정 데이터를 추출하거나 데이터 포맷을 변환하는 것을 특징으로 하는 마크업 파싱 장치.
The method according to claim 1,
Wherein the event execution unit extracts specific data or converts a data format from the markup language syntax retrieved by the markup retrieval unit.
(a) 마크업 수신부가 마크업언어로 작성된 파일 또는 문자열을 수신하는 단계;
(b) 사용자 입력부가 상기 마크업언어로 작성된 파일 또는 문자열에서 사용자가 정의하고자 하는 마크업언어 구문, 검색하고자 하는 검색대상 및 검색결과에 따라 실행시키고자 하는 이벤트를 입력 받아 파서 정의부로 전송하는 단계;
(c) 파서 정의부가, 상기 사용자 입력부로부터 수신한 사용자 입력과 대응되는 마크업언어 구문을 정의하고, 마크업 검색부의 검색대상 및 이벤트 실행부에서 실행하게 될 이벤트를 설정하는 단계;
(d) 마크업 검색부가 상기 마크업언어로 작성된 파일 또는 문자열 내에 상기 파서 정의부에서 설정된 검색 대상과 대응되는 마크업언어 구문이 존재하는지 검색하는 단계;
(e) 상기 (d) 단계에서의 검색결과, 검색 대상과 대응되는 마크업언어 구문이 존재하면 이벤트 실행부가 상기 파서 정의부에서 설정된 이벤트를 실행하는 단계; 및
(f) 데이터 출력부가 상기 이벤트 실행의 결과로서 생성된 데이터를 출력하는 단계;
를 포함하는 마크업 파싱 방법.
(a) receiving a file or character string written in a markup language by a markup receiving unit;
(b) receiving, from the file or character string created in the markup language, an event to be executed according to a markup language syntax to be defined by the user, a search target to be searched, and a search result, ;
(c) defining a parser definition part, a markup language syntax corresponding to a user input received from the user input part, and setting an event to be executed by the search object and the event execution part of the markup search part;
(d) The markup search unit searches for a markup language syntax corresponding to a search target set in the parser definition unit in a file or character string created in the markup language.
(e) if the markup language syntax corresponding to the search target exists in the search result in the step (d), the event execution unit executes an event set in the parser definition unit; And
(f) the data output unit outputting data generated as a result of executing the event;
/ RTI &gt;
제8항에 있어서,
상기 (d) 단계에서의 검색 결과, 파서 정의부에서 설정한 검색 대상과 대응되는 마크업언어 구문이 존재하지 않으면 (b) 단계로 되돌아가 검색 대상을 재입력 받는 것을 특징으로 하는 마크업 파싱 방법.
9. The method of claim 8,
If the markup language syntax corresponding to the search target set by the parser definition unit does not exist as a result of the search in the step (d), the process returns to step (b) to re-input the search target .
제8항에 있어서,
(c) 단계 이후,
마크업 검증부가, 상기 수신한 마크업언어로 작성된 파일 또는 문자열을 구성하는 마크업언어 구문이 문법에 맞는지 여부를 확인하는 단계(c1)를 더 포함하는 마크업 파싱 방법.
9. The method of claim 8,
After step (c)
The markup verifying unit further includes a step (c1) of checking whether the markup language syntax constituting the file or the string created in the received markup language satisfies the grammar.
제10항에 있어서,
상기 (c1) 단계에서의 검증 결과, 마크업언어 구문이 문법에 맞지 않으면 (a) 단계로 되돌아가 마크업언어로 작성된 다른 파일 또는 문자열을 재수신하는 것을 특징으로 하는 마크업 파싱 방법.
11. The method of claim 10,
If the markup language syntax does not match the grammar as a result of the checking in the step (c1), the process returns to step (a) and another file or character string written in the markup language is re-received.
제8항에 있어서,
(a) 단계 이후,
스크립트 데이터베이스가 사용자에게 구문정보를 제공하는 단계(a1)를 더 포함하고,
(b) 단계에서 사용자 입력부는, 사용자가 상기 제공된 스크립트 구문정보로부터 선택한 구문을 입력 받아 파서 정의부로 전송하는 것을 특징으로 하는 마크업 파싱 방법.
9. The method of claim 8,
After step (a)
(A1) the script database providing syntax information to the user,
wherein the user input unit receives the syntax selected from the provided script syntax information and transmits the syntax to the parser definition unit in step (b).
마크업 파싱 장치에 의해 실행될 때,
(a) 마크업 수신부가 마크업언어로 작성된 파일 또는 문자열을 수신하는 단계;
(b) 사용자 입력부가 상기 마크업언어로 작성된 파일 또는 문자열에서 사용자가 정의하고자 하는 마크업언어 구문, 검색하고자 하는 검색대상 및 검색결과에 따라 실행시키고자 하는 이벤트를 입력 받아 파서 정의부로 전송하는 단계;
(c) 파서 정의부가, 상기 사용자 입력부로부터 수신한 사용자 입력과 대응되는 마크업언어 구문을 정의하고, 마크업 검색부의 검색대상 및 이벤트 실행부에서 실행하게 될 이벤트를 설정하는 단계;
(d) 마크업 검색부가 상기 마크업언어로 작성된 파일 또는 문자열 내에 상기 파서 정의부에서 설정된 검색 대상과 대응되는 마크업언어 구문이 존재하는지 검색하는 단계;
(e) 상기 (d) 단계에서의 검색결과, 검색 대상과 대응되는 마크업언어 구문이 존재하면 이벤트 실행부가 상기 파서 정의부에서 설정된 이벤트를 실행하는 단계; 및
(f) 데이터 출력부가 상기 이벤트 실행의 결과로서 생성된 데이터를 출력하는 단계를 포함하는 마크업 파싱 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록 매체.
When executed by the markup parser,
(a) receiving a file or character string written in a markup language by a markup receiving unit;
(b) receiving, from the file or character string created in the markup language, an event to be executed according to a markup language syntax to be defined by the user, a search target to be searched, and a search result, ;
(c) defining a parser definition part, a markup language syntax corresponding to a user input received from the user input part, and setting an event to be executed by the search object and the event execution part of the markup search part;
(d) The markup search unit searches for a markup language syntax corresponding to a search target set in the parser definition unit in a file or character string created in the markup language.
(e) if the markup language syntax corresponding to the search target exists in the search result in the step (d), the event execution unit executes an event set in the parser definition unit; And
(f) outputting data generated as a result of the execution of the event by the data outputting unit.
KR1020130070703A 2013-06-20 2013-06-20 An apparatus, method and recording medium for Markup parsing KR102095703B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130070703A KR102095703B1 (en) 2013-06-20 2013-06-20 An apparatus, method and recording medium for Markup parsing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130070703A KR102095703B1 (en) 2013-06-20 2013-06-20 An apparatus, method and recording medium for Markup parsing

Publications (2)

Publication Number Publication Date
KR20140147438A true KR20140147438A (en) 2014-12-30
KR102095703B1 KR102095703B1 (en) 2020-04-01

Family

ID=52676227

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130070703A KR102095703B1 (en) 2013-06-20 2013-06-20 An apparatus, method and recording medium for Markup parsing

Country Status (1)

Country Link
KR (1) KR102095703B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190011421A (en) * 2017-07-25 2019-02-07 주식회사 한글과컴퓨터 Documents package translation system
CN111767718A (en) * 2020-07-03 2020-10-13 北京邮电大学 Chinese grammar error correction method based on weakened grammar error feature representation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020061443A (en) 2001-01-18 2002-07-24 (주)투비소프트 Method and system for data gathering, processing and presentation using computer network
KR20040007545A (en) * 2001-06-07 2004-01-24 인터내셔널 비지네스 머신즈 코포레이션 System and method of mapping between software objects and structured language element based documents
KR20060005236A (en) * 2004-07-12 2006-01-17 한국과학기술정보연구원 Information retrieval system for xml documents, its implementation methods, and the storage media containing program sources and the methods thereof
KR20060021186A (en) * 2004-09-02 2006-03-07 에스케이 텔레콤주식회사 Apparatus and method of converting wml to html

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020061443A (en) 2001-01-18 2002-07-24 (주)투비소프트 Method and system for data gathering, processing and presentation using computer network
KR20040007545A (en) * 2001-06-07 2004-01-24 인터내셔널 비지네스 머신즈 코포레이션 System and method of mapping between software objects and structured language element based documents
KR20060005236A (en) * 2004-07-12 2006-01-17 한국과학기술정보연구원 Information retrieval system for xml documents, its implementation methods, and the storage media containing program sources and the methods thereof
KR20060021186A (en) * 2004-09-02 2006-03-07 에스케이 텔레콤주식회사 Apparatus and method of converting wml to html

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190011421A (en) * 2017-07-25 2019-02-07 주식회사 한글과컴퓨터 Documents package translation system
CN111767718A (en) * 2020-07-03 2020-10-13 北京邮电大学 Chinese grammar error correction method based on weakened grammar error feature representation
CN111767718B (en) * 2020-07-03 2021-12-07 北京邮电大学 Chinese grammar error correction method based on weakened grammar error feature representation

Also Published As

Publication number Publication date
KR102095703B1 (en) 2020-04-01

Similar Documents

Publication Publication Date Title
US9268753B2 (en) Automated addition of accessiblity features to documents
JP3879350B2 (en) Structured document processing system and structured document processing method
US10528806B2 (en) Data format conversion
US9690770B2 (en) Analysis of documents using rules
KR100936204B1 (en) Copy and paste processing method, apparatus, and storage medium
US8219901B2 (en) Method and device for filtering elements of a structured document on the basis of an expression
Papadakis et al. Stavies: A system for information extraction from unknown web data sources through automatic web wrapper generation using clustering techniques
CN111176650B (en) Parser generation method, search method, server, and storage medium
KR20080044156A (en) Recording media and character input editing method
CN111831384B (en) Language switching method, device, equipment and storage medium
US20080034288A1 (en) Text-Driven Macros Integrated with a Help System of a Computer Program
US20100185669A1 (en) Efficient incremental parsing of context sensitive programming languages
US20090083300A1 (en) Document processing device and document processing method
JP6952967B2 (en) Automatic translator
CN113419721B (en) Web-based expression editing method, device, equipment and storage medium
Nguyen et al. Varis: IDE support for embedded client code in PHP web applications
US20080005662A1 (en) Server Device and Name Space Issuing Method
KR102095703B1 (en) An apparatus, method and recording medium for Markup parsing
US20080005085A1 (en) Server Device and Search Method
Nghiem et al. Using MathML parallel markup corpora for semantic enrichment of mathematical expressions
CN112307404A (en) Document website setting method, device, equipment and medium based on source file
US20090083620A1 (en) Document processing device and document processing method
JP4207992B2 (en) Structured document processing system and structured document processing method
JP7000709B2 (en) Information processing equipment and programs
CN110618809B (en) Front-end webpage input constraint extraction method and device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant