KR100653189B1 - 엑스엠엘 문서 변환 장치 및 그 방법 - Google Patents

엑스엠엘 문서 변환 장치 및 그 방법 Download PDF

Info

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
Application number
KR1020050118385A
Other languages
English (en)
Inventor
조희남
안창원
박종근
변일수
데스몬스 프레드릭
김성운
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020050118385A priority Critical patent/KR100653189B1/ko
Application granted granted Critical
Publication of KR100653189B1 publication Critical patent/KR100653189B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-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

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 확장성 생성 언어(XML) 문서 변환 장치 및 그 방법
2. 발명이 해결하려고 하는 기술적 과제
본 발명은 C++ 언어를 사용하여 기존 텍스트 형식의 XML 인포셋(Infoset : Information set) 문서에서 바이너리 형태의 고속 인포셋(Fast Infoset) 문서로 변환 및 그 역변환 기능을 제공하여 시스템의 성능을 향상시킬 수 있는 XML 문서 변환 장치 및 그 방법을 제공하는데 그 목적 있음.
3. 발명의 해결방법의 요지
본 발명은 확장성 생성 언어(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 스트리밍 출력 수단; 및 상기 부호화 수단과 복호화 수단에서 사용되는 어휘 테이블 인덱스를 어 휘 테이블 엔트리로 매핑해주기 위한 어휘 매핑 수단을 포함함.
4. 발명의 중요한 용도
본 발명은 컴퓨팅 시스템 등에 이용됨.
XML, Infoset, Fast Infoset, 바이너리 XML, 인코딩, 디코딩, ASN.1

Description

엑스엠엘 문서 변환 장치 및 그 방법{Apparatus and Method for XML Document Transformming}
도 1 은 본 발명에 따른 XML 문서 변환 장치의 일실시예 구성도.
도 2 는 본 발명에 따른 XML 문서 변환 방법에 대한 일실시예 흐름도.
도 3 은 본 발명에 따른 XML 문서 변환 방법에 대한 다른 실시예 흐름도.
* 도면의 주요 부분에 대한 부호의 설명
100 : XML 인포셋 문서 101 : ASN 처리부
102 : 부호화부 103 : 어휘 테이블
104 : 제 1 스트리밍 출력부 105 : 고속 인포셋 문서
106 : 역 ASN 처리부 107 : 복호화부
108 : 제 2 스트리밍 출력부
본 발명은 기존 텍스트 형식의 확장성 생성 언어(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 문서 변환 장치 및 그 방법에 관한 것이다.
XML은 기존의 하이퍼텍스트 생성 언어(HyperText Markup Language : 이하, "HTML"라 함)와 무선 마크업 언어(Wireless Markup Language : 이하, "WML"라 함)의 마크업(Mmarkup) 언어처럼 태그(Tag)를 사용하여 문서를 표현한다. 따라서, XML은 기계 친화적인 형태의 문서를 제공하여 시스템 및 사용자(User)가 이해할 수 있는 텍스트 기반 문서를 제공하게 된다. 이러한 형태는 문서를 보다 사용하기 쉽게 하며, 문서의 규격화 및 데이터 표현을 돕게 되는 장점을 갖게 된다. 그러나, XML은 텍스트 기반이기에 그 크기가 대형화되고, 이러한 XML 파일을 네트워크 전송시에는 많은 과부화를 이루키는 문제점이 있었다. 따라서, 표준에 따르는 바이너리-XML(Binary-XML)을 제공하게 되면 이러한 문제점을 해결할 뿐만 아니라, XML 문서 자체가 지니는 장점까지 포용할 수 있다.
XML을 이진화(Binary)함으로 성능을 향상시키고자 하는 노력이 3가지 측면에서 기울여지고 있으며, 그것은 압축, 문서 구조의 분리, 인코딩으로 분류될 수 있 다. 그 중 인코딩 방법 중 고속 인포셋(Fast Infoset : Fast Information set)을 이용한다.
고속 인포셋(Fast Infoset)의 장점은 다음과 같다.
엔드 태그(End-tag)가 필요 없기에 메모리 크기를 줄이며, 파싱시 시간을 절약할 수 있다. 또한, 이스캐이핑(Escaping) 문자가 필요없어 이스캐이퍼(Escaper)를 찾는 소요 시간 및 메모리 크기를 줄일 수 있다. 또한, 해당 내용에 대한 문자의 길이를 미리 정해놓기 때문에 문서의 크기를 예상할 수 있다. 그리고, 반복되는 문자열에 대해 인덱싱 기법을 도입하여 메모리 크기 및 문자열에 파싱에 소요되는 시간을 줄일 수 있다. 또한, 바이너리 형태의 내용물을 자체 포함하고 있고, 비슷한 문서에 대한 어휘(Vocabulary)를 보유하여 여러 문서에 대한 인코딩 및 디코딩 시에 파싱 및 직렬화(Serializing) 시간을 줄일 수 있으며, XML 문서가 지니는 장점 또한 그대로 지니고 있다.
고속 인포셋(Fast Infoset)은 문서의 크기를 줄이고자 테이블과 인덱싱 기법을 사용하고 있다. 처음 나타나는 문자열을 테이블에 저장해 놓고 동일한 문자열이 나타날 경우 인덱스로 대치함으로 XML 문서의 크기를 줄인다. 고속 인포셋(Fast Infoset)을 적용하였을 경우, 문서의 압축율은 압축 기법에 비해 별로 좋지는 않지만 성능상의 향상을 체감할 수 있을 정도는 되며, 부가적으로 일반 XML 문서나 압축된 XML 문서에 비해 접근 성능이 비약적으로 향상되는 것을 확인할 수 있다.
그러나, 현재 C++ 기반 고속 인포셋(Fast Infoset)은 공개 소스 및 실용 유틸리티가 전무한 상태이다.
본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, C++ 언어를 사용하여 기존 텍스트 형식의 XML 인포셋(Infoset : Information set) 문서에서 바이너리 형태의 고속 인포셋(Fast Infoset) 문서로 변환 및 그 역변환 기능을 제공하여 시스템의 성능을 향상시킬 수 있는 XML 문서 변환 장치 및 그 방법을 제공하는데 그 목적 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 장치는, 확장성 생성 언어(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 스트리밍 출력 수단; 및 상기 부호화 수단과 복호화 수단에서 사용되는 어휘 테이블 인덱스를 어휘 테이블 엔트리로 매핑해주기 위한 어휘 매핑 수단을 포함하는 것을 특징으로 한다.
한편, 본 발명의 방법은, 확장성 생성 언어(XML) 문서 변환 방법에 있어서, 고속 인포셋(Fast Infoset)을 저장할 파일을 생성하고, 직렬화기(Serializer)를 생성하는 입/출력 스트리밍 인터페이스 할당 단계; 시작 문서를 호출하고, 호출된 시작 문서의 헤더를 인코딩(Encoding)한 후, 어휘를 초기화하는 문서 시작 단계; 프리픽싱(Prefixing)을 시작하고, 네임스페이스(Namespace)를 가지는지 확인하여, 네임스페이스(Namespace)를 가지지 않으면 요소(Element)를 가지는지 확인하고, 네임스페이스(Namespace)를 가지면 네임스페이스(Namespace)를 인코딩한 후, 상기 요소(Element)를 가지는지 확인하는 과정으로 진행하는 프리픽싱 단계; 및 상기 요소(Element)를 가지는지 확인하는 과정에서 요소(Element)를 가지면 요소(Element)를 시작하고, 속성(Attribute)을 가지는지를 확인하여 상기 확인 결과, 속성(Attribute)을 가지면 문자(Characters)를 인코딩하고, 다른 속성을 가지는지 확인하여 다른 속성을 가지면 문자(Characters)를 인코딩하는 과정으로 진행하고, 다른 속성을 가지지 않으면 요소(Element)를 인코딩하고, 상기 요소(Element)를 종료하는 요소(Element) 인코딩 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 방법은, 확장성 생성 언어(XML) 문서 변환 방법에 있어서, 입력 스트리머(Streamer)를 설정하고, 파서(Parser)를 생성한 후, 파싱 (Parsing)을 수행한 후, 헤더(Header)를 디코딩(Decoding)하는 초기화 단계; 고속 인포셋(Fast Infoset) 문서임을 확인하여 고속 인포셋(Fast Infoset) 문서를 시작하는 고속 인포셋(Fast Infoset) 문서 체크 단계; 요소(Element)를 가짐을 확인하여 요소(Element)를 시작하고, 상기 요소(Element) 시작 후, 상기 요소(Element)를 디코딩하고, 속성(Attribute)을 디코딩하는 디코딩 단계; 및 마지막 요소(Element)까지 디코딩하고, 다른 요소(Element)를 가지는지 확인하여, 다른 요소(Element)가 없으면 문서를 종료하는 종료 단계를 포함하는 것을 특징으로 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 1 은 본 발명에 따른 XML 문서 변환 장치의 일실시예 구성도이다.
도 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)를 포함한다.
상기 ASN 처리부(101)는 XML 문서를 고속 인포셋(Fast Infoset) 문서(105) 규격에 맞도록 조정해 준다.
부호화부(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)를 작성한다.
상기 어휘(Vocabulary) 테이블(103)은 어휘(Vocabulary) 테이블 인덱스를 어휘(Vocabulary) 테이블 엔트리(Entry)로 매핑해주는 테이블이다. 상기 어휘(Vocabulary) 테이블(103)의 목적은 빈번하게 사용되는 문자열에 대한 어휘 (Vocabulary) 테이블 엔트리를 어휘(Vocabulary) 테이블 인덱스를 사용하여 표현함으로써 데이터 처리 시간과 메모리 사용공간을 줄이고자 함에 있다. 또한, 어휘(Vocabulary) 테이블(103)은 해쉬 알고리즘(Hash algorithm)을 사용하여 구현되며 같은 해쉬 값을 갖게 되는 어휘(Vocabulary)는 같은 어휘(Vocabulary) 테이블 인덱스를 갖게 된다.
XML 문서의 역변환은 ASN.1 처리(Processing)에 의해 진행된 고속 인포셋(Fast Infoset) 문서를 그 순서에 맞게 역 디코딩 하게된다. 순서는 역 ASN 처리(Reverser ASN.1 processing)에 따라서 진행된다. 고속 인포셋(Fast Infoset) 표준 스펙은 복호화(Decoding) 알고리즘을 별도로 작성하지 않았기 때문에 인코딩 절차를 재분석하여 역으로 고속 인포셋(Fast Infoset)에서 XML 인포셋(Infoset) 문서로 변환시켜 주게 된다.
스트리밍 출력부(104, 108)는 결과값에 대한 저장 및 표현 방법을 정의한 것으로써, 본 발명에서는 "C++" 표준 라이버르러인 "I/O ifstream class"를 사용한다.
도 2 는 본 발명에 따른 XML 문서 변환 방법에 대한 일실시예 흐름도로서, XML 인포셋(Infoset) 문서를 고속 인포셋(Fast Infoset) 문서로 변환하는 방법을 나타낸다.
도 2에 도시된 바와 같이, 본 발명에 따른 XML 문서 변환 방법은, 먼저 고속 인포셋(Fast Infoset)을 저장할 파일을 생성하고(201), 직렬화기(Serializer)를 생성한 후(202), 시작 문서를 호출한다(203).
다음으로, 호출된 시작 문서의 헤더를 인코딩(Encoding)한 후(204), 어휘를 초기화한다(205).
이어서, 초기화 어휘를 가지고 있는지를 확인한다(206).
상기 확인 결과(206), 초기화 어휘를 가지고 있으면 존재하는 초기화 어휘로 셋팅하고(208), 프리픽싱(Prefixing)을 시작하고(210), 초기화 어휘를 가지고 있지 않으면 외부 어휘를 가지고 있는지를 확인하여(207), 외부 어휘를 가지고 있으면 외부 어휘로 셋팅한 후(209), 프리픽싱(Prefixing) 시작 과정(210)으로 진행하고, 외부 어휘를 가지고 있지 않으면 상기 프리픽싱(Prefixing) 시작 과정(210)으로 진행한다.
프리픽싱(Prefixing)이 시작되면(210), 네임스페이스(Namespace)를 가지는지 확인하여(211), 네임스페이스(Namespace)를 가지지 않으면 요소(Element)를 가지는지 확인하고(213), 네임스페이스(Namespace)를 가지면 네임스페이스(Namespace)를 인코딩한 후(212), 요소(Element)를 가지는지 확인하는 과정(213)으로 진행한다.
상기 요소(Element)를 가지는지 확인하는 과정(213)에서 요소(Element)를 가지지 않으면 문서를 종료하고(221), 파일을 닫으며(222), 요소(Element)를 가지면 요소(Element)를 시작하고(214), 속성(Attribute)을 가지는지를 확인한다(215).
상기 확인 결과(215), 속성(Attribute)을 가지면 문자(Characters)를 인코딩하고(216), 다른 속성을 가지는지 확인하여(217) 다른 속성을 가지면 문자(Characters)를 인코딩하는 과정(216)으로 진행하고, 다른 속성을 가지지 않으면 요소(Element)를 인코딩하고(218), 상기 요소(Element)를 종료한다(219).
다시, 다른 요소(Element)가 있는지 확인하여(220), 다른 요소(Element)가 없으면 문서를 종료하는 과정(221)으로 진행하고, 다른 요소(Element)가 있으면 상기 요소(Element) 시작 과정(214)으로 진행한다.
도 3 은 본 발명에 따른 XML 문서 변환 방법에 대한 다른 실시예 흐름도로서, 고속 인포셋(Fast Infoset) 문서를 XML 인포셋(Infoset) 문서로 변환하는 방법을 나타낸다.
도 3에 도시된 바와 같이, 본 발명에 따른 XML 문서 변환의 다른 방법은, 먼저 입력 스트리머(Streamer)를 설정하고(301), 파서(Parser)를 생성한 후(302), 파싱(Parsing)을 수행한 후(303), 헤더(Header)를 디코딩(Decoding)한다(304).
다음으로, 고속 인포셋(Fast Infoset) 문서인지 확인한다(305).
상기 확인 결과(305), 고속 인포셋(Fast Infoset) 문서가 아니면 파일 시스템을 닫고(318) 종료하며, 고속 인포셋(Fast Infoset) 문서이면 문서를 시작한다(306).
먼저, 요소(Element)를 가지는지 확인하는데(307), 요소(Element)를 가지지 않으면 문서를 종료하고(317), 상기 파일 시스템 닫는 과정(318)으로 진행한다.
만약, 요소(Element)를 가지면 네임스페이스(Namespace)인지 확인하여(308), 네임스페이스(Namespace)이면 프리픽스(Prefix) 시작 후(309), 요소(Element)를 시작하고(310), 네임스페이스(Namespace)가 아니면 바로 요소(Element)를 시작한다(310).
요소(Element) 시작 후(310), 요소(Element)를 디코딩하고(311), 속성 (Attribute)을 가지는지 확인하여(312), 속성(Attribute)을 가지면 속성(Attribute)을 디코딩한다(313). 이는 종료될 때까지(314) 반복수행한다.
이어서, 마지막 요소(Element)까지 디코딩하고(315), 다른 요소(Element)를 가지는지 확인하여(316), 다른 요소(Element)가 없으면 문서 종료 과정(317)으로 진행하고, 다른 요소(Element)를 가지면 요소(Element) 시작 과정(310)으로 진행한다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디시크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같은 본 발명은, 고속 인포셋(Fast Infoset)이 가지는 장점으로 인하여 XML 문서를 다루는 많은 개발자에게 XML 문서 전송에 따르는 네트워크 전송 시간 및 과부화 해소에 도움을 주는 효과가 있다.

Claims (9)

  1. 확장성 생성 언어(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 스트리밍 출력 수단; 및
    상기 부호화 수단과 복호화 수단에서 사용되는 어휘 테이블 인덱스를 어휘 테이블 엔트리로 매핑해주기 위한 어휘 매핑 수단
    을 포함하는 확장성 생성 언어(XML) 문서 변환 장치.
  2. 제 1 항에 있어서,
    상기 부호화 수단은,
    상기 ASN 처리 수단과 병행하여 진행되며, 부호화(Encoding) 규칙을 제공하고, 실질적으로 "ASN.1 Encoding Control Notation (ECN)"을 사용하는 것을 특징으로 하는 확장성 생성 언어(XML) 문서 변환 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 어휘 매핑 수단은,
    빈번하게 사용되는 문자열에 대한 어휘(Vocabulary) 테이블 엔트리를 어휘(Vocabulary) 테이블 인덱스를 사용하여 표현함으로써 데이터 처리 시간과 메모리 사용공간을 줄이며, 실질적으로 해쉬 알고리즘(Hash algorithm)을 사용하는 것을 특징으로 하는 확장성 생성 언어(XML) 문서 변환 장치.
  4. 확장성 생성 언어(XML) 문서 변환 방법에 있어서,
    고속 인포셋(Fast Infoset)을 저장할 파일을 생성하고, 직렬화기(Serializer)를 생성하는 입/출력 스트리밍 인터페이스 할당 단계;
    시작 문서를 호출하고, 호출된 시작 문서의 헤더를 인코딩(Encoding)한 후, 어휘를 초기화하는 문서 시작 단계;
    프리픽싱(Prefixing)을 시작하고, 네임스페이스(Namespace)를 가지는지 확인하여, 네임스페이스(Namespace)를 가지지 않으면 요소(Element)를 가지는지 확인하고, 네임스페이스(Namespace)를 가지면 네임스페이스(Namespace)를 인코딩한 후, 상기 요소(Element)를 가지는지 확인하는 과정으로 진행하는 프리픽싱 단계; 및
    상기 요소(Element)를 가지는지 확인하는 과정에서 요소(Element)를 가지면 요소(Element)를 시작하고, 속성(Attribute)을 가지는지를 확인하여 상기 확인 결과, 속성(Attribute)을 가지면 문자(Characters)를 인코딩하고, 다른 속성을 가지는지 확인하여 다른 속성을 가지면 문자(Characters)를 인코딩하는 과정으로 진행하고, 다른 속성을 가지지 않으면 요소(Element)를 인코딩하고, 상기 요소(Element)를 종료하는 요소(Element) 인코딩 단계
    를 포함하는 확장성 생성 언어(XML) 문서 변환 방법.
  5. 제 4 항에 있어서,
    상기 문서 시작 단계의 어휘를 초기화하는 과정은,
    초기화 어휘를 가지고 있는지를 확인하여, 초기화 어휘를 가지고 있으면 존재하는 초기화 어휘로 셋팅하고, 초기화 어휘를 가지고 있지 않으면 외부 어휘를 가지고 있는지를 확인하여, 외부 어휘를 가지고 있으면 외부 어휘로 셋팅하는 것을 특징으로 하는 확장성 생성 언어(XML) 문서 변환 방법.
  6. 제 4 항 또는 제 5 항에 있어서,
    상기 프리픽싱 단계의 요소(Element)를 가지는지 확인하는 과정은,
    상기 요소(Element)를 가지지 않으면 문서를 종료하고, 파일을 닫으며, 요소(Element)를 가지면 요소(Element)를 시작하고, 속성(Attribute)을 가지는지를 확인하는 것을 특징으로 하는 확장성 생성 언어(XML) 문서 변환 방법.
  7. 제 6 항에 있어서,
    상기 요소(Element) 인코딩 단계는,
    다른 요소(Element)가 있는지 확인하여, 다른 요소(Element)가 없으면 문서를 종료하는 과정으로 진행하고, 다른 요소(Element)가 있으면 상기 요소(Element) 를 시작하는 과정으로 진행하는 것을 특징으로 하는 확장성 생성 언어(XML) 문서 변환 방법.
  8. 확장성 생성 언어(XML) 문서 변환 방법에 있어서,
    입력 스트리머(Streamer)를 설정하고, 파서(Parser)를 생성한 후, 파싱(Parsing)을 수행한 후, 헤더(Header)를 디코딩(Decoding)하는 초기화 단계;
    고속 인포셋(Fast Infoset) 문서임을 확인하여 고속 인포셋(Fast Infoset) 문서를 시작하는 고속 인포셋(Fast Infoset) 문서 체크 단계;
    요소(Element)를 가짐을 확인하여 요소(Element)를 시작하고, 상기 요소(Element) 시작 후, 상기 요소(Element)를 디코딩하고, 속성(Attribute)을 디코딩하는 디코딩 단계; 및
    마지막 요소(Element)까지 디코딩하고, 다른 요소(Element)를 가지는지 확인하여, 다른 요소(Element)가 없으면 문서를 종료하는 종료 단계
    를 포함하는 확장성 생성 언어(XML) 문서 변환 방법.
  9. 제 8 항에 있어서,
    상기 디코딩 단계의 요소(Element)를 가짐을 확인하는 과정은,
    네임스페이스(Namespace)인지 확인하여, 네임스페이스(Namespace)이면 프리픽스(Prefix) 시작 후, 요소(Element)를 시작하고, 네임스페이스(Namespace)가 아니면 바로 요소(Element)를 시작하는 것을 특징으로 하는 확장성 생성 언어(XML) 문서 변환 방법.
KR1020050118385A 2005-12-06 2005-12-06 엑스엠엘 문서 변환 장치 및 그 방법 KR100653189B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050118385A KR100653189B1 (ko) 2005-12-06 2005-12-06 엑스엠엘 문서 변환 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050118385A KR100653189B1 (ko) 2005-12-06 2005-12-06 엑스엠엘 문서 변환 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR100653189B1 true KR100653189B1 (ko) 2006-12-04

Family

ID=37731866

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050118385A KR100653189B1 (ko) 2005-12-06 2005-12-06 엑스엠엘 문서 변환 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100653189B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100917361B1 (ko) 2009-04-21 2009-09-16 현대유엔아이주식회사 위성을 통한 선박과 육상 간의 메시지 송수신 방법, 그 시스템, 선박의 메시지 클라이언트장치, 및 육상의 메시지 서버
KR20190142841A (ko) * 2018-06-19 2019-12-30 주식회사 한글과컴퓨터 비-개방형 문서 형식으로 정의된 전자 문서와의 호환성을 고려하여 개방형 문서 형식으로 정의된 전자 문서를 생성하는 장치 및 그 동작 방법
WO2022169007A1 (ko) * 2021-02-05 2022-08-11 주식회사 알티스트 개방형 자동차 표준 소프트웨어 아키텍처 설정 도구의 사용자 인터페이스 관리 시스템 및 그 방법
WO2022169010A1 (ko) * 2021-02-05 2022-08-11 주식회사 알티스트 Arxml 마이그레이션을 위한 문서 구조 변환 시스템 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
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 (ja) 2003-01-17 2004-08-12 Microsoft Corp Xmlコードをバイナリコードへ変換する方法およびシステム
JP2005284903A (ja) 2004-03-30 2005-10-13 Matsushita Electric Ind Co Ltd 文書符号化装置、文書復号化装置、文書符号化方法及び文書復号化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 (ja) 2003-01-17 2004-08-12 Microsoft Corp Xmlコードをバイナリコードへ変換する方法およびシステム
JP2005284903A (ja) 2004-03-30 2005-10-13 Matsushita Electric Ind Co Ltd 文書符号化装置、文書復号化装置、文書符号化方法及び文書復号化方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100917361B1 (ko) 2009-04-21 2009-09-16 현대유엔아이주식회사 위성을 통한 선박과 육상 간의 메시지 송수신 방법, 그 시스템, 선박의 메시지 클라이언트장치, 및 육상의 메시지 서버
KR20190142841A (ko) * 2018-06-19 2019-12-30 주식회사 한글과컴퓨터 비-개방형 문서 형식으로 정의된 전자 문서와의 호환성을 고려하여 개방형 문서 형식으로 정의된 전자 문서를 생성하는 장치 및 그 동작 방법
KR102076558B1 (ko) * 2018-06-19 2020-02-12 주식회사 한글과컴퓨터 비-개방형 문서 형식으로 정의된 전자 문서와의 호환성을 고려하여 개방형 문서 형식으로 정의된 전자 문서를 생성하는 장치 및 그 동작 방법
WO2022169007A1 (ko) * 2021-02-05 2022-08-11 주식회사 알티스트 개방형 자동차 표준 소프트웨어 아키텍처 설정 도구의 사용자 인터페이스 관리 시스템 및 그 방법
WO2022169010A1 (ko) * 2021-02-05 2022-08-11 주식회사 알티스트 Arxml 마이그레이션을 위한 문서 구조 변환 시스템 및 방법

Similar Documents

Publication Publication Date Title
KR100614677B1 (ko) 구조화된 문서를 압축/복원하기 위한 방법
JP3894280B2 (ja) Xmlデータの符号化方法、符号化されたxmlデータの復号化方法、xmlデータの符号化システム、符号化されたxmlデータの復号化システム、プログラムおよび記録媒体
US8010889B2 (en) Techniques for efficient loading of binary XML data
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 (ko) 마크업 언어 데이터의 인코딩
US8849726B2 (en) Information processing apparatus and control method for the same
JP4653381B2 (ja) 構造化文書の圧縮/解凍方法
JP2009501991A (ja) 構造化文書を圧縮および解凍するための方法および装置
EP1828924A2 (en) Xml parser
US20090254882A1 (en) Methods and devices for iterative binary coding and decoding of xml type documents
WO2006043142A1 (en) Adaptive compression scheme
US8949207B2 (en) Method and apparatus for decoding encoded structured data from a bit-stream
CN110518917A (zh) 基于Huffman编码的LZW数据压缩方法及系统
KR100653189B1 (ko) 엑스엠엘 문서 변환 장치 및 그 방법
US20040225754A1 (en) Method of compressing XML data and method of decompressing compressed XML data
KR20020069229A (ko) 텍스트 도큐먼트들을 압축하기 위한 방법 및 장치
US7814408B1 (en) Pre-computing and encoding techniques for an electronic document to improve run-time processing
US20090055728A1 (en) Decompressing electronic documents
RU2294012C2 (ru) Структура данных и способы преобразования потока битов в электронный документ и формирования потока битов из электронного документа на ее основе
JP4821287B2 (ja) 構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造
US20090132564A1 (en) Information processing apparatus, control method, and storage medium
KR100660057B1 (ko) 패스트 인포셋을 이용한 이진 엑스엠엘 저장 방법 및 복원방법
Rincy et al. Preprocessed text compression method for Malayalam text files

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