KR20050023411A - 구조화된 문서들, 특히 xml 문서들을인코딩/디코딩하기 위한 방법 및 장치 - Google Patents

구조화된 문서들, 특히 xml 문서들을인코딩/디코딩하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20050023411A
KR20050023411A KR10-2005-7000504A KR20057000504A KR20050023411A KR 20050023411 A KR20050023411 A KR 20050023411A KR 20057000504 A KR20057000504 A KR 20057000504A KR 20050023411 A KR20050023411 A KR 20050023411A
Authority
KR
South Korea
Prior art keywords
names
type
bit stream
schema
decoding
Prior art date
Application number
KR10-2005-7000504A
Other languages
English (en)
Other versions
KR100968083B1 (ko
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
Priority claimed from DE10248758A external-priority patent/DE10248758B4/de
Application filed by 지멘스 악티엔게젤샤프트 filed Critical 지멘스 악티엔게젤샤프트
Priority claimed from PCT/DE2003/002274 external-priority patent/WO2004017225A1/de
Publication of KR20050023411A publication Critical patent/KR20050023411A/ko
Application granted granted Critical
Publication of KR100968083B1 publication Critical patent/KR100968083B1/ko

Links

Classifications

    • G06F17/20
    • G06F17/21

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

본 발명은 메타스키마에 따라 스키마로부터 비트 스트림 또는 비트 스트림의 일부를 생성하는 인코딩 방식에 관한 것이다. 본 발명에 따라 다음의 최적화 과정중 적어도 하나가 수행된다: 엘리먼트 선언들 및 속성 선언들로부터 익명 타입들을 분리, 및 자신의 타입으로써 인코딩, 상위 레벨 엘리먼트로써의 상기 타입 정의는 스키마 정의에서 인스턴스화됨; 인코더 측에서 신택스 트리들의 표준화; 타입명들의 문자 스트링들의 대체; 및 상속 트리에 대한 정보 전송. 디코딩은 상기 최적화 과정을 고려하고 상기 비트 스트림으로부터 역으로 스키마를 생성한다.

Description

구조화된 문서들, 특히 XML 문서들을 인코딩/디코딩하기 위한 방법 및 장치{METHOD AND DEVICES FOR ENCODING/DECODING STRUCTURED DOCUMENTS, ESPECIALLY XML DOCUMENTS}
본 발명은 구조화 된 문서들, 특히 XML 문서들을 인코딩하기 위한 방법 및 장치, 디코딩하기 위한 방법 및 장치에 관한 것으로써, 상기 인코딩 시에 상기 구조화된 문서로부터 스키마 함수로써 비트 스트림이 생성되고 상기 디코딩 시에 비트 스트림으로부터 스키마 함수로써 구조화된 문서가 생성된다.
MPEG-7 표준 하에서, XML 데이터의 이진 인코딩 방법은 개발되었고, 이는 이후에 BiM 방식으로써 언급되고, 예를 들어 ISO/IEC FDIS 15938-1:2001(E) 발행에서 "정보 기술 - 멀티미디어 컨텐츠 디스크립션(description) 인터페이스 - 파트 1:시스템즈"에서 공지된다. 이러한 방법은 XML 디스크립션의 개별적 데이터 요소들에 대한 코드들을 생성하기 위해 MPEG-7 스키마와 같은, 인코더 및 디코더에서 사용 가능한 XML 스키마 정의를 사용한다. 이러한 방법에 대한 사전 조건은, 동일한 스키마 정의들이 인코더 및 디코더에 적어도 부분적으로 이용 가능하다는 것이다. 이는, 예를 들어 만일 표준화된 XML 스키마가 디코더에서 영구적으로 설정된다면, 보장될 수 있다. 더욱이, 스키마를 디코더에 별도로 전달하거나 추가로 실제 문서에 전달할 가능성이 존재한다. 인코더에서 디코더로의 스키마 전송은 텍스트 형태로 수행될 수 있고, ZIP과 같은 표준 텍스트 압축법이 적용될 수 있다.
도 1은 본 발명에 따라 인코딩/디코딩을 설명하기 위한 개략적인 다이아그램.
도 2는 본 발명의 바람직한 실시예를 자세히 설명하기 위한 다이아그램.
도 3은 본 발명의 다른 바람직한 실시예를 자세히 설명하기 위한 다이아그램.
도 4는 본 발명에 따라 디코더의 바람직한 실시예의 개략적 다이아그램.
이후, 본 발명의 중요한 목적은, 스키마의 전송이 특히 효율적으로 수행되고 디코더에서의 전송되는 데이터셋 및 상기 스키마로부터 코드 테이블을 생성하기 위해 필요한 연산 시간이 감소되는 방향으로 방법들 또는 장치들을 규정하는데 있다. 더욱이, 완전히 전송되지 않은 스키마의 일관성이 보장되어야만 한다.
본 발명에 따라, 이러한 목적은 인코딩 방법에 관한 청구항 1의 특징들, 디코딩 방법에 관한 청구항 7의 특징들, 인코딩 장치에 대한 청구항 14의 특징들 및 디코딩 장치에 대한 청구항 15의 특징들에 의해 달성된다.
다른 청구항들은 본 발명에 따른 방법 및 장치의 유리한 실시예들에 관한 것이다.
본 발명은 필수적으로 인코딩 방식의 도움으로 스키마로부터 메타스키마 함수로써 비트 스트림 또는 비트 스트림 일부를 생성하는 데 있고, 이에 의해 다음의 최적화 과정들 중 적어도 하나가 수행된다:
- 엘리먼트 선언들 및 속성 선언들로부터 익명 타입들의 분리 및 자신의 타입으로써 인코딩(상기 타입의 정의는 상위 레벨 엘리먼트로서 스키마 정의에서 인스턴스화됨)
- 인코더 측 상의 신택스 트리의 표준화(normalization)
- 타입명들의 문자 스트링의 대체
- 상속 트리에 대한 정보 전송
디코딩은 상기 최적화 과정을 고려하고, 역으로 말하면 비트 스트림으로부터 스키마를 발생시킨다.
이후에서, 본 발명은 도면들에 도시된 예시적인 실시예들을 바탕으로 설명된다.
자신들의 부분에 대한 XML 스키마들은 표준화된 신택스 정의, 특히 실질적으로 메타스키마를 나타내는 "스키마용 스키마(schema for schemas)"로써 언급되는 것에 기초한 XML 문서들을 포함하기 때문에, 스키마는 또한 위에서 참조된 BiM 방식의 도움으로 인코딩 및 전송될 수 있다.
도 1은, 제 1 단계에서, 비트 스트림의 일부 또는 비트 스트림(BS1)이 BiM 인코딩 방식(BiM-E)에 의해 메타스키마(SS) 함수로써 XML 스키마(XMLS)로부터 생성되고, 제 2 단계에서, 비트 스트림의 다른 부분 또는 비트 스트림(BS2)이 동일한 BiM 인코딩 방식(BiM-E)의 도움으로 스키마(XMLS) 함수로써 XML 문서(XML)로부터 생성되고, 또한 역방향으로 XML 스키마 및 XML 문서는 BiM 디코딩 방식(BiM-D)의 도움으로 상기 비트 스트림의 두 부분들 또는 상기 비트 스트림들(BS1 및 BS2)로부터 복구되는 배열을 도시한다.
본 발명의 제 1 바람직한 실시예에서, 상기 엘리먼트 또는 속성 선언으로부터 "익명 타입(anonymous types)"으로써 언급되는 것의 분리가 수행된다.
XML 문서의 전송은 BiM 방식에 관해서는 "깊이 우선(depth first)"에 의해 영향을 받지만, 디코더에서 스키마 컴파일 작업은 "너비 우선(breadth first)"을 요구하고, 이러한 표현들은 예를 들어, 인터넷 페이지 http://www.generation5.org/simple_search.shtml 에서 자세하게 설명된다. 시퀀스 또는 선택 그룹들과 같은 그룹들에 관해서, 이는 디코더 측의 작은 버퍼 메모리에 의해 보상될 수 있으나, 개별적 엘리먼트 또는 속성의 타입을 정의할 수 있는 "익명 타입들"에 관해서 복잡성은 인코더 측에서의 재구조화 과정을 정당화한다: 이후의 예제에서 ATO로 표시되는 익명 타입 정의들은 엘리먼트 "CurriculumVitae"에 대한 엘리먼트 선언에서 시작하고, 대응하는 엘리먼트에 관해서 참조의 목적으로 사용되는 이름 및/또는 코드가 주어진다.
이점으로써, 이는 전송되는 타입들의 상속 깊이를 감소시켜서 디코더 상에서의 스키마의 컴파일이 간소해진다.
예:
재구조화 되기 이전의 스키마
<complexType name="PersonDescriptor">
<element name="CurriculumVitae">
<complexType>
<element name="name" type="string"/>
<element name="birthday" type="date"/>
...
</complexType>
</element>
<element name="profession" type="profTp" />
</complexType>
재구조화 이후의 스키마
<complexType name="PersonDescriptor">
<element name="CurriculumVitae" type="ATO" />
<element name="profession" type="profTp" />
</complexType>
<complexType name="ATO">
<element name="name" type="string" />
<element name="birthday" type="date" />
...
</complexType>
본 발명의 제 2 바람직한 실시예에서, BiM에서 규정되는 바와 같이, 신택스 트리들의 표준화는 인코더 측에서 수행된다.
BiM 방식에서, 비트 스트림을 디코딩하는데 사용되는 "제한적 상태 자동화(Finite State Automations)"로써 언급되는 것은 XML 스키마 구조와 맵핑되는 신택스 트리들로부터 생성된다. 인코딩 효율을 향상시키기 위해, 이러한 신택스 트리들은 텍스트 XML 정의들과 1:1 로 대응하지 않는 대신, 표준화가 수행된다. 세 개의 다른 경우들이 이러한 관점에서 발생할 수 있다:
1. 오직 하나의 엘리먼트를 포함하는 그룹의 단순화: 상기 그룹은 분리(dissolve)되며 포함된 엘리먼트는 상기 분리된 그룹 레벨로 컨텐츠 모델에 놓여지고, 상기 엘리먼트의 속성들(minOccurs 및 maxOccurs)은 상기 분리된 그룹의 대응하는 속성들과 재그룹화 되기 이전의 엘리먼트의 곱으로 대체된다.
2. 속성 값(minOccurs=0)을 갖는 엘리먼트를 포함하는 선택 그룹의 단순화: 상기 선택 그룹의 속성("minOccurs")은 이전의 값은 무시되어 0 으로 설정되는 반면, 속성값(minOccurs=0)을 갖는 엘리먼트는 속성 값(minOccurs=1)으로 할당된다.
3. 내포된 선택 그룹들의 단순화: 만일 선택 그룹이 속성 값들(minOccurs=maxOccurs=1)을 포함하는 다른 선택 그룹을 포함한다면, 그러한 다른 선택 그룹은 분리되고 컨텐츠는 상위 선택 그룹으로 즉시 병합된다.
스키마의 전송에 있어서, 이러한 단순화들은 인코더에서 이미 수행되었어야 하는데, 이는 신택스 트리 변형은 표준 코드(normative)들의 할당에 영향을 주고 만일 상기 컨텐트 모델이 직접 전달될 수 있다면 스키마의 컴파일은 디코더 상에서 간소화 되기 때문이다.
이러한 경우에, 이는 또는 디코더의 부담을 줄여주고, 타입 디코딩시에 생성되는 상기 컨텐트 모델은 스키마 컴파일러에 직접 제공될 수 있는 사실에 그 이점이 있다 하겠다.
본 발명의 제 3 바람직한 실시예에서, 도 2에서 도시된 바와 같이, 타입명들의 문자 스트링들의 대체가 수행된다.
타입 정의의 "name" 및 "base" 속성들에 있어서, 또한 엘리먼트 선언 또는 속성 선언의 "type" 속성에 있어서, 동일한 타입 명들이 스키마에서 종종 발생하고, 이는 문자 스트링들로써 다중으로 전송된다. 그러므로, 타입 명 인코딩에 있어서, 이름, 및 이름과는 별도로 번호들을 원래의 이름들로 다시 링크시키는 테이블 대신에, 상기 번호만을 인코딩하는 것이 유리하다. 적절한 번호는 타입 번호를 포함하고, 아래에서 더 자세하게 설명된 마스터 타입의 상속 트리는 모든 complexType들에 할당한다.
전역 엘리먼트 선언들의 "name" 속성 및 상기 선언들의 "ref" 속성들 참조, 및 "substitutionGroup" 속성의 대체 그룹들 명에도 동일하게 적용된다. 이러한 경우들에 있어서, 예를 들어, 전역 엘리먼트들의 스키마 브랜치 코드(SBC)들이 사용될 수 있다.
이는 데이타 볼륨을 절약시켜주는데, 왜냐하면 타입명들은 비트 스트림에 걸쳐 분산 발생하지 않고 상기 비트 스트림의 연결 영역에서 압축 형태로 발생함으로 인해, 동일한 타입명으로의 반복된 참조는 좀 더 압축된 형태로 표시될 수 있고 타입 할당 테이블은 표준 압축 툴을 이용해 더 잘 압축 될 수 있기 때문이다.
이점이 있는 실시예에서, 타입명들 도는 엘리먼트 명들 도는 대체 그룹들의 이름들을 포함하는 리스트가 인코딩된다. 상기 이름들에 번호들을 명시적으로 할당하는 대신에, 상기 리스트에서의 이름의 위치는 본 실시예에서 번호로써 사용된다. 상기 번호들은 리스트에서 더이상 인코딩 될 필요가 없으므로 좀 더 효율적인 전송이 보장되는 이점이 있다.
본 발명의 제 4 바람직한 실시예에서, 상속 트리에 대한 정보 전송이 이루어진다.
"base" 속성으로서 언급되는 것에서, 만일 상기 속성이 존재한다면, 각 타입 정의는 어느 타입이 어디에서 상속되었는지에 대한 정보를 포함한다. 스키마에 대한 이러한 모든 정보를 수집하는 것은 상속 트리로서 언급된 트리 구조를 발생시킨다. 상기 상속 트리는 엘리먼트의 새로운 타입을 타입 변환(타입-캐스팅) 이벤트로 전달하기 위해 BiM 인코딩 방식에 관해서 사용된다. 이러한 관점에서, 베이스 타입으로부터 상속된 모든 타입들에 할당된 코드는 즉 타입 코드로서 언급되고 이러한 코드의 길이는 디코딩을 정정하는데 중요한다. 상기 길이는 베이스 타입 하에서 상속 트리의 모든 타입들의 전체수에 의해 주어진다. 만일 스키마가 완전히 전송되었다면, 코드들 및 또한 코드 길이 모두는 디코더 측에서 명백하게 결정될 수 있다. 그러나 만일 스키마가 디코더 측에서 완료되지 않으면, 이미 전송된 타입들에 타입 코드들을 할당하기 위해 추가의 정보가 여전히 전송되어야만 한다.
전송된 타입 각각은 이름 필드에서 마스터 타입을 참조하는 타입 코드의 번호를 갖는다. 이는 유도된 타입들의 타입 코드가 간단한 차이 형식(simple difference formation)에 의해 결정되도록 허용한다. 전송된 타입들에 의해 정의된 서브-트리의 파워(power)에 대한 정보, 즉 이러한 전송된 타입들로부터 유도된 타입들의 타입 코드들의 길이 정보는 여전히 빠져 있다. 이러한 길이는 가변 길이 코드에서 몇 비트의 도움으로 전송될 수 있다.
도 3은 예시로써, 다른 타입들이 그것으로부터 유도된 타입 A를 갖는 스키마의 상속 트리를 도시한다. 이러한 타입은 예를 들어, 마스터 타입("anyType")을 참조하는 타입 코드(134)가 주어진다. 타입 A로부터 유도된 타입들(AA, AB 및 AC)는 마스터 타입을 참조하여 규정된다. 베이스 타입(A)를 참조하는 타입 코드들을 결정하기 위해서, 원하는 타입의 타입 코드에서 베이스 타입의 타입 코드 및 1을 빼면 충분하다.
TC타입 = TC마스터 타입을 참조하는 타입 - TC마스터 타입을 참조하는 베이스 타입 - 1
타입 코드의 길이에 대한 정보가 빠진 것은 부가의 번호로써 참조 테이블에서 가장 잘 완성될 수 있다.
표준 압축 툴을 사용해 타입 할당 테이블의 정보를 압축할 수 있도록 하기 위해, 전체 바이트에 정렬(바이트-정렬)된 것을 저장하는 것이 바람직하다. 제 1 번호는 테이블에서 라인수를 인코딩하는 vluimsbf5 번호, 그에 뒤이어 타입 코드에 대한 비트 번호를 인코딩하는 vluimsbf5 번호, 및 마스터 타입 그 자체를 참조하는 타입 코드를 나타내는 vluimsbf5 번호를 포함한다. 충전 문자 비트들 또는 메꿈 비트들은 바이트 경계들로의 정렬을 달성하기 위해 뒤따른다.
타입 할당 테이블 포맷
Vuimsbf5 Vuimsbf5 비트 문자 스트링
라인수
타입 코드 1의 길이 타입 코드 1 0-7 충전 문자 비트 타입 1의 이름
타입 코드 2의 길이 타입 코드 2 0-7 충전 문자 비트 타입 2의 이름
... ... ... ...
타입 할당 테이블의 전송은, 심지어 기본적 스키마가 완전히 전송 및/또는 디코딩 되었든 안되었는, 인코딩된 문서 내에 존재하는 임의의 타입의 코드들을 정확하게 디코딩할 수 있도록 하여 준다.
그에 따라, 전역 SBC는 전역 엘리먼트들, 및 대체 그룹에 속한 엘리먼트들에 관해서 대체 코드들과 함께 전송되어야만 하고, 이때 하나의 전역 SBC 길이 및 각 대체 코드의 길이는 상기 대체 그룹의 헤더 엘리먼트들과 함께 모든 전역 엘리먼트들 이전에 전송된다.
각 실시예들에서 나타난 특징들의 임의의 조합이 인코딩 시 가능하고 또한 디코딩시 대응하는 식으로 사용될 수 있다.
BiM 방식은, XML 스키마가 코드들의 값에 의해 코드 워드들의 길이 및 데이터 엘리먼트들의 선택의 조작을 허용하는 포맷으로 컴파일 되는 것을 요구한다. 이를 위한 명가지 가능성이 존재한다. MPEG-7 표준(ISO/IEC 15938-1:2001 파트 1: 시스템즈 또는 ISO/IEC 15938-6:2001 파트 6:참조 소프트웨어)은 유용한 정보 또는 페이로드의 디코딩을 위한 제한적 상태 자동화 및 컨텍스트 경로의 디코딩을 위한 스키마로부터 생성된 코드 테이블들을 사용하는 모델을 제시한다.
도 4에 도시된 본 발명에 따른 디코더의 바라직한 실시예에서, 디코딩 작업은 바이트 코드 모델에 의해 디스크립션되고, 이때 스키마 구조는 바이트 코드 인터프리터(BCI)에 의해 처리되는 상호 링크 상태들의 시스템으로 전환되고, 인코더로부터 수신된 비트 스트림(BS)은 이후의 선택되는 상태에 대한 정보를 포함한다. 상기 MPEG-7 표준에서 제시도니 모델과는 반대로, 페이로드를 나타내는 비트 스트림 및 또한 컨텍스트 경로를 나타내는 비트 스트림 모두가 디코딩 될 수 있도록 바이트 코드 모델이 생성된다. 그러므로, 상이한 인코딩 방식들을 위한 디코더에서 스키마에 두번 포함된 동일한 정보를 유지하는 것이 불필요하다. 상기 BCI 인터프리터는 XML 문서 또는 BiM 포맷의 XML 스키마를 인코딩 하는 들어오는 비트 스트림으로부터의 정보를 판독한다. 이러한 정보는, 바이트 코드에 저장된 현 상태의 이후의 상태들 중으로부터의 선택을 허용한다. 이후의 상태들은 바이트 코드 내에서 포인터들(P)로서 영구적으로 생성된다. 경로, 페이로드 또는 바이트 코드는 구성에 따른 출력이다.
스키마의 디코딩은 또한 위에서 제시된 변형으로 바이트 코드 모델로 효과적으로 구현될 수 있다. 이러한 경우에, 페이로드 또는 경로는 출력이 아니고; 대신, 바이트 코드가 직접 생성되어 대응하는 타입들의 디코딩을 위한 바이트 코드 인터프리터에 의해 사용될 수 있다.
바이트 코드는 구조 엘리먼트들 또는 상태들로 구성된다. 상기 상태들은 상이한 타입들로써 상기 상태들의 헤더 비트 필드에 의해 식별된다. 상기 상태들은 타입에 따라 상이한 정보 필드들을 포함하는데, 상기 정보 필드들은 구성(페이로드/컨텍스트 경로) 및 현 상태에 따라 상기 바이트 코드 인터프리터에 의해 판독되어 분석된다.
스키마 정보를 나타내는 상태들의 타입들을 위한 몇몇 변형들을 생각할 수 있다. 필수적 요인은, XML 스키마의 모든 신택스 엘리먼트들이 바이트 코드 모델의 상태들에 의해 재생성될 수 있고 MPEG-7 표준에서 정의된 두 개의 알고리듬들의 효율적 디코딩을 위해 필요한 모든 정보(컨텍스트 경로 / 페이로드)가 상기 상태들에서 이용 가능하도록 되어야 한다는 것이다.
바이트 코드의 가능한 구조는 다음에서 약술된다.
상태 타입들: 개괄적
1. complexType의 헤더 상태
타입의 헤더 상태는 complexType의 디코딩에서 시작 지점을 형성한다. 이는상기 타입의 이름 (만일 익명 타입을 구성하지 않을시) 및 또한 상기 타입의 상속을 관한 정보(베이스 상태로의 포인터) 및 또한 다형성을 포함한다.
페이로드 인코딩을 위한 특정 요소는 상기 타입의 속성들의 리스트로의 포인터를 포함한다. 컨텍스트 인코딩을 위한 특정 요소는 컨텍스트 및 피연산자 트리 브랜치 코드 테이블들을 위한 자식 엘리먼트들의 번호를 갖는 필드들을 포함한다.
마지막 정보 필드는 즉 complexType의 컨텐트를 나타내는 제 1 상태인 이후의 상태(예를 들어, 엘리먼트 상태 또는 선택 상태)로의 포인터를 포함한다.
헤더 상태의 그래픽적 표현:
헤더 비트 필드
이름을 갖는 스트링으로의 포인터
베이스 타입에 대한 헤더 상태로의 포인터
상속 트리로의 포인터
컨텍스트(TBC)에 대한 자식의 번호
피연산자(TBC)에 대한 자식의 번호
이후의 상태로의 포인터
2. 선택 상태
선택 상태는 XML 스키마의 선택 그룹을 재생성한다. 상기 선택 상태는 가능한 이후의 상태들을 갖는 포인터들의 리스트를 필수적으로 포함한다. 실제로 선택된 상태를 조작하기 위해, 비트 스트림은 페이로드의 디코딩 동안에 판독되어야 한다. 선택 상태의 두가지 변형이 존재한다: 가능한 이후의 다른 상태들로 분기하는 시작 상태, 및 선택을 다시 요약하는 엔드 상태.
3. 엘리먼트 상태
엘리먼트 상태는 스키마의 complexType에서 엘리먼트 선언을 재생성한다. 상기 상태는 엘리먼트의 이름을 갖는 문자 스트링으로의 포인터, 및 타입의 헤더 상태로의 포인터를 포함한다. 더욱이, 위치 코드(경로 디코딩만을 위한것)의 길이 및 대체 그룹에 대한 정보가 존재할 수 있다.
4. 속성 상태
속성 상태는 스키마의 속성 선언을 재생성한다. 상기 상태는 속성명으로의 포인터, 및 속성의 simpleType의 헤더 상태로의 포인터를 포함한다.
5. 발생 상태
발생 상태는 XML 스키마에 있어서, 예를 들어 엘리먼트 또는 그룹(선택, 시퀀스 등)에 관해서 발생할 수 있는 minOccurs 및 maxOccurs 속성들을 재성성한다. 상기 상태는, 엘리먼트 또는 그룹의 인스턴스가 더 발생할 때의 이후의 상태로의 포인터, 및 상기 그룹의 마지막 인스턴스가 인코딩되었을 때의 이후의 상태로의 포인터를 포함한다. XML 스키마에 관해서 엘리먼트가 그 자체를 포함할 가능성이 있기 때문에(엘리먼트 그 자체는 상기 엘리먼트의 complexType 정의 또는 더 깊은 내포에서 다시 발생함), 발생 상태는 또한 동일한 시간에 한번 이상 활성화될 수 있다. 그러므로 발생 상태 내의 스택으로의 포인터는, 발생 상태의 각 액티브 인스턴스의 현 상태를 안전하게 하는 것이 요구된다.
6. 타입의 엔드 상태
타입의 엔드 상태는 상기 타입의 모든 속성들을 갖는 포인터들의 리스트를 포함한다. 상기 상태는 경로의 인코딩을 필요로 하는데, 이는모든 속성들이 트리 브랜치 코드 테이블의 테이블 마지막에 놓여지기 때문이다. 엔드 상태에 도달하자마자, 바이트 코드 인터프리터는 상기 타입을 호출한 엘리먼트로 계층적으로 분기한다. 호출하는 엘리먼트에 대한 대응하는 정보는 바이트 코드 인터프리터의 작업중인 메모리 내에 저장되어야 한다.
7. simpleType 의 헤더 상태
이 상태는 컨텐트의 디코딩을 제어하는데, 즉 상기 상태는 특히 비트 스트림으로부터 관련 타입의 데이터를 판독 및 디코딩할 수 있는 코덱으로의 포인터를 포함한다. 상기 코덱의 타입은 정보 필드에서 규정된다.
MPEG-7 참조 소프트웨어의 스테터스와 비교하여 바이트코드 모델의 중요한 장점은 다음을 포함한다:
1. 스키마 정보는 인코딩 방식들(컨텍스트 경로 / 페이로드) 모두에 대해 디코더에서 단지 한번 표시된다. 바이트 코드 상태의에서 큰 정보 부분은 상기 두가지 방식들에 대해 관련된다. 더 작은 부분은 각 경우에 있어서 상기 두가지 방식들 중 하나에 대해 규정된다. 그러므로, 디코더에서 스키마 정보의 표시는 상당히 압축된다.
2. 바이트 코드 모델은 예를 들어(XML 스키마 대신에 텍스트로써), 사전 컴파일 및 저장에 적합하고, 스카마 정보에 대해 이용 가능한 잘-정의된 데이터 포맷을 만든다.
3. 표준 프로세서에 의해 바이트 코드를 실행하는 것은 매우 신속히 실행될 수 있고, 이는 상기 바이트 코드 모델이 디코딩 작업을 매우 효율적으로 준비하기 때문이다. 모든 정보는 포이터들을 통해 상태에서 직접 이용 가능하고 리스트들에서 우선 부분적으로 탐색될 필요가 없다(ISO/IEC 15938-6, 파트 6: 참조 소프트웨어).
대응하는 인코더가 동일한 방식으로 구현될 수 있고, 이때 상태들이 구조화된 문서의 테스트 표시에 의해 제어되고 상태 변환은 이진 표시를 생성하는 방식이다.

Claims (17)

  1. 구조화된 문서들, 특히 XML 문서들을 인코딩하는 방법으로서,
    제 1 단계에서, 스키마(XMLS)의 구조는 표준화되고, 엘리먼트들 및/또는 속성들을 갖는 그룹들이 단순화되고,
    비트 스트림의 일부분 또는 비트 스트림(BS1)은 인코딩 방식(BiM-M)에 의해 상기 표준화된 스키마로부터 메타스키마(SS) 함수로써 생성되는, 인코딩 방법.
  2. 제 1 항에 있어서,
    다음 단계에서, 상기 비트 스트림의 다른 부분 또는 다른 비트 스트림(BS2)은 동일한 인코딩 방식(BiM-M)에 의해 문서(XML)로부터 상기 스키마(XMLS)의 함수로서 생성되는 것을 특징으로 하는 인코딩 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    구조화된 문서의 상기 스키마 정의의 엘리먼트 선언들 및/또는 속성 선언들은, 익명 타입의 정의들(AT0)이 상기 엘리먼트 선언들 및/또는 속성 선언들로 시작하여 대응하는 엘리먼트에 관해서 참조의 목적들로 사용되는 이름 및/또는 코드가 주어지는 방식으로, 재구조화 되는 것을 특징으로 하는 인코딩 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 대체 그룹들의 타입명들 및/또는 엘리먼트명들 및/또는 이름들 대신에, 단지 번호들, 및 상기 대체 그룹들의 상기 타입명들 및/또는 엘리먼트명들 및/또는 이름들과 상기 번호들 사이의 할당을 포함하는 하나 이상의 테이블들이 인코딩되는 것을 특징으로 하는 인코딩 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 대체 그룹들의 타입명들 및/또는 엘리먼트명들 및/또는 이름들, 및 상기 대체 그룹들의 상기 타입명들 및/또는 상기 엘리먼트들명 및/또는 상기 이름들의 리스트 내의 위치를 포함하는 하나 이상의 상기 리스트들은, 상기 대체 그룹들의 상기 타입명들 및/또는 상기 엘리먼트명들 및/또는 상기 이름들을 대신하여 인코딩 되는 것을 특징으로 하는 인코딩 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 타입들의 상속 트리, 전역 엘리먼트들 및/또는 대체 그룹들에 대한 정보는 인코딩되고, 이 때 상기 타입 각각은 마스터 타입을 참조하는 자신의 타입 코드에 대한 정보 항목 및 디스크립션되는 상기 타입을 참조하는 모든 타입 코드들의 길이 항목에 의해 디스크립션되며; 및/또는
    상기 전역 엘리먼트 각각은 상기 SBC(schema branch code)의길이, 및 상기 대체 코드들의 길이 및 대체 코드에 의해 대체 그룹의 SBC 및/또는 각 엘리먼트에 의해 디스크립션되는 것을 특징으로 하는 인코딩 방법.
  7. 구조화된 문서들, 특히 XML 문서들을 디코딩하는 방법으로서,
    스키마(XMLS)의 구조는 비트 스트림의 일부분 또는 비트 스트림(BS1)으로부터 디코딩 방식(BiM-D)에 의해 메타스키마(SS) 함수로써 생성되고,
    상기 스키마의 구조가 이미 표준화되었는지 여부가 상기 비트 스트림에서 설정되고, 상기 엘리먼트들 및/또는 속성들을 갖는 그룹들은 단순화되고 이 경우에 표준화는 더 이상 수행되지 않는 것을 특징으로 하는 디코딩 방법.
  8. 제 7 항에 있어서,
    제 2 단계에서, 상기 문서(XML)는 상기 비트 스트림의 다른 부분 또는 다른 비트 스트림(BS2)로부터 동일한 디코딩 방식(BiM-D)에 의해 상기 스키마(XMLS)의 함수로서 생성되는 것을 특징으로 하는 디코딩 방법.
  9. 제 7 항에 있어서,
    상기 스키마(XMLS)의 디코딩 동안에, 상기 문서(XML)는 상기 비트 스트림의 다른 부분 또는 다른 비트 스트림(BS2)로부터 동일한 디코딩 방식(BiM-D)에 의해 상기 스키마(XMLS)의 이미 디코딩된 부분의 함수로서 생성되는 것을 특징으로 하는 디코딩 방법.
  10. 제 7 항 내지 제 9 항 중 어느 한 한에 있어서,
    구조화된 문서의 엘리먼트 선언들 및/또는 속성 선언들은, 전송의 목적으로 이름 및/또는 코드가 할당되는 익명 타입들(AT0)이 상기 익명 타입 각각이 참조되는 각 엘리먼트 선언 또는 속성 선언에 삽입되는 방식으로 재구조화 되는 것을 특징으로 하는 디코딩 방법.
  11. 제 7 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 대체 그룹들의 타입명들 및/또는 엘리먼트명들 및/또는 이름들은 번호들, 및 상기 번호와 상기 대체 그룹들의 타입명들 및/또는 엘리먼트명들 및/또는 이름들 사이의 할당을 포함하는 하나 이상의 테이블들을 통해 상기 비트 스트림으로부터 디코딩 되는 것을 특징으로 하는 디코딩 방법.
  12. 제 7 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 대체 그룹들의 상기 타입명들 및/또는 상기 엘리먼트명들 및/또는 상기 이름들은 상기 대체 그룹들의 상기 타입명들 및/또는 상기 엘리먼트명들 및/또는 상기 이름들, 및 상기 대체 그룹들의 상기 타입명들 및/또는 상기 엘리먼트명들 및/또는 상기 이름들의 리스트 내 위치들을 포함하는 하나 이상의 리스트들을 통해 상기 비트 스트림으로부터 디코딩 되는 것을 특징으로 하는 디코딩 방법.
  13. 제 7 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 타입들 및/또는 상기 전역 엘리먼트들 및/또는 상기 대체 그룹들의 상속 트리에 대한 정보가 먼저 상기 비트 스트림으로부터 디코딩되고, 이 때 상기 타입 각각은 마스터 타입을 참조하는 자신의 타입 코드에 대한 정보 항목 및 디스크립션되는 타입을 참조하는 모든 타입 코드들의 길이 항목에 의해 디스크립션되고; 및/또는
    상기 전역 엘리먼트 각각은 상기 SBC의 길이, 및 상기 대체 코드들의 길이 및 대체 코드에 의해 대체 그룹의 SBC 및/또는 각 엘리먼트에 의해 디스크립션되는 것을 특징으로 하는 디코딩 방법.
  14. 구조화된 문서들, 특히 XML 문서들을 인코딩하는 장치로서,
    인코더 유닛 포함하고,
    제 1 단계에서, 스키마(XMLS) 구조를 표준화하고, 엘리먼트들 및/또는 속성들을 갖는 그룹들이 단순화되고, 상기 표준화된 스키마로부터 메타스키마(SS)로서 비트 스트림의 일부분 또는 비트 스트림(BS1)을 생성하는 인코딩 장치.
  15. 구조화된 문서들, 특히 XML 문서들을 디코딩하는 장치로서,
    디코더 유닛을 포함하고,
    비트 스트림의 일부분 또는 비트 스트림(BS1)으로부터 메타스키마(SS) 함수로서 스키마를 생성하고,
    상기 스키마의 구조가 이미 표준화되었는지 여부가 상기 비트 스트림에서 설정되고, 상기 엘리먼트들 및/또는 속성들을 갖는 그룹들은 단순화되고 이 경우에 표준화는 더 이상 수행되지 않는 디코딩 장치.
  16. 제 14 항에 있어서,
    상기 인코더 유닛은, 바이트 코드로 정보를 해석하고, 경로 또는 페이로드를 나타내는 구성에 따라, 바이트 코드에 기초한 상기 구조화된 문서를 생성하는 구성 가능한 바이트 코드 인터프리터를 디스플레이하는 것을 특징으로 하는 인코딩 장치.
  17. 제 15 항에 있어서,
    상기 디코더 유닛은, 상기 비트 스트림으로부터의 정보의 의해 구성가능하고 상기 구성에 따라, 바이트 코드에 기초한 상기 비트 스트림으로부터 경로, 페이로드 또는 바이트 코드를 생성하는 구성 가능한 바이트 코드 인터프리터를 디스플레이하는 것을 특징으로 하는 디코딩 장치.
KR1020057000504A 2002-07-15 2003-07-07 구조화된 문서들, 특히 xml 문서들을인코딩/디코딩하기 위한 방법 및 장치 KR100968083B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE10231971 2002-07-15
DE10231971.5 2002-07-15
DE10248758A DE10248758B4 (de) 2002-07-15 2002-10-18 Verfahren und Vorrichtungen zum Encodieren/Decodieren von XML-Dokumenten
DE10248758.8 2002-10-18
PCT/DE2003/002274 WO2004017225A1 (de) 2002-07-15 2003-07-07 Verfahren und vorrichtungen zum kodieren/dekodieren von strukturierten dokumenten, insbesondere von xml-dokumenten

Publications (2)

Publication Number Publication Date
KR20050023411A true KR20050023411A (ko) 2005-03-09
KR100968083B1 KR100968083B1 (ko) 2010-07-05

Family

ID=41784576

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057000504A KR100968083B1 (ko) 2002-07-15 2003-07-07 구조화된 문서들, 특히 xml 문서들을인코딩/디코딩하기 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100968083B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100952051B1 (ko) * 2007-11-09 2010-04-07 한국전자통신연구원 경로 코드를 이용한 xml 문서의 부호화 및 복호화방법과 장치
KR101044870B1 (ko) * 2008-10-02 2011-06-28 한국전자통신연구원 경로 코드를 이용한 xml 문서의 부호화 및 복호화 방법과 장치
KR20110111204A (ko) * 2010-04-02 2011-10-10 삼성전자주식회사 실감 효과 처리 시스템 및 방법
US8723703B2 (en) 2011-09-19 2014-05-13 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding structured data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2813743B1 (fr) * 2000-09-06 2003-01-03 Claude Seyrat Procede de compression/decompression de documents structures

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100952051B1 (ko) * 2007-11-09 2010-04-07 한국전자통신연구원 경로 코드를 이용한 xml 문서의 부호화 및 복호화방법과 장치
KR101044870B1 (ko) * 2008-10-02 2011-06-28 한국전자통신연구원 경로 코드를 이용한 xml 문서의 부호화 및 복호화 방법과 장치
KR20110111204A (ko) * 2010-04-02 2011-10-10 삼성전자주식회사 실감 효과 처리 시스템 및 방법
US8723703B2 (en) 2011-09-19 2014-05-13 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding structured data

Also Published As

Publication number Publication date
KR100968083B1 (ko) 2010-07-05

Similar Documents

Publication Publication Date Title
US7707154B2 (en) Method and devices for encoding/decoding structured documents, particularly XML documents
JP2004318188A (ja) 構造化データの受信プログラム
KR100968083B1 (ko) 구조화된 문서들, 특히 xml 문서들을인코딩/디코딩하기 위한 방법 및 장치
KR20060123197A (ko) 구조적 문서의 압축 및 압축 해제 방법
JP2004234678A (ja) 構造化データの送信装置
JP2004318196A (ja) 構造化データの受信プログラム
JP2004234673A (ja) 構造化データの送信装置
JP2004318195A (ja) 構造化データの受信プログラム
JP2004234677A (ja) 構造化データの送信装置
JP2004234671A (ja) 構造化データの送信装置
JP2004234670A (ja) 構造化データの送信装置
JP2004318193A (ja) 構造化データの受信プログラム
JP2004240982A (ja) 構造化データの送信装置
JP2004240983A (ja) 構造化データの送信装置
JP2004234676A (ja) 構造化データの送信装置
JP2004234669A (ja) 構造化データの送信装置
JP2004240984A (ja) 構造化データの送信装置
JP2004318197A (ja) 構造化データの受信プログラム
JP2004318194A (ja) 構造化データの受信プログラム
JP2004318190A (ja) 構造化データの受信プログラム
JP2004318191A (ja) 構造化データの受信プログラム
JP2004320074A (ja) 構造化データの受信プログラム
JP2004318189A (ja) 構造化データの受信プログラム
JP2004318776A (ja) 構造化データの受信装置
JP2004320069A (ja) 構造化データの受信プログラム

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: 20130521

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140521

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150519

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160511

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170515

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee