KR100952051B1 - Method and Apparatus for Encoding and Decoding XML Documents Using Path Code - Google Patents
Method and Apparatus for Encoding and Decoding XML Documents Using Path Code Download PDFInfo
- Publication number
- KR100952051B1 KR100952051B1 KR20080043539A KR20080043539A KR100952051B1 KR 100952051 B1 KR100952051 B1 KR 100952051B1 KR 20080043539 A KR20080043539 A KR 20080043539A KR 20080043539 A KR20080043539 A KR 20080043539A KR 100952051 B1 KR100952051 B1 KR 100952051B1
- Authority
- KR
- South Korea
- Prior art keywords
- path code
- xpath
- elements
- xml document
- schema
- Prior art date
Links
Images
Abstract
본 발명은 XML 문서의 부호화 및 복호화 방법과 장치에 관한 것으로서, 경로 코드를 이용한 XML 문서의 부호화 및 복호화 방법과 장치에 관한 것이다.The present invention relates to a method and apparatus for encoding and decoding an XML document, and to a method and apparatus for encoding and decoding an XML document using a path code.
본 발명에 따른 XML 문서를 부호화하는 방법은 XML 문서에서 문자 데이터를 직접 갖는 모든 엘리먼트 태그 및 애트리뷰트를 검색하는 단계, 검색된 엘리먼트 태그 혹은 애트리뷰트의 XPath를 추출하는 단계, 추출된 각각의 XPath를 미리 할당된 경로 코드로 변환하는 단계와, 경로 코드로 변환된 엘리먼트 태그 및 애트리뷰트의 XPath에 대해, XPath에 포함된 모든 엘리먼트 태그들의 출현 정보를 나타내는 단계를 포함한다.The method of encoding an XML document according to the present invention includes retrieving all element tags and attributes having character data directly from an XML document, extracting XPaths of retrieved element tags or attributes, and pre-assigning each extracted XPath. Converting to a path code, and for the XPath of the element tag and attribute converted to the path code, presenting information of appearance of all the element tags included in the XPath.
XML, XPath, 경로 코드, 출현 정보, 부호화, 복호화 XML, XPath, path code, appearance information, encoding, decoding
Description
본 발명은 XML 문서의 부호화 및 복호화 방법과 장치에 관한 것으로서, 경로 코드를 이용한 XML 문서의 부호화 및 복호화 방법과 장치에 관한 것이다.The present invention relates to a method and apparatus for encoding and decoding an XML document, and to a method and apparatus for encoding and decoding an XML document using a path code.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장 동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-082-02, 과제명: 맞춤 시청형 DMB 기술 개발].The present invention is derived from the research conducted as part of the IT growth engine technology development project of the Ministry of Information and Communication and the Ministry of Information and Telecommunications Research and Development. [Task Management No .: 2006-S-082-02, Title: Development of Custom-made DMB Technology] .
지상파 DMB 방송 환경은 협소한 대역으로 인하여, 대용량의 데이터를 전송하기에 부적합하다. 따라서, XML 문서와 같은 텍스트 형식의 데이터를 그대로 전송하기는 어렵다. 이에, TPEG과 같은 교통정보 서비스에서, XML 기반의 데이터 정보는 전송 시 TPEG 이진 부호화 형식에 따라서 실시간으로 이진 부호화되어 DMB 방송망에 전송된다.The terrestrial DMB broadcasting environment is not suitable for transmitting a large amount of data due to the narrow bandwidth. Therefore, it is difficult to transfer data in a text format such as an XML document as it is. Accordingly, in a traffic information service such as TPEG, XML-based data information is binary encoded in real time according to the TPEG binary encoding format and transmitted to the DMB broadcasting network.
현재 국내 지상파 DMB 방송망에 전송되는 메타데이터 중에서 XML 문서로 표현되는 데이터는 지상파 DMB EPG, TPEG 등이 있으며, 모두 이진 부호화 방식이 별도로 표준화되어 있다. 예를 들어, TPEG과 EPG 에서의 이진 부호화 방식은 태 그(tag), 길이(length), 데이터(data) 라는 기본 구조를 이용하고, 태그 코드(tag code)를 모든 엘리먼트(element)와 애트리뷰트(attribute)에 할당함으로써 부호화한다. 따라서, XML 문서의 부호화 시, 계층마다 쓰여진 모든 엘리먼트에 태그 코드가 할당된다. 여기서, 불필요한 엘리먼트에도 계속 태그 코드 할당이 반복됨에 따라 압축률의 손실로 이어지게 된다.Among the metadata transmitted to the domestic terrestrial DMB broadcasting network, data represented by XML documents include terrestrial DMB EPG and TPEG, and all of them have standardized binary coding schemes. For example, the binary coding scheme in TPEG and EPG uses the basic structure of tag, length, and data, and tag code is assigned to all elements and attributes. encoding by assigning to an attribute). Therefore, when encoding an XML document, a tag code is assigned to every element written for each layer. Here, as the tag code assignment is repeatedly performed even for unnecessary elements, the compression rate is lost.
도 1은 텍스트 형식의 XML 문서의 예를 나타낸다. 도 2는 TPEG과 EPG에서 이용하는 XML 문서에 대한 이진 부호화의 기본 구조를 나타낸다. 그리고 도 3은 도 1에 도시된 XML 문서에 대해 도 2를 이용하여 종래의 태그 코드 할당 방법을 설명하기 위한 도면이다. 1 shows an example of an XML document in a text format. 2 shows the basic structure of binary encoding for XML documents used in TPEG and EPG. FIG. 3 is a diagram for explaining a conventional tag code allocation method for the XML document illustrated in FIG. 1 using FIG. 2.
도 1 내지 도 3을 참조하면, XML 문서는 A, B, C, D 엘리먼트들을 포함한다. 1 through 3, an XML document includes A, B, C, and D elements.
XML 문서의 이진 부호화 방식에서 종래의 태그 코드 할당 방법에 따르면, A, B, C 및 D의 모든 엘리먼트에 태그 코드를 할당한다. 가령, A, B, C 및 D 엘리먼트에 태그 코드 “0x02”,“0x03”,“ 0x04”, 및“ 0x05”를 각각 할당한다. 그리고 각 엘리먼트의 콘텐트를 부호화한다. 여기서, D 엘리먼트만 문자 데이터(character data)를 갖고 있음에도 불구하고, B와 C 엘리먼트들에도 각각 태그 코드를 할당한다. 이러한 방법은 불필요한 태그 코드 할당이 반복됨에 따라 압축률을 저하시킨다. 따라서, 보다 효율적인 태그 코드 할당 방법이 요구된다.According to a conventional tag code allocation method in a binary encoding scheme of an XML document, a tag code is assigned to all elements of A, B, C, and D. For example, tag codes "0x02", "0x03", "0x04", and "0x05" are assigned to the A, B, C, and D elements, respectively. The content of each element is encoded. Here, although only the D element has character data, the tag code is assigned to the B and C elements, respectively. This method reduces the compression rate as unnecessary tag code assignment is repeated. Therefore, a more efficient tag code allocation method is required.
본 발명이 해결하고자 하는 과제는 XML Schema로 작성된 스키마에서 정의된 엘리먼트와 애트리뷰트 중 선택된 일부 엘리먼트들 및 모든 애트리뷰트들의 XPath에 경로 코드를 할당함으로써, 불필요한 태그 코드의 할당을 감소시킴에 따라 압축률을 높일 수 있는 XML 문서의 부호화 및 복호화 방법과 장치를 제공하고자 하는 것이다.The problem to be solved by the present invention is to increase the compression rate by reducing the allocation of unnecessary tag code by assigning a path code to the XPath of some elements selected from the elements and attributes defined in the schema written in XML Schema and all the attributes. An object of the present invention is to provide a method and apparatus for encoding and decoding an XML document.
본 발명의 해결 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당 업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.
상기 해결 과제를 달성하기 위한 본 발명에 따른 스키마에서의 경로 코드 할당 방법은 스키마에서 정의된 모든 엘리먼트들 중 선택된 일부 엘리먼트들의 XPath에 각각 유일한 경로 코드를 할당하는 단계와, 모든 애트리뷰트들의 XPath에 각각 유일한 경로 코드를 할당하는 단계를 포함한다. In order to achieve the above object, a method of allocating a path code in a schema according to the present invention may include assigning a path code unique to each XPath of selected elements among all elements defined in the schema, and uniquely assigning a path code to each XPath of all attributes. Assigning a path code.
상기 해결 과제를 달성하기 위한 본 발명에 따른 XML 문서를 부호화하는 방법은 XML 문서에서 문자 데이터를 직접 갖는 모든 엘리먼트 태그 및 애트리뷰트를 검색하는 단계와, 상기 검색된 엘리먼트 태그 혹은 애트리뷰트의 XPath를 추출하는 단계와, 상기 추출된 각각의 XPath를 미리 할당된 경로 코드로 변환하는 단계와, 경로 코드로 변환된 엘리먼트 태그 및 애트리뷰트의 XPath에 대해, XPath에 포 함된 모든 엘리먼트 태그들의 출현 정보를 나타내는 단계를 포함한다. According to an aspect of the present invention, there is provided a method of encoding an XML document, the method including: retrieving all element tags and attributes having character data directly from an XML document, extracting an XPath of the retrieved element tag or attribute, and Converting each of the extracted XPaths into a pre-assigned path code, and displaying the appearance information of all the element tags included in the XPath for the XPath of the element tag and the attribute converted into the path code.
본 발명에 따른 XML 문서를 복호화하는 방법은 부호화된 XML 문서에서 경로 코드를 추출하는 단계, 상기 추출된 각각의 경로 코드에 해당하는 XPath를 검색하는 단계와, 검색한 XPath에 포함된 엘리먼트 태그 혹은 애트리뷰트를 출현 정보에 따라 선택적으로 복원하는 단계를 포함한다.The method for decoding an XML document according to the present invention includes extracting a path code from an encoded XML document, retrieving an XPath corresponding to each extracted path code, and an element tag or attribute included in the retrieved XPath. Selectively restoring according to the appearance information.
본 발명에 따른 경로 코드를 이용한 XML 문서의 부호화 및 복호화 방법에 의하면, 스키마에서 정의된 엘리먼트들 중 선택된 일부 엘리먼트들 및 모든 애트리뷰트들의 XPath에 경로 코드를 할당함으로써, 불필요한 태그 코드의 할당을 감소시킴에 따라 압축률을 높일 수 있다.According to the method of encoding and decoding an XML document using a path code according to the present invention, by allocating a path code to XPaths of selected elements and all attributes selected from elements defined in a schema, unnecessary allocation of tag codes is reduced. Therefore, the compression rate can be increased.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 XML 문서의 부호화 및 복호화 방법과 장치에 대해 상세히 설명한다.Hereinafter, a method and apparatus for encoding and decoding an XML document according to the present invention will be described in detail with reference to the accompanying drawings.
도 4는 본 발명에 따른 XML 문서의 부호화 장치의 구성을 나타내는 블록도이다.4 is a block diagram showing the configuration of an apparatus for encoding an XML document according to the present invention.
도 4를 참조하면, 부호화 장치(110)는 경로 코드 할당기(120) 및 XML 부호화기(130)를 포함한다.Referring to FIG. 4, the
경로 코드 할당기(120)는 메타데이터 관리자(100)로부터 스키마를 입력 받고, 스키마에 정의된 엘리먼트와 애트리뷰트에 경로 코드를 할당한다. 즉, 경로 코 드 할당기(120)는 일부 엘리먼트와 모든 애트리뷰트의 XPath에 경로 코드를 할당하여, 경로 코드 테이블을 생성한다.The
XML 부호화기(130)는 메타데이터 관리자(100)로부터 XML 문서를 입력 받고, XML 문서에서 문자 데이터를 직접 갖는 모든 엘리먼트 태그 및 모든 애트리뷰트를 검색한다. 또한, XML 부호화기(130)는 검색된 엘리먼트 태그 및 애트리뷰트의 XPath를 경로 코드 테이블에 정의된 경로 코드로 치환하여 부호화한다.The XML
도 5는 본 발명에 따른 XML 문서의 복호화 장치의 구성을 나타내는 블록도이다.5 is a block diagram showing the configuration of an apparatus for decoding an XML document according to the present invention.
도 5를 참조하면, 복호화 장치(200)는 XML 복호화기(210) 및 XML 문서 생성기(220)를 포함한다.Referring to FIG. 5, the
XML 복호화기(210)는 경로 코드 테이블 및 부호화된 XML 문서를 입력 받는다. 여기서, 경로 코드 테이블은 엘리먼트 및 애트리뷰트의 XPath를 이용한 경로 코드 할당 방법에 의해 생성된 것이다.The XML
XML 복호화기(210)는 부호화된 XML 문서에서 경로 코드를 추출하고, 추출된 경로 코드에 해당하는 XPath를 입력 받은 경로 코드 테이블로부터 검색한다. 이후, XML 복호화기(210)는 검색한 XPath에 포함된 엘리먼트 태그들의 출현 정보에 따라, 상기 엘리먼트 태그 혹은 애트리뷰트를 선택적으로 복원하여 인스턴스 트리를 생성한다.The XML
XML 문서 생성기(220)는 상기 생성된 인스턴스 트리로부터 XML 문서를 생성한다.The XML
도 6은 본 발명에 따른 XML 문서의 부호화 시, 이용되는 데이터의 구조를 나타낸다.6 shows a structure of data used when encoding an XML document according to the present invention.
도 6을 참조하면, 데이터 구조는 경로(Path), DET-MOI, 길이(length), 데이터(data) 필드를 포함한다. 각 경로, DET-MOI, 및 길이는 기본적으로 1 byte로 나타낼 수 있다.Referring to FIG. 6, the data structure includes a path, a DET-MOI, a length, and a data field. Each path, DET-MOI, and length can basically be represented by 1 byte.
경로 코드(path code)는 XML Schema 언어로 작성된 스키마에서 정의된 엘리먼트 및 애트리뷰트의 XPath에 할당되는 유일한 값이다. 여기서, 엘리먼트는 스키마에서 XML 문서에 나타날 수 있는 엘리먼트 태그를 정의하며, 애트리뷰트는 스키마에서 엘리먼트 태그의 속성을 선언하고 속성의 존재를 정의한다.The path code is the only value assigned to the XPath of elements and attributes defined in a schema written in the XML Schema language. Here, the element defines an element tag that can appear in an XML document in the schema, and the attribute declares the attribute of the element tag in the schema and defines the existence of the attribute.
이하, 도 7의 경로 코드 할당 방법에 대하여 설명한다.Hereinafter, the path code assignment method of FIG. 7 will be described.
도 7은 경로 코드 할당 방법을 설명하기 위한 흐름도이다.7 is a flowchart for explaining a path code allocation method.
도 7을 참조하면, 먼저, 경로 코드 할당기는 스키마 파일을 입력 받는다(S100).7, the path code allocator receives a schema file (S100).
이어서, 경로 코드 할당기는 스키마에 정의된 컴포넌트를 추출한다(S101).Subsequently, the path code allocator extracts a component defined in the schema (S101).
여기서, 컴포넌트는 스키마를 구성하는 요소들로, 애트리뷰트, 엘리먼트 등이 있다. Here, a component is an element constituting a schema, and includes attributes and elements.
이어서, 경로 코드 할당기는 추출한 컴포넌트가 엘리먼트인지 판단한다(S102).Subsequently, the path code allocator determines whether the extracted component is an element (S102).
경로 코드 할당기는 추출한 컴포넌트가 엘리먼트가 아닌 경우, 상기 컴포넌트가 애트리뷰트인지 판단한다(S107). 경로 코드 할당기는 상기 컴포넌트가 애트 리뷰트이면, 상기 애트리뷰트의 XPath에 경로 코드를 할당한다(S108).If the extracted component is not an element, the path code allocator determines whether the component is an attribute (S107). If the component is an attribute, the path code allocator allocates a path code to an XPath of the attribute (S108).
여기서, 경로 코드 할당기는 추출한 컴포넌트가 엘리먼트인 경우에는 선택적으로 경로 코드를 할당하는 것과 달리, 추출한 컴포넌트가 애트리뷰트인 경우에는 모든 애트리뷰트에 대하여 경로 코드를 할당한다.Here, the path code allocator selectively assigns a path code when the extracted component is an element, and allocates a path code to all attributes when the extracted component is an attribute.
반면, 경로 코드 할당기는 추출한 컴포넌트가 엘리먼트인 경우에는 엘리먼트의 정의를 확인한다(S103).On the other hand, if the extracted component is an element, the path code allocator checks the definition of the element (S103).
경로 코드 할당기는 확인한 엘리먼트가 전역 엘리먼트(global element), 단순 콘텐츠(simple content), 또는 혼합 콘텐츠(mixed content)로 정의되어 있는 경우에는, 엘리먼트의 XPath에 유일한 경로 코드를 할당한다(S104, S105).The path code allocator assigns a unique path code to the XPath of the element when the identified element is defined as a global element, simple content, or mixed content (S104, S105). .
여기서, 전역 엘리먼트는 스키마에서 “schema”루트 엘리먼트의 직계 자식 엘리먼트로 정의된 엘리먼트를 의미한다. Here, the global element means an element defined as a direct child element of the “schema” root element in the schema.
그리고, 단순 콘텐츠는 엘리먼트가 문자 데이터(character data)를 직접 갖는 경우를 의미한다.Simple content means a case in which an element directly has character data.
경로 코드 할당기는 단순 콘텐츠로 정의되어 있는 엘리먼트에만 경로 코드를 할당한다. 반면, 전역 엘리먼트와 문자 데이터를 갖는 엘리먼트 사이 계층에 위치한 엘리먼트, 다시 말해 엘리먼트 콘텐츠(element content)로 정의된 엘리먼트의 XPath에는 경로 코드를 할당하지 않는다.The path code allocator assigns path codes only to elements that are defined as simple content. On the other hand, a path code is not assigned to an XPath of an element located in a hierarchy between a global element and an element having character data, that is, an element defined as element content.
또한, 혼합 콘텐츠는 엘리먼트가 문자 데이터와 다른 자식 엘리먼트를 동시에 가질 수 있는 경우를 의미한다. 이러한 혼합 콘텐츠는 XML Schema로 작성된 스키마에서 엘리먼트에 바인딩된 복잡 타입의 mixed 속성을 “true”설정함으로써 정의된다.In addition, mixed content means the case where an element can have character data and another child element simultaneously. This mixed content is defined by setting "true" the mixed attribute of the complex type bound to the element in a schema written in XML Schema.
따라서, 경로 코드 할당기는 복잡 타입의 mixed 속성 값으로 해당 엘리먼트가 혼합 콘텐츠로 정의되어 있는지 판단할 수 있다.Therefore, the path code allocator may determine whether the corresponding element is defined as mixed content using a mixed attribute value of a complex type.
반면, 경로 코드 할당기는 확인한 엘리먼트가 순환적으로(recursively) 정의되었을 경우에는, 순환이 시작되는 제1 엘리먼트와 순환이 끝나는 제2 엘리먼트의 XPath에 각각 유일한 경로 코드를 할당한다(S106).On the other hand, when the identified element is defined recursively, the path code allocator allocates a unique path code to each XPath of the first element where the cycle starts and the second element where the cycle ends (S106).
여기서, 엘리먼트가 순환적으로 정의되는 경우는 임의의 엘리먼트가 자신의 자식 엘리먼트 혹은 자손 엘리먼트로 반복 정의되었을 경우를 의미한다.Here, the case where an element is defined circularly means that an arbitrary element is repeatedly defined as its own child element or a descendant element.
이와 같은 방법으로, 경로 코드 할당기는 추출한 스키마 컴포넌트에 대한 경로 코드를 할당한 후, 스키마에서 마지막 컴포넌트가 추출될 때까지(S108), 다음 스키마 컴포넌트에 대한 경로 코드 할당 과정을 반복적으로 수행한다.In this way, the route code allocator allocates the route code for the extracted schema component and repeatedly performs the route code assignment process for the next schema component until the last component is extracted from the schema (S108).
이하, 본 발명에 따른 경로 코드 할당 방법에 대해 구체적으로 설명한다.Hereinafter, a path code allocation method according to the present invention will be described in detail.
도 8은 XML Schema로 작성된 스키마의 예를 나타낸다. 도 9는 도 8의 스키마의 정의에 대한 그래픽컬한 다이어그램(diagram)을 나타내는 도면이다. 도 10은 도 9의 엘리먼트 및 애트리뷰트의 XPath에 할당한 경로 코드를 나타낸 경로 코드 테이블이다.8 shows an example of a schema created with XML Schema. FIG. 9 is a graphical diagram of the definition of the schema of FIG. 8. FIG. 10 is a path code table showing a path code assigned to the XPath of the elements and attributes of FIG. 9.
도 8 내지 도 10을 참조하면, A와 E 엘리먼트(302, 328)는 전역 엘리먼트이고, F, K, I와 H 엘리먼트들(308, 320, 326, 332, 334)은 문자 데이터를 직접 갖는 엘리먼트들이다. 그리고 D 엘리먼트(316, 318, 322, 324)는 순환적으로 정의된 엘리먼트이며, G 엘리먼트(330)는 혼합 콘텐츠로 정의된 엘리먼트이다.8 through 10, the A and
먼저, 경로 코드 할당기는 전역 엘리먼트인 A와 E 엘리먼트(302, 328)의 XPath(“/A”,“/E”)에 경로 코드 “0x02”, “0x03”을 각각 할당한다. 그리고 A와 E 전역 엘리먼트가 지역 엘리먼트로 참조되는 경우(310, 306)에 각각 참조되는 지역 엘리먼트의 XPath(“./B/A”, “./B/E”)에 “0x08”, “0x06”을 할당한다. 또한, 경로 코드 할당기는 문자 데이터를 갖는 단순 콘텐츠로 정의된 F, K, I와 H 엘리먼트들(308, 320, 326, 332, 334)의 XPath(“./B/F”,“./K”,“./I”,“./H”)에 경로 코드 “0x07”,“0x0C”,“0x05”,“0x06”을 각각 할당한다.First, the path code allocator assigns path codes "0x02" and "0x03" to XPath ("/ A", "/ E") of the global elements A and
이 때, 전역 엘리먼트들은 서로 구별되는 유일한 경로 코드가 할당되어야 하고, 지역 엘리먼트들은 전역 엘리먼트에 종속적으로 서로 구별되는 유일한 경로 코드가 할당되어야 한다. 따라서, 서로 다른 전역 엘리먼트의 자손 엘리먼트로 정의된 지역 엘리먼트들에게 동일한 경로 코드를 할당하는 것이 가능하다. 즉, A 엘리먼트(302)와 E 엘리먼트(328)의 XPath에는 다른 경로 코드가 할당되어야 하고, A 엘리먼트(302)와 A 엘리먼트(302)의 자손 엘리먼트들인 E, F, A 및 D 엘리먼트 등의 XPath에는 서로 구별된 경로 코드가 할당되어야 한다. 그러나, A 엘리먼트(302)의 자손 엘리먼트인 E 엘리먼트(306)의 XPath와 E 엘리먼트(328)의 자손 엘리먼트인 H 엘리먼트(334)의 XPath에는 동일한 경로 코드인 “0x06”을 할당할 수 있다. 또한, XPath에 경로 코드를 할당할 때 동일한 XPath에는 동일한 경로 코드를 부여한다. 즉, K 엘리먼트(320, 326)는 동일한 XPath(“./K”)를 가지므로 동일한 경로 코드(“0x0C”)를 할당한다.At this time, global elements should be assigned unique path codes that are distinct from each other, and local elements should be assigned unique path codes that are distinct from each other depending on global elements. Thus, it is possible to assign the same path code to local elements defined as descendants of different global elements. That is, different path codes must be assigned to XPaths of the
이어서, 경로 코드 할당기는 순환적으로 정의된 D 엘리먼트의 XPath에도 경로 코드를 할당한다. 순환이 시작되는 제1 엘리먼트(316, 322)와 순환이 끝나는 제 2 엘리먼트(318, 324)의 XPath에 경로 코드를 각각 할당한다.The path code allocator then assigns the path code also to the XPath of the circularly defined D element. Path codes are assigned to the XPaths of the
예를 들어, 경로 코드 할당기는 순환이 시작되는 D 엘리먼트(316)의 XPath(“./C/J/D”)에 경로 코드 “0x09”를 할당하고, 순환이 끝나는 D 엘리먼트(318)의 XPath(“./D”)에 경로 코드 “0x0B”를 할당한다. 그리고 순환이 시작되는 D 엘리먼트(322)의 XPath(“./D”)에 “0x0B”를 할당하고, 순환이 끝나는 D 엘리먼트(324)의 XPath(“./D”)에 “0x0B”를 할당한다. 이때, 동일한 XPath(“./D”)에는 동일한 경로 코드(“0x0B”)를 할당한다.For example, the path code allocator assigns the path code “0x09” to the XPath (“./C/J/D”) of the
이어서, 경로 코드 할당기는 혼합 콘텐츠로 정의된 G 엘리먼트(330)의 XPath(“./G”)에도 경로 코드 “0x04”를 할당한다. 그리고 해당 엘리먼트가 갖는 문자 데이터가 혼합 콘텐츠의 문자 데이터임을 나타내는 미리 정해진 유일한 고정된 값(예를 들어, 0x01)을 할당한다.The path code allocator then assigns the path code “0x04” to the XPath (“./G”) of the
또한, 경로 코드 할당기는 스키마에서 정의된 모든 애트리뷰트들의 XPath에 각각 경로 코드를 할당한다. 가령, 경로 코드 할당기는 B 엘리먼트(304)의 x 애트리뷰트의 XPath(“./B/@x”)에 경로 코드 “0x05”를 할당하며, D 엘리먼트(316)의 z 애트리뷰트의 XPath(“./@z”)에 경로 코드 “0x0A”를 할당한다.In addition, the path code allocator assigns a path code to each XPath of all attributes defined in the schema. For example, the path code allocator assigns the path code “0x05” to the XPath (“./B/@x”) of the x attribute of the
상술한 경로 코드 할당 방법은 모든 엘리먼트들 중 선택된 일부 엘리먼트들의 XPath에 경로 코드를 할당하고, 엘리먼트 콘텐츠로 정의된 B, C, J 엘리먼트(304, 312, 314)의 각각에 경로 코드를 할당하지 않음으로써, 모든 엘리먼트에 태그 코드를 할당하는 방법에 비해 압축률을 높일 수 있다.The above-described path code assignment method assigns a path code to the XPath of some selected elements among all elements, and does not assign a path code to each of the B, C, and
이하, 도 6의 DET-MOI에 대하여 설명한다.Hereinafter, the DET-MOI of FIG. 6 will be described.
DET-MOI는 DET(Date Encoder Types)와 MOI(Multiple Occurrence Indicator)를 포함하는 구조이다. DET-MOI is a structure including Date Encoder Types (DET) and Multiple Occurrence Indicator (MOI).
DET는 문자 데이터를 갖는 엘리먼트 혹은 애트리뷰트 각각에 대하여, 엘리먼트의 문자 데이터 혹은 애트리뷰트의 값이 어떤 인코더(encoder)로 부호화되었는지를 나타낸다. DET는 예시적으로 도 11에 도시된 바와 같으며, 기본적으로 4bits를 사용하여 나타낼 수 있다.For each element or attribute having character data, the DET indicates to which encoder the character data or attribute value of the element is encoded. DET is exemplarily illustrated in FIG. 11, and can be represented by using 4 bits.
MOI는 XML 문서에서 엘리먼트 태그 혹은 애트리뷰트의 XPath에 포함된 모든 엘리먼트 태그들의 출현 정보(occurrence indicator)를 나타낸다.The MOI represents the occurrence indicator of all element tags included in an element tag or an XPath of an attribute in an XML document.
MOI는 XPath의 시작 노드(문맥 노드, context node)와 마지막 노드(해당 엘리먼트 태그 혹은 애트리뷰트) 사이에 있는 각 엘리먼트 노드에 대해 순서대로 1 bit를 할당한다.The MOI allocates 1 bit in order for each element node between the start node (context node) and the last node (the corresponding element tag or attribute) of the XPath.
구체적으로, MOI의 각 bit 값은 경로 코드로 변환된 엘리먼트 태그 혹은 애트리뷰트를 복호화 시, 각 bit에 해당하는 엘리먼트 태그의 생성 여부에 따라 “1” 또는 “0”을 할당한다. 즉, 특정 bit에 해당하는 엘리먼트 태그를 생성해야 할 경우에는 “1”로 할당한다. 그러나, 특정 bit에 해당하는 엘리먼트 태그를 생성하지 않을 때에는 “0”으로 할당한다.Specifically, each bit value of the MOI allocates “1” or “0” depending on whether an element tag corresponding to each bit is generated when decoding an element tag or attribute converted into a path code. In other words, if an element tag corresponding to a specific bit needs to be created, assign it to “1”. However, when not generating an element tag corresponding to a specific bit, assign it as "0".
이후, MOI는 부호화된 XML 문서를 복호화 시 XPath에 포함된 모든 엘리먼트 태그들의 생성 여부에 대한 플래그(flag) 역할을 한다. 이때, XPath에서 마지막 노드가 엘리먼트 태그일 경우에는 해당 엘리먼트 태그는 항상 생성되어야 하므로, 값이 “1”인 1 bit를 할당하지 않고, 복호화 시 디폴트 “1”로 처리한다.Subsequently, the MOI serves as a flag for generating all element tags included in the XPath when decoding the encoded XML document. In this case, when the last node is an element tag in XPath, the corresponding element tag should always be generated. Therefore, without assigning 1 bit whose value is “1”, it processes as default “1” when decoding.
이하, 도 6의 길이에 대하여 설명한다.Hereinafter, the length of FIG. 6 is demonstrated.
길이는 경로 코드에 해당하는 엘리먼트 태그 및 애트리뷰트가 갖는 데이터의 길이를 나타낸다. 여기서, 길이는 해당 엘리먼트 태그가 엘리먼트 콘텐츠로 정의된 경우, 하위 계층의 엘리먼트 태그에 해당하는 패스, DET-MOI, 길이, 데이터의 모든 byte 길이를 포함한다. 그리고 문자 데이터만을 갖는 엘리먼트 태그에 대한 길이는 문자 데이터의 길이를 나타낸다. 또한, 애트리뷰트에 대한 길이도 애트리뷰트 값의 길이를 나타낸다.The length indicates the length of data of an element tag and an attribute corresponding to a path code. Here, the length includes a path, a DET-MOI, a length, and all byte lengths of data corresponding to an element tag of a lower layer when the corresponding element tag is defined as element content. The length of the element tag having only text data indicates the length of text data. In addition, the length for an attribute also indicates the length of the attribute value.
도 12는 길이에 따른 부호화 규칙을 설명하기 위한 도면이다.12 is a diagram for describing an encoding rule according to length.
도 12를 참조하면, 길이가 0x00 ~ 0x7f일 경우, 첫 번째 bit 값을 “0”으로 표시하고 길이를 그대로 1 byte로 부호화한다. 여기서 첫 번째 bit는 다음 1 byte를 추가하여 길이를 표현하는지를 나타내는 플래그 역할을 한다.Referring to FIG. 12, when the length is 0x00 to 0x7f, the first bit value is expressed as “0” and the length is encoded as it is in 1 byte. Here, the first bit serves as a flag indicating whether the length is expressed by adding the next 1 byte.
그러나, 0x7f를 초과할 경우에는 확장된 2bytes 또는 3 bytes를 이용하여 부호화한다. 이때, 2 bytes로 확장할 경우에는 첫 번째 byte의 첫 번째 bit의 값을 “1”로 설정하며, 두 번째 byte의 첫 번째 bit의 값을 “0”으로 설정한다. 마찬가지로 3 bytes로 확장할 경우에는 첫 번째, 두 번째 byte 각각의 첫 번째 bit의 값을 “1”로 설정하고, 마지막 세 번째 byte의 첫 번째 bit의 값을 “0”으로 설정의하여 그 길이를 부호화한다.However, if it exceeds 0x7f, encoding is performed using extended 2 bytes or 3 bytes. In this case, when extending to 2 bytes, set the value of the first bit of the first byte to “1” and set the value of the first bit of the second byte to “0”. Similarly, when extending to 3 bytes, set the value of the first bit of each of the first and second bytes to “1”, and set the value of the first bit of the last third byte to “0” to encode the length. do.
도 6의 데이터는 문자 데이터 등의 실제 데이터를 의미한다.The data in FIG. 6 means actual data such as character data.
한편, XML 문서의 부호화 시 이용되는 데이터 구조는 도 6의 데이터 구조 에 한정되지 않으며, DET를 제외한 패스, MOI, 길이, 데이터 필드로 구성되는 데이터 구조로도 XML 문서를 부호화할 수 있다.Meanwhile, the data structure used for encoding the XML document is not limited to the data structure of FIG. 6, and the XML document may be encoded with a data structure including a path, a MOI, a length, and a data field except for the DET.
이하, XML Schema 언어로 작성된 스키마에 유효(valid)한 XML 문서의 부호화 방법에 대하여 설명한다.Hereinafter, a method of encoding an XML document valid for a schema created in the XML Schema language will be described.
도 13은 XML 문서의 부호화 방법을 설명하기 위한 흐름도이다.13 is a flowchart for explaining a method of encoding an XML document.
도 13을 참조하면, XML 부호화기는 XML 문서를 입력 받는다(S200).Referring to FIG. 13, the XML encoder receives an XML document (S200).
이어서, XML 부호화기는 XML 문서에서 문자 데이터를 갖는, 엘리먼트 태그 혹은 애트리뷰트를 검색한다(S201). 그리고 검색한 엘리먼트 태그 혹은 애트리뷰트의 XPath를 추출하여, 추출한 XPath를 경로 코드로 변환한다(S202, S203).Subsequently, the XML encoder searches for an element tag or attribute having character data in the XML document (S201). The XPath of the retrieved element tag or attribute is extracted, and the extracted XPath is converted into a path code (S202 and S203).
이어서, XML 부호화기는 XPath에 포함된 모든 엘리먼트 태그들의 출현 정보인 MOI를 나타내기 위하여, XPath의 시작 노드와 마지막 노드 사이에 있는 각 엘리먼트 노드에 대해 순서대로 1 bit를 할당한다(S204).Subsequently, in order to indicate MOI, which is the appearance information of all the element tags included in the XPath, the XML encoder allocates 1 bit in order for each element node between the start node and the last node of the XPath (S204).
구체적으로, XML 부호화기는 각 bit 값에, 경로 코드로 변환된 엘리먼트 태그를 복호화 할 때, bit에 해당하는 엘리먼트 태그를 생성해야 하는 경우에는 “1”을 할당하고, 생성하지 않을 경우에는 “0”을 할당한다(S205, S206, S207, S208).Specifically, the XML encoder allocates “1” to each bit value when generating the element tag corresponding to the bit when decoding the element tag converted to the path code, and “0” when not generating the element tag. Are assigned (S205, S206, S207, and S208).
다음 문자 데이터를 갖는 엘리먼트 태그 혹은 애트리뷰트에 대하여 반복적으로 경로 코드를 할당한다.Iteratively assigns path codes for element tags or attributes with the following character data:
도 14는 XML 문서의 복호화 방법을 설명하기 위한 도면이다.14 is a diagram for explaining a method of decoding an XML document.
도 14를 참조하면, 먼저 XML 복호화기는 부호화된 XML 문서를 입력 받는 다(S300). Referring to FIG. 14, an XML decoder first receives an encoded XML document (S300).
이이서, XML 복호화기는 부호화된 XML 문서에서 경로 코드를 추출하고, 추출된 각각의 경로 코드에 해당하는 XPath를 검색한다(S301, S302).Next, the XML decoder extracts a path code from the encoded XML document and retrieves XPaths corresponding to the extracted path codes (S301 and S302).
이어서, XML 복호화기는 검색한 XPath에 포함된 엘리먼트 태그 혹은 애트리뷰트를 출현 정보인 MOI에 따라 선택적으로 복원한다.Subsequently, the XML decoder selectively restores the element tag or attribute included in the retrieved XPath according to MOI, which is the appearance information.
XML 복호화기는 MOI의 각 bit에 대하여, 각 bit 값이 “1”일 경우에만 bit에 해당하는 엘리먼트 태그를 복원한다(S303 ~ S306). 그리고, XML 복호화기는 검색한 XPath의 마지막 노드에 해당하는 엘리먼트 태그 혹은 애트리뷰트를 복원한다(S307).For each bit of the MOI, the XML decoder restores an element tag corresponding to the bit only when each bit value is "1" (S303 to S306). The XML decoder restores an element tag or attribute corresponding to the last node of the searched XPath (S307).
이와 같은 방법으로, XML 복호화기는 부호화된 XML 문서의 마지막 경로 코드까지 반복적으로 수행함으로써 복호화를 완료한다(S308).In this manner, the XML decoder completes decoding by repeatedly performing the last path code of the encoded XML document (S308).
이하, XML 문서의 복호화 방법에서 MOI를 이용한 복호화 방법에 대해 구체적으로 설명한다.Hereinafter, the decoding method using the MOI in the XML document decoding method will be described in detail.
도 15는 XML 문서에서 엘리먼트 태그 혹은 애트리뷰트의 XPath에 포함된 모든 엘리먼트들의 출현 정보인 MOI를 예시적으로 나타내는 도면이다.FIG. 15 is a diagram exemplarily illustrating a MOI, which is appearance information of all elements included in an XPath of an element tag or an attribute in an XML document.
도 15를 참조하면, A 엘리먼트는 전역 엘리먼트이고, B, E, G와 I 엘리먼트들은 A 엘리먼트의 자손 엘리먼트들로, 중첩 구조를 형성한다.Referring to FIG. 15, the A element is a global element, and the B, E, G, and I elements are child elements of the A element, forming an overlapping structure.
문자 데이터를 갖는 I 엘리먼트의 XPath는 “./B/E/G/I”이다. 이 XPath에 포함된 모든 엘리먼트 태그들의 출현 정보를 나타내는 방법에 대해 설명한다. The XPath of an I element with character data is "./B/E/G/I". A method of indicating the appearance information of all the element tags included in this XPath will be described.
먼저, XPath의 시작 노드와 마지막 노드인 I 엘리먼트 사이에 있는 각 엘 리먼트 노드에 대해 순서대로 1 bit를 할당한다. 즉, B, E와 G 엘리먼트 노드들에 대한 출현 정보를 표현하기 위하여 3 bits를 할당한다. 그리고 각 bit 값은, 복호화 시, B, E와 G 엘리먼트 태그를 생성해야 하는 경우에는 “1”로, 생성하지 않을 경우에는 “0”을 할당한다.First, 1 bit is allocated in order for each element node between the start node of XPath and the last element of I element. That is, 3 bits are allocated to represent appearance information about B, E and G element nodes. Each bit value is assigned a value of "1" when generating B, E, and G element tags during decoding, and "0" when not generating.
예를 들어, 첫 번째 I 엘리먼트 태그의 MOI 값인 “111”에서 각각의 bit는 순서대로 B, E와 G 엘리먼트를 의미한다. 그리고 각 bit 값이 “1”로 할당되었으므로, 복호화 시, B, E와 G 엘리먼트(402, 404, 406)를 모두 생성한다.For example, in the “111” of the MOI value of the first I element tag, each bit means B, E, and G elements in order. And since each bit value is assigned to "1", during decoding, both B, E and
이어서, 두 번째 I 엘리먼트 태그의 MOI 값인 “000”에서 각 bit 값이 “0”으로 할당되었으므로, 복호화 시 B, E와 G 엘리먼트를 모두 생성하지 않는다. 이로써 첫 번째 I 엘리먼트(408)와 두 번째 I 엘리먼트(410)는 형제(sibling) 관계임을 알 수 있다.Subsequently, since each bit value is assigned to "0" in the MOI value "000" of the second I element tag, the B, E, and G elements are not generated during decoding. This shows that the
세 번째 I 엘리먼트 태그의 MOI 값이 “001”으로, 값이 “1”인 bit에 해당하는 G 엘리먼트(412)만을 생성한다. 네 번째부터 여섯 번째 I 엘리먼트 태그의 MOI를 사용하여 상술한 바와 같은 방법으로 복호화 한다. A MOI value of the third I element tag is “001”, and only a
일곱 번째 I 엘리먼트 태그의 MOI 값이 “011”로, 값이 “1”인 bit에 해당하는 E와 G 엘리먼트(428, 430)들을 생성한다. 마지막으로, 여덟 번째 I 엘리먼트 태그의 MOI를 사용하여 상술할 바와 같은 방법으로 복호화한다.The MOI value of the seventh I element tag is “011”, and the E and
본 발명에 따른 경로 코드를 이용한 XML 문서의 부호화 및 복호화 방법에 의하면, 모든 엘리먼트에 경로 코드를 할당하지 않고, 선택된 일부 엘리먼트의 XPath에 각각 유일한 경로 정보를 할당함으로써, 불필요한 경로 코드의 할당을 감 소시킴에 따라 압축률을 높일 수 있다.According to the method of encoding and decoding an XML document using a path code according to the present invention, the assignment of unnecessary path codes is reduced by allocating unique path information to each XPath of selected elements without allocating path codes to all elements. By increasing the compression rate can be increased.
본 발명에 따른 경로 코드를 이용한 XML 문서의 부호화 및 복호화 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당 업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The encoding and decoding method of an XML document using a path code according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. The medium may be a transmission medium such as an optical or metal line, a wave guide, or the like, including a carrier wave for transmitting a signal designating a program command, a data structure, or the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통 상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, although the present invention has been described by way of limited embodiments and drawings, the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.
그러므로, 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.
도 1은 텍스트 형식의 XML 문서의 예를 나타낸다.1 shows an example of an XML document in a text format.
도 2는 TPEG과 EPG에서 이용하는 XML 문서의 이진 부호화의 기본 구조를 나타낸다.2 shows a basic structure of binary encoding of an XML document used in TPEG and EPG.
도 3은 도 1에 도시된 XML 문서에 대해 도 2를 이용하여 종래의 태그 코드 할당 방법을 설명하기 위한 도면이다.FIG. 3 is a diagram for describing a conventional tag code allocation method using FIG. 2 for the XML document shown in FIG. 1.
도 4는 본 발명에 따른 XML 문서의 부호화 장치의 구성을 나타내는 블록도이다.4 is a block diagram showing the configuration of an apparatus for encoding an XML document according to the present invention.
도 5는 본 발명에 따른 XML 문서의 복호화 장치의 구성을 나타내는 블록도이다.5 is a block diagram showing the configuration of an apparatus for decoding an XML document according to the present invention.
도 6은 본 발명에 따른 XML 문서의 부호화 시, 이용되는 데이터 구조를 나타낸다.6 illustrates a data structure used when encoding an XML document according to the present invention.
도 7은 경로 코드 할당 방법을 성명하기 위한 흐름도이다.7 is a flowchart for clarifying a path code allocation method.
도 8은 XML Schema로 작성된 스키마의 예를 나타낸다.8 shows an example of a schema created with XML Schema.
도 9는 스키마의 정의에 대한 그래픽컬한 다이어그램을 나타내는 도면이다.9 shows a graphical diagram of the definition of a schema.
도 10은 도 9의 엘리먼트 및 애트리뷰트의 XPath에 할당한 경로 코드를 나타낸 경로 코드 테이블이다.FIG. 10 is a path code table showing a path code assigned to the XPath of the elements and attributes of FIG. 9.
도 11은 DET 예를 나타낸 도면이다.11 is a diagram illustrating an example of DET.
도 12는 길이에 따른 부호화 규칙을 설명하기 위한 도면이다.12 is a diagram for describing an encoding rule according to length.
도 13은 XML 문서의 부호화 방법을 설명하기 위한 흐름도이다.13 is a flowchart for explaining a method of encoding an XML document.
도 14는 XML 문서의 복호화 방법을 설명하기 위한 흐름도이다.14 is a flowchart for explaining a method of decrypting an XML document.
도 15은 XML 문서에서 엘리먼트 태그 혹은 애트리뷰트의 XPath에 포함된 모든 엘리먼트 태그들의 출현 정보인 MOI를 예시적으로 나타내는 도면이다.FIG. 15 is a diagram exemplarily illustrating MOI, which is information on appearance of all element tags included in an XPath of an element tag or an attribute in an XML document.
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP08168606A EP2068252A3 (en) | 2007-11-09 | 2008-11-07 | Method and apparatus for encoding and decoding XML document using path code |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070114418 | 2007-11-09 | ||
KR20070114418 | 2007-11-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090048288A KR20090048288A (en) | 2009-05-13 |
KR100952051B1 true KR100952051B1 (en) | 2010-04-07 |
Family
ID=40857492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20080043539A KR100952051B1 (en) | 2007-11-09 | 2008-05-09 | Method and Apparatus for Encoding and Decoding XML Documents Using Path Code |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100952051B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101044870B1 (en) * | 2008-10-02 | 2011-06-28 | 한국전자통신연구원 | Method and Apparatus for Encoding and Decoding XML Documents Using Path Code |
KR101654571B1 (en) | 2010-07-21 | 2016-09-06 | 삼성전자주식회사 | Apparatus and Method for Transmitting Data |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050023411A (en) * | 2002-07-15 | 2005-03-09 | 지멘스 악티엔게젤샤프트 | Method and devices for encoding/decoding structured documents, especially xml documents |
KR20070057603A (en) * | 2005-12-01 | 2007-06-07 | 한국전자통신연구원 | Xml data stream processing system and method for managing the access control using xpath |
-
2008
- 2008-05-09 KR KR20080043539A patent/KR100952051B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050023411A (en) * | 2002-07-15 | 2005-03-09 | 지멘스 악티엔게젤샤프트 | Method and devices for encoding/decoding structured documents, especially xml documents |
KR20070057603A (en) * | 2005-12-01 | 2007-06-07 | 한국전자통신연구원 | Xml data stream processing system and method for managing the access control using xpath |
Also Published As
Publication number | Publication date |
---|---|
KR20090048288A (en) | 2009-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3368883B2 (en) | Data compression device, database system, data communication system, data compression method, storage medium, and program transmission device | |
US7260580B2 (en) | Binary XML | |
US8346737B2 (en) | Encoding of hierarchically organized data for efficient storage and processing | |
US9336188B2 (en) | Generating a statistical tree for encoding/decoding an XML document | |
US7263654B2 (en) | System and method for generating optimized binary representation of an object tree | |
US20050097566A1 (en) | Message translation and parsing of data structures in a distributed component architecture | |
US8892991B2 (en) | Encoder compiler, computer readable medium, and communication device | |
US7318194B2 (en) | Methods and apparatus for representing markup language data | |
KR101044870B1 (en) | Method and Apparatus for Encoding and Decoding XML Documents Using Path Code | |
JP3865694B2 (en) | Path encoding and decoding method in tree structure of structured document | |
KR101109201B1 (en) | Method for a description of audio-visual data content in a multimedia environment | |
CN101807205A (en) | The processing module, equipment and the method that are used for the processing XML data | |
CN102708106B (en) | Exi encoder | |
KR100952051B1 (en) | Method and Apparatus for Encoding and Decoding XML Documents Using Path Code | |
US20080276230A1 (en) | Processing bundle file using virtual xml document | |
JP2006519422A (en) | How to encode structured documents | |
US8185565B2 (en) | Information processing apparatus, control method, and storage medium | |
CN105793842B (en) | Conversion method and device between serialized message | |
KR100898614B1 (en) | Schema, syntactic analysis method and method of generating a bit stream based on a schema | |
EP2068252A2 (en) | Method and apparatus for encoding and decoding XML document using path code | |
JP2009128945A (en) | Data processing apparatus, method and program | |
US20040015780A1 (en) | Position-independent access to data elements in an electronic document | |
CN101151612A (en) | Method of and system for providing random access to a document | |
JP4830558B2 (en) | Structured document encoding apparatus and structured document decoding apparatus | |
WO2007006090A1 (en) | Systems and methods for use in transforming electronic information into a format |
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 | ||
FPAY | Annual fee payment |
Payment date: 20130327 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140728 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160401 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170410 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20180403 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |