KR100653189B1 - Apparatus and method for xml document transformming - Google Patents
Apparatus and method for xml document transformming Download PDFInfo
- Publication number
- KR100653189B1 KR100653189B1 KR1020050118385A KR20050118385A KR100653189B1 KR 100653189 B1 KR100653189 B1 KR 100653189B1 KR 1020050118385 A KR1020050118385 A KR 1020050118385A KR 20050118385 A KR20050118385 A KR 20050118385A KR 100653189 B1 KR100653189 B1 KR 100653189B1
- Authority
- KR
- South Korea
- Prior art keywords
- document
- xml
- encoding
- infoset
- vocabulary
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Document Processing Apparatus (AREA)
Abstract
Description
도 1 은 본 발명에 따른 XML 문서 변환 장치의 일실시예 구성도.1 is a configuration diagram of an embodiment of an XML document conversion apparatus according to the present invention.
도 2 는 본 발명에 따른 XML 문서 변환 방법에 대한 일실시예 흐름도.2 is a flowchart of an embodiment of a method for converting an XML document according to the present invention;
도 3 은 본 발명에 따른 XML 문서 변환 방법에 대한 다른 실시예 흐름도.3 is a flowchart of another embodiment of an XML document conversion method according to the present invention;
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
100 : XML 인포셋 문서 101 : ASN 처리부100: XML infoset document 101: ASN processing unit
102 : 부호화부 103 : 어휘 테이블102: encoding unit 103: vocabulary table
104 : 제 1 스트리밍 출력부 105 : 고속 인포셋 문서104: first streaming output unit 105: high-speed infoset document
106 : 역 ASN 처리부 107 : 복호화부106: reverse ASN processing unit 107: decoding unit
108 : 제 2 스트리밍 출력부108: second streaming output unit
본 발명은 기존 텍스트 형식의 확장성 생성 언어(Extensible Markup Language : 이하, "XML"라 함) 인포셋(Infoset) 문서에서 바이너리(Binary) 형태의 고속 인포셋(Fast Infoset) 문서로 변환 및 역변환하는 XML 문서 변환 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 기존의 XML DTD(Document Type Definition) 형식에 따라 정보들을 XML로 표현한 문서를 국제 전기 통신 연합 권고/표준 사항(ITU-T Rec. X.891 | ISO/IEC 24824-1)에 따라 바이너리 형태의 "XML-Binary" 형태로 변환 및 그 역변환을 할 수 있는 XML 문서 변환 장치 및 그 방법에 관한 것이다.The present invention converts and reverse-converts an existing Extensible Markup Language (“XML”) Infoset document in a text format into a Fast Infoset document in Binary form. The present invention relates to an XML document conversion apparatus and a method thereof, and more particularly, to a document expressing information in XML according to the existing XML Document Type Definition (DTD) format, according to ITU-T Rec. X. 891 | ISO / IEC 24824-1) The present invention relates to an XML document conversion device capable of converting a binary "XML-Binary" form and vice versa, and a method thereof.
XML은 기존의 하이퍼텍스트 생성 언어(HyperText Markup Language : 이하, "HTML"라 함)와 무선 마크업 언어(Wireless Markup Language : 이하, "WML"라 함)의 마크업(Mmarkup) 언어처럼 태그(Tag)를 사용하여 문서를 표현한다. 따라서, XML은 기계 친화적인 형태의 문서를 제공하여 시스템 및 사용자(User)가 이해할 수 있는 텍스트 기반 문서를 제공하게 된다. 이러한 형태는 문서를 보다 사용하기 쉽게 하며, 문서의 규격화 및 데이터 표현을 돕게 되는 장점을 갖게 된다. 그러나, XML은 텍스트 기반이기에 그 크기가 대형화되고, 이러한 XML 파일을 네트워크 전송시에는 많은 과부화를 이루키는 문제점이 있었다. 따라서, 표준에 따르는 바이너리-XML(Binary-XML)을 제공하게 되면 이러한 문제점을 해결할 뿐만 아니라, XML 문서 자체가 지니는 장점까지 포용할 수 있다.XML is a tag like the markup language of the existing HyperText Markup Language (hereinafter referred to as "HTML") and the Wireless Markup Language (hereinafter referred to as "WML"). To represent the document. Therefore, XML provides a machine-friendly type of document to provide a text-based document that can be understood by the system and the user. This form makes the document easier to use and has the advantage of helping to standardize the document and present the data. However, since XML is text-based, its size is enlarged, and there is a problem that such an XML file is overloaded in network transmission. Therefore, providing binary-XML conforming to the standard not only solves this problem, but also embraces the advantages of the XML document itself.
XML을 이진화(Binary)함으로 성능을 향상시키고자 하는 노력이 3가지 측면에서 기울여지고 있으며, 그것은 압축, 문서 구조의 분리, 인코딩으로 분류될 수 있 다. 그 중 인코딩 방법 중 고속 인포셋(Fast Infoset : Fast Information set)을 이용한다.Efforts to improve performance by binarizing XML have been made in three aspects, which can be classified into compression, separation of document structure, and encoding. Among them, a fast infoset (fast information set) is used.
고속 인포셋(Fast Infoset)의 장점은 다음과 같다.Advantages of the fast infoset include:
엔드 태그(End-tag)가 필요 없기에 메모리 크기를 줄이며, 파싱시 시간을 절약할 수 있다. 또한, 이스캐이핑(Escaping) 문자가 필요없어 이스캐이퍼(Escaper)를 찾는 소요 시간 및 메모리 크기를 줄일 수 있다. 또한, 해당 내용에 대한 문자의 길이를 미리 정해놓기 때문에 문서의 크기를 예상할 수 있다. 그리고, 반복되는 문자열에 대해 인덱싱 기법을 도입하여 메모리 크기 및 문자열에 파싱에 소요되는 시간을 줄일 수 있다. 또한, 바이너리 형태의 내용물을 자체 포함하고 있고, 비슷한 문서에 대한 어휘(Vocabulary)를 보유하여 여러 문서에 대한 인코딩 및 디코딩 시에 파싱 및 직렬화(Serializing) 시간을 줄일 수 있으며, XML 문서가 지니는 장점 또한 그대로 지니고 있다.No end-tags are required, which reduces memory size and saves time when parsing. It also eliminates the need for escaping characters, reducing the amount of time and memory required to find an escaper. In addition, since the length of the text for the content is determined in advance, the size of the document can be estimated. In addition, an indexing technique may be introduced for repeated strings to reduce memory size and time required for parsing the strings. In addition, it contains binary contents itself, and has a vocabulary for similar documents, reducing parsing and serializing time when encoding and decoding multiple documents, and the advantages of XML documents It has it.
고속 인포셋(Fast Infoset)은 문서의 크기를 줄이고자 테이블과 인덱싱 기법을 사용하고 있다. 처음 나타나는 문자열을 테이블에 저장해 놓고 동일한 문자열이 나타날 경우 인덱스로 대치함으로 XML 문서의 크기를 줄인다. 고속 인포셋(Fast Infoset)을 적용하였을 경우, 문서의 압축율은 압축 기법에 비해 별로 좋지는 않지만 성능상의 향상을 체감할 수 있을 정도는 되며, 부가적으로 일반 XML 문서나 압축된 XML 문서에 비해 접근 성능이 비약적으로 향상되는 것을 확인할 수 있다.Fast Infosets use tables and indexing techniques to reduce document size. Reduce the size of the XML document by storing the first string in the table and replacing it with an index if the same string appears. When Fast Infoset is applied, the compression rate of the document is not very good compared to the compression technique, but it is enough to realize the improvement of performance, and additionally, compared to the general XML document or compressed XML document. You can see that the performance is dramatically improved.
그러나, 현재 C++ 기반 고속 인포셋(Fast Infoset)은 공개 소스 및 실용 유틸리티가 전무한 상태이다.However, there are currently no open source and practical utilities for C ++-based fast infosets.
본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, C++ 언어를 사용하여 기존 텍스트 형식의 XML 인포셋(Infoset : Information set) 문서에서 바이너리 형태의 고속 인포셋(Fast Infoset) 문서로 변환 및 그 역변환 기능을 제공하여 시스템의 성능을 향상시킬 수 있는 XML 문서 변환 장치 및 그 방법을 제공하는데 그 목적 있다.The present invention has been proposed to solve the above problems, and converts an XML Infoset (Infoset: Information set) document in a binary form into a fast Infoset document in binary form and reverse conversion function using a C ++ language. The purpose of the present invention is to provide an XML document conversion apparatus and method for improving the performance of the system.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. Also, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.
상기 목적을 달성하기 위한 본 발명의 장치는, 확장성 생성 언어(XML) 문서 변환 장치에 있어서, XML 인포셋(Inforset) 문서를 고속 인포셋(Fast Infoset) 문서 규격에 맞도록 직렬화하여 조정하기 위한 ASN(Abstract Syntax Notation) 처리 수단; 상기 ASN(Abstract Syntax Notation) 처리 수단에서 출력된 데이터를 부호화하기 위한 부호화 수단; 상기 부호화 수단에서 출력된 데이터를 표현하고, 저장하기 위한 제 1 스트리밍 출력 수단; 상기 고속 인포셋(Fast Infoset) 문서를 XML 인포셋(Infoset) 문서 규격에 맞도록 파싱(Parsing)하여 조정하기 위한 역 ASN(Abstract Syntax Notation) 처리 수단; 상기 역 ASN 처리 수단에서 출력된 데 이터를 복호화하기 위한 복호화 수단; 상기 복호화 수단에서 출력된 데이터를 표현하고, 저장하기 위한 제 2 스트리밍 출력 수단; 및 상기 부호화 수단과 복호화 수단에서 사용되는 어휘 테이블 인덱스를 어휘 테이블 엔트리로 매핑해주기 위한 어휘 매핑 수단을 포함하는 것을 특징으로 한다.An apparatus of the present invention for achieving the above object is, in an extensible generation language (XML) document conversion apparatus, for serializing and adjusting an XML Infoset (Inforset) document to conform to the fast Infoset document standard. Abstract syntax notation (ASN) processing means; Encoding means for encoding data output from the abstract syntax notation (ASN) processing means; First streaming output means for representing and storing data output from said encoding means; Reverse Abstract Syntax Notation (ASN) processing means for parsing and adjusting the fast Infoset document to conform to an XML Infoset document standard; Decoding means for decoding data output from the inverse ASN processing means; Second streaming output means for representing and storing data output from said decoding means; And lexical mapping means for mapping lexical table indices used in the encoding means and the decoding means into lexical table entries.
한편, 본 발명의 방법은, 확장성 생성 언어(XML) 문서 변환 방법에 있어서, 고속 인포셋(Fast Infoset)을 저장할 파일을 생성하고, 직렬화기(Serializer)를 생성하는 입/출력 스트리밍 인터페이스 할당 단계; 시작 문서를 호출하고, 호출된 시작 문서의 헤더를 인코딩(Encoding)한 후, 어휘를 초기화하는 문서 시작 단계; 프리픽싱(Prefixing)을 시작하고, 네임스페이스(Namespace)를 가지는지 확인하여, 네임스페이스(Namespace)를 가지지 않으면 요소(Element)를 가지는지 확인하고, 네임스페이스(Namespace)를 가지면 네임스페이스(Namespace)를 인코딩한 후, 상기 요소(Element)를 가지는지 확인하는 과정으로 진행하는 프리픽싱 단계; 및 상기 요소(Element)를 가지는지 확인하는 과정에서 요소(Element)를 가지면 요소(Element)를 시작하고, 속성(Attribute)을 가지는지를 확인하여 상기 확인 결과, 속성(Attribute)을 가지면 문자(Characters)를 인코딩하고, 다른 속성을 가지는지 확인하여 다른 속성을 가지면 문자(Characters)를 인코딩하는 과정으로 진행하고, 다른 속성을 가지지 않으면 요소(Element)를 인코딩하고, 상기 요소(Element)를 종료하는 요소(Element) 인코딩 단계를 포함하는 것을 특징으로 한다.In the method of the present invention, in the extensibility generation language (XML) document conversion method, an input / output streaming interface allocation step of generating a file to store a fast infoset and generating a serializer ; A document starting step of calling a starting document, encoding a header of the called starting document, and initializing a vocabulary; Start Prefixing, make sure you have a namespace, make sure you have an element if you don't have a namespace, and get a namespace if you have a namespace A encoding step of proceeding to a process of confirming whether the element has been encoded after encoding; And if the element has an element in the process of checking whether the element has the element, the element is started, and if the element has the attribute, if it has the attribute, if the attribute has the character, the character Encode the character string, check if it has other properties, and if it has other properties, proceed to encoding characters. If not, encode the element and terminate the element. Element) encoding step.
또한, 본 발명의 다른 방법은, 확장성 생성 언어(XML) 문서 변환 방법에 있어서, 입력 스트리머(Streamer)를 설정하고, 파서(Parser)를 생성한 후, 파싱 (Parsing)을 수행한 후, 헤더(Header)를 디코딩(Decoding)하는 초기화 단계; 고속 인포셋(Fast Infoset) 문서임을 확인하여 고속 인포셋(Fast Infoset) 문서를 시작하는 고속 인포셋(Fast Infoset) 문서 체크 단계; 요소(Element)를 가짐을 확인하여 요소(Element)를 시작하고, 상기 요소(Element) 시작 후, 상기 요소(Element)를 디코딩하고, 속성(Attribute)을 디코딩하는 디코딩 단계; 및 마지막 요소(Element)까지 디코딩하고, 다른 요소(Element)를 가지는지 확인하여, 다른 요소(Element)가 없으면 문서를 종료하는 종료 단계를 포함하는 것을 특징으로 한다.In addition, another method of the present invention, in the Extensible Generation Language (XML) document conversion method, after setting the input streamer (Streamer), generating a Parser (Parser), after parsing (Parsing), An initialization step of decoding a header; A Fast Infoset document checking step of identifying a Fast Infoset document and starting a Fast Infoset document; A decoding step of starting an element by confirming that the element has an element, decoding the element after decoding the element, and decoding an attribute; And a final step of decoding up to the last element and checking whether there is another element, and ending the document if there is no other element.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1 은 본 발명에 따른 XML 문서 변환 장치의 일실시예 구성도이다.1 is a configuration diagram of an XML document conversion apparatus according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명에 따른 XML 문서 변환 장치는, XML 인포셋(Infoset) 문서(100)를 고속 인포셋(Fast Infoset) 문서(105) 규격에 맞도록 직렬화하여 조정하는 ASN(Abstract Syntax Notation) 처리부(101), 상기 ASN 처리부(101)에서 출력된 데이터를 부호화하는 부호화부(102), 상기 부호화부(102)에서 출력된 데이터를 표현하고, 저장하는 제 1 스트리밍 출력부(104), 상기 고속 인포셋 (Fast Infoset) 문서(105)를 XML 인포셋(Infoset) 문서(100) 규격에 맞도록 파싱(Parsing)하여 조정하는 역 ASN(Abstract Syntax Notation) 처리부(106), 상기 역 ASN 처리부(106)에서 출력된 데이터를 복호화하는 복호화부(107), 상기 복호화부(107)에서 출력된 데이터를 표현하고, 저장하는 제 2 스트리밍 출력부(108), 그리고 상기 부호화부(102)와 복호화부(107)에서 사용되는 어휘 테이블 인덱스를 어휘 테이블 엔트리로 매핑해주는 어휘 테이블(103)를 포함한다.As shown in FIG. 1, an XML document conversion apparatus according to the present invention includes an ASN (SSN) that serializes and adjusts an XML
상기 ASN 처리부(101)는 XML 문서를 고속 인포셋(Fast Infoset) 문서(105) 규격에 맞도록 조정해 준다.The ASN
부호화부(102)는 상기 ASN 처리부(101)와 병행하여 진행된다. 부호화(Encoding) 규칙은 메시지를 어떻게 정의하여 사용하는가를 정의한 것이다. 이는 서로 다른 다양한 네트워크 시스템상에서 표준화된 메시지(Message) 부호화 규칙을 제공하기 위한 것이다. 상기 부호화부(102)는 "ASN.1 Encoding Control Notation (ECN)"을 사용한다. ECN(Encoding Control Notation)은 표준화 인코딩 규칙인 PER(Packed Encoding Rule)/BER(Binary Encoding Rule)에 자유성을 주어 자기 자신만의 인코딩 규칙을 정의할 수 있도록 하며 고속 인포셋(Fast Infoset) 스펙에서 ECN(Encoding Control Notation)을 정의해 놓고 있어 해당 스펙에 따라 부호화부(102)를 작성한다.The
상기 어휘(Vocabulary) 테이블(103)은 어휘(Vocabulary) 테이블 인덱스를 어휘(Vocabulary) 테이블 엔트리(Entry)로 매핑해주는 테이블이다. 상기 어휘(Vocabulary) 테이블(103)의 목적은 빈번하게 사용되는 문자열에 대한 어휘 (Vocabulary) 테이블 엔트리를 어휘(Vocabulary) 테이블 인덱스를 사용하여 표현함으로써 데이터 처리 시간과 메모리 사용공간을 줄이고자 함에 있다. 또한, 어휘(Vocabulary) 테이블(103)은 해쉬 알고리즘(Hash algorithm)을 사용하여 구현되며 같은 해쉬 값을 갖게 되는 어휘(Vocabulary)는 같은 어휘(Vocabulary) 테이블 인덱스를 갖게 된다.The vocabulary table 103 is a table that maps a vocabulary table index to a vocabulary table entry. The purpose of the vocabulary table 103 is to reduce data processing time and memory space by expressing vocabulary table entries for frequently used character strings using vocabulary table indexes. In addition, the vocabulary table 103 is implemented using a hash algorithm, and a vocabulary having the same hash value has the same vocabulary table index.
XML 문서의 역변환은 ASN.1 처리(Processing)에 의해 진행된 고속 인포셋(Fast Infoset) 문서를 그 순서에 맞게 역 디코딩 하게된다. 순서는 역 ASN 처리(Reverser ASN.1 processing)에 따라서 진행된다. 고속 인포셋(Fast Infoset) 표준 스펙은 복호화(Decoding) 알고리즘을 별도로 작성하지 않았기 때문에 인코딩 절차를 재분석하여 역으로 고속 인포셋(Fast Infoset)에서 XML 인포셋(Infoset) 문서로 변환시켜 주게 된다.Inverse transformation of the XML document inversely decodes the Fast Infoset document, which was processed by ASN.1 processing, in that order. The procedure proceeds according to Reverse ASN.1 processing. Fast Infoset standard specification does not write the decoding algorithm separately, so it re-analyzes the encoding process and converts from Fast Infoset to XML Infoset document.
스트리밍 출력부(104, 108)는 결과값에 대한 저장 및 표현 방법을 정의한 것으로써, 본 발명에서는 "C++" 표준 라이버르러인 "I/O ifstream class"를 사용한다.The
도 2 는 본 발명에 따른 XML 문서 변환 방법에 대한 일실시예 흐름도로서, XML 인포셋(Infoset) 문서를 고속 인포셋(Fast Infoset) 문서로 변환하는 방법을 나타낸다.2 is a flowchart illustrating a method of converting an XML document according to an embodiment of the present invention, and illustrates a method of converting an XML Infoset document into a Fast Infoset document.
도 2에 도시된 바와 같이, 본 발명에 따른 XML 문서 변환 방법은, 먼저 고속 인포셋(Fast Infoset)을 저장할 파일을 생성하고(201), 직렬화기(Serializer)를 생성한 후(202), 시작 문서를 호출한다(203).As shown in FIG. 2, the XML document conversion method according to the present invention first generates a file to store a fast infoset (201), generates a serializer (Serializer), and then starts (202). Call the document (203).
다음으로, 호출된 시작 문서의 헤더를 인코딩(Encoding)한 후(204), 어휘를 초기화한다(205).Next, after encoding the header of the called start document (204), the vocabulary is initialized (205).
이어서, 초기화 어휘를 가지고 있는지를 확인한다(206).Next, it is checked whether it has an initialization vocabulary (206).
상기 확인 결과(206), 초기화 어휘를 가지고 있으면 존재하는 초기화 어휘로 셋팅하고(208), 프리픽싱(Prefixing)을 시작하고(210), 초기화 어휘를 가지고 있지 않으면 외부 어휘를 가지고 있는지를 확인하여(207), 외부 어휘를 가지고 있으면 외부 어휘로 셋팅한 후(209), 프리픽싱(Prefixing) 시작 과정(210)으로 진행하고, 외부 어휘를 가지고 있지 않으면 상기 프리픽싱(Prefixing) 시작 과정(210)으로 진행한다.As a result of the
프리픽싱(Prefixing)이 시작되면(210), 네임스페이스(Namespace)를 가지는지 확인하여(211), 네임스페이스(Namespace)를 가지지 않으면 요소(Element)를 가지는지 확인하고(213), 네임스페이스(Namespace)를 가지면 네임스페이스(Namespace)를 인코딩한 후(212), 요소(Element)를 가지는지 확인하는 과정(213)으로 진행한다.When Prefixing is started (210), it checks whether it has a namespace (211), and if it does not have a namespace, it checks whether it has an element (213), and the namespace ( If there is a Namespace, after encoding the Namespace (212), the process proceeds to step 213 to check whether the Element (Element).
상기 요소(Element)를 가지는지 확인하는 과정(213)에서 요소(Element)를 가지지 않으면 문서를 종료하고(221), 파일을 닫으며(222), 요소(Element)를 가지면 요소(Element)를 시작하고(214), 속성(Attribute)을 가지는지를 확인한다(215).In the
상기 확인 결과(215), 속성(Attribute)을 가지면 문자(Characters)를 인코딩하고(216), 다른 속성을 가지는지 확인하여(217) 다른 속성을 가지면 문자(Characters)를 인코딩하는 과정(216)으로 진행하고, 다른 속성을 가지지 않으면 요소(Element)를 인코딩하고(218), 상기 요소(Element)를 종료한다(219).As a result of the verification (215), if the attribute (Attribute) has a character (Characters) is encoded (216), if there is a different attribute (217) if the other attribute has a character (Characters) encoding process (216) If it does not have other attributes, it encodes the element (218) and terminates the element (219).
다시, 다른 요소(Element)가 있는지 확인하여(220), 다른 요소(Element)가 없으면 문서를 종료하는 과정(221)으로 진행하고, 다른 요소(Element)가 있으면 상기 요소(Element) 시작 과정(214)으로 진행한다.Again, if there is another element (220), if there is no other element (Element), the process proceeds to the end of the document (221), if there is another element (Element) process of starting the element (214) Proceed to).
도 3 은 본 발명에 따른 XML 문서 변환 방법에 대한 다른 실시예 흐름도로서, 고속 인포셋(Fast Infoset) 문서를 XML 인포셋(Infoset) 문서로 변환하는 방법을 나타낸다.3 is a flowchart of another embodiment of an XML document conversion method according to the present invention, and illustrates a method of converting a fast infoset document into an XML infoset document.
도 3에 도시된 바와 같이, 본 발명에 따른 XML 문서 변환의 다른 방법은, 먼저 입력 스트리머(Streamer)를 설정하고(301), 파서(Parser)를 생성한 후(302), 파싱(Parsing)을 수행한 후(303), 헤더(Header)를 디코딩(Decoding)한다(304).As shown in FIG. 3, another method of XML document conversion according to the present invention first sets up an input streamer (301), generates a parser (302), and then parses it. After
다음으로, 고속 인포셋(Fast Infoset) 문서인지 확인한다(305).Next, it is checked whether it is a fast infoset document (305).
상기 확인 결과(305), 고속 인포셋(Fast Infoset) 문서가 아니면 파일 시스템을 닫고(318) 종료하며, 고속 인포셋(Fast Infoset) 문서이면 문서를 시작한다(306).As a result of the
먼저, 요소(Element)를 가지는지 확인하는데(307), 요소(Element)를 가지지 않으면 문서를 종료하고(317), 상기 파일 시스템 닫는 과정(318)으로 진행한다.First, it checks whether it has an element (307). If it does not have an element, the document is terminated (317), and the process of closing the file system (318) proceeds.
만약, 요소(Element)를 가지면 네임스페이스(Namespace)인지 확인하여(308), 네임스페이스(Namespace)이면 프리픽스(Prefix) 시작 후(309), 요소(Element)를 시작하고(310), 네임스페이스(Namespace)가 아니면 바로 요소(Element)를 시작한다(310).If the element has an element, check whether it is a namespace (308). If it is a namespace, start with a prefix (309), start an element (310), and then use a namespace ( If not, the Element starts immediately (310).
요소(Element) 시작 후(310), 요소(Element)를 디코딩하고(311), 속성 (Attribute)을 가지는지 확인하여(312), 속성(Attribute)을 가지면 속성(Attribute)을 디코딩한다(313). 이는 종료될 때까지(314) 반복수행한다.After the start of the element (310), the element is decoded (311), the element is checked to see if it has an attribute (312), and if it has an attribute, the attribute is decoded (313). . This is repeated until finished (314).
이어서, 마지막 요소(Element)까지 디코딩하고(315), 다른 요소(Element)를 가지는지 확인하여(316), 다른 요소(Element)가 없으면 문서 종료 과정(317)으로 진행하고, 다른 요소(Element)를 가지면 요소(Element) 시작 과정(310)으로 진행한다.Then, it decodes up to the last element (315), checks whether it has another element (316), and if there is no other element, it proceeds to the document termination process (317), and another element If has the process proceeds to the element start process (310).
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디시크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.As described above, the method of the present invention may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily implemented by those skilled in the art will not be described in more detail.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.
상기와 같은 본 발명은, 고속 인포셋(Fast Infoset)이 가지는 장점으로 인하여 XML 문서를 다루는 많은 개발자에게 XML 문서 전송에 따르는 네트워크 전송 시간 및 과부화 해소에 도움을 주는 효과가 있다.The present invention as described above, due to the advantages of the fast infoset (Fast Infoset) has the effect of helping to solve the network transmission time and overload according to the XML document transmission to many developers dealing with XML documents.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050118385A KR100653189B1 (en) | 2005-12-06 | 2005-12-06 | Apparatus and method for xml document transformming |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050118385A KR100653189B1 (en) | 2005-12-06 | 2005-12-06 | Apparatus and method for xml document transformming |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100653189B1 true KR100653189B1 (en) | 2006-12-04 |
Family
ID=37731866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050118385A KR100653189B1 (en) | 2005-12-06 | 2005-12-06 | Apparatus and method for xml document transformming |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100653189B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100917361B1 (en) | 2009-04-21 | 2009-09-16 | 현대유엔아이주식회사 | A message transmission method and the system of ship and land by a satellite communications, message client appratus on a ship and message server on land |
KR20190142841A (en) * | 2018-06-19 | 2019-12-30 | 주식회사 한글과컴퓨터 | Apparatus for generating electronic document defined in open document format in consideration of compatibility with electronic document defined in non-open document format and operating method thereof |
WO2022169010A1 (en) * | 2021-02-05 | 2022-08-11 | 주식회사 알티스트 | System and method for converting document structure for arxml migration |
WO2022169007A1 (en) * | 2021-02-05 | 2022-08-11 | 주식회사 알티스트 | User interface management system for automotive open system architecture configuration tool, and method therefor |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046317A1 (en) | 2001-04-19 | 2003-03-06 | Istvan Cseri | Method and system for providing an XML binary format |
JP2004227579A (en) | 2003-01-17 | 2004-08-12 | Microsoft Corp | Method and system for converting xml code into binary code |
JP2005284903A (en) | 2004-03-30 | 2005-10-13 | Matsushita Electric Ind Co Ltd | Document encoding system, document decoding system, method for encoding document, and method for decoding document |
-
2005
- 2005-12-06 KR KR1020050118385A patent/KR100653189B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046317A1 (en) | 2001-04-19 | 2003-03-06 | Istvan Cseri | Method and system for providing an XML binary format |
JP2004227579A (en) | 2003-01-17 | 2004-08-12 | Microsoft Corp | Method and system for converting xml code into binary code |
JP2005284903A (en) | 2004-03-30 | 2005-10-13 | Matsushita Electric Ind Co Ltd | Document encoding system, document decoding system, method for encoding document, and method for decoding document |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100917361B1 (en) | 2009-04-21 | 2009-09-16 | 현대유엔아이주식회사 | A message transmission method and the system of ship and land by a satellite communications, message client appratus on a ship and message server on land |
KR20190142841A (en) * | 2018-06-19 | 2019-12-30 | 주식회사 한글과컴퓨터 | Apparatus for generating electronic document defined in open document format in consideration of compatibility with electronic document defined in non-open document format and operating method thereof |
KR102076558B1 (en) * | 2018-06-19 | 2020-02-12 | 주식회사 한글과컴퓨터 | Apparatus for generating electronic document defined in open document format in consideration of compatibility with electronic document defined in non-open document format and operating method thereof |
WO2022169010A1 (en) * | 2021-02-05 | 2022-08-11 | 주식회사 알티스트 | System and method for converting document structure for arxml migration |
WO2022169007A1 (en) * | 2021-02-05 | 2022-08-11 | 주식회사 알티스트 | User interface management system for automotive open system architecture configuration tool, and method therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100614677B1 (en) | Method for compressing/decompressing a structured document | |
JP3894280B2 (en) | Encoding method of XML data, decoding method of encoded XML data, encoding system of XML data, decoding system of encoded XML data, program, and recording medium | |
US9208256B2 (en) | Methods of coding and decoding, by referencing, values in a structured document, and associated systems | |
US7350199B2 (en) | Converting XML code to binary format | |
US7013425B2 (en) | Data processing method, and encoder, decoder and XML parser for encoding and decoding an XML document | |
KR101247075B1 (en) | Encoding of markup-language data | |
US8849726B2 (en) | Information processing apparatus and control method for the same | |
EP1828924A2 (en) | Xml parser | |
US20090254882A1 (en) | Methods and devices for iterative binary coding and decoding of xml type documents | |
JP2004508647A (en) | Structured document compression / decompression method | |
US20120150828A1 (en) | Method and apparatus for decoding encoded structured data from a bit-stream | |
CN110518917A (en) | LZW data compression method and system based on Huffman coding | |
US20040225754A1 (en) | Method of compressing XML data and method of decompressing compressed XML data | |
KR20020069229A (en) | Method and apparatus for compressing textual documents | |
EP1803225A1 (en) | Adaptive compression scheme | |
KR100653189B1 (en) | Apparatus and method for xml document transformming | |
US7814408B1 (en) | Pre-computing and encoding techniques for an electronic document to improve run-time processing | |
US20090055728A1 (en) | Decompressing electronic documents | |
RU2294012C2 (en) | Data structure and methods for transforming stream of bits to electronic document and generation of bit stream from electronic document based on said data structure | |
US20090132564A1 (en) | Information processing apparatus, control method, and storage medium | |
JP4821287B2 (en) | Structured document encoding method, encoding apparatus, encoding program, decoding apparatus, and encoded structured document data structure | |
KR100660057B1 (en) | Storing and restoring method of binary xml using fast infoset | |
Rincy et al. | Preprocessed text compression method for Malayalam text files | |
JP5553466B2 (en) | Method for generating a bitstream containing binary multimedia data | |
KR100443176B1 (en) | An XSLT-Based Method and Apparatus for Implementing Dynamic Update of TeM Metadata |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |