ES2262000T3 - Procedimiento y dispositivos para codificar/decodificar documentos estructurados, en particular documentos xml. - Google Patents
Procedimiento y dispositivos para codificar/decodificar documentos estructurados, en particular documentos xml.Info
- Publication number
- ES2262000T3 ES2262000T3 ES03787637T ES03787637T ES2262000T3 ES 2262000 T3 ES2262000 T3 ES 2262000T3 ES 03787637 T ES03787637 T ES 03787637T ES 03787637 T ES03787637 T ES 03787637T ES 2262000 T3 ES2262000 T3 ES 2262000T3
- Authority
- ES
- Spain
- Prior art keywords
- group
- names
- type
- xml
- bit stream
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
-
- 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
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- 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/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
Abstract
Procedimiento para codificar y transmitir un documento XML (XML) con las siguientes etapas: a) Normalización del esquema XML (XMLS) correspondiente al documento XML (XML), incluyendo la normalización del esquema XML (XMLS) una de las siguientes etapas: - Simplificación de un grupo que sólo contiene un elemento: Se disuelve el grupo y el elemento contenido se clasifica en el plano del grupo disuelto en el Content Modell (modelo de contenido), sustituyéndose los atributos minOccurs y maxOccurs del elemento por el producto de los correspondientes atributos del grupo disuelto y del elemento antes del reagrupamiento. - Simplificación de un grupo de elección (choice), que contiene un elemento con el valor de atributo minOccurs=0: El atributo minOccurs del grupo de elección se coloca independientemente del valor precedente en 0, al elemento que tenía un valor de atributo minOccurs=0, se le asigna un valor de atributo minOccurs=1. - Simplificación de grupos de elección (choice) imbricados: Si un grupo de elección contiene otro grupo de elección que contiene los valores de atributo minOccurs= maxOccurs=1, entonces se disuelve este grupo de elección, y el contenido se incluye directamente en el grupo de elección que se encuentra encima; estando definidos los conceptos grupo, elemento, modelo de contenido (Content Modell), atributo, minOccurs, maxOccurs y grupo de elección (choice) en la descripción normativa del lenguaje del esquema XML; b) Codificación del esquema XML normalizado (XMLSn) con ayuda de un metaesquema (SS); c) Transmisión del esquema XML codificado en un primer flujo de bits (BS1); d) Codificación del documento XML (XML) mediante el correspondiente esquema XML normalizado (XMLSn); e) Transmisión del documento XML codificado en un segundo flujo de bits (BS2); estando previstos el primer y el segundo flujo de bits (BS1, BS2) para la recepción para un decodificador, que ejecuta las siguientes etapas: f) Decodificación del esquema XML transmitido codificado en el primer flujo de bits (BS1) en el esquema XML normalizado (XMLSn), mediante el metaesquema, correspondiendo el esquema normalizado y el metaesquema (SS) al esquema utilizado en la codificación; g) Decodificación del documento XML codificado transmitido en el segundo flujo de bits (BS2) mediante el esquema XML normalizado (XMLSn), sin realizar otra normalización del esquema XML normalizado (XMLSn).
Description
Procedimiento y dispositivos para
codificar/decodificar documentos estructurados, en particular
documentos XML.
La invención se refiere a procedimientos y
dispositivos para codificar documentos estructurados, en particular
documentos XML, en los cuales a partir de un documento estructurado
y en función de un esquema se genera un flujo de bits y a un
procedimiento y un dispositivo para decodificar, en los cuales a
partir de un flujo de bits y en función de un esquema se genera un
documento estructurado.
En el marco del trabajo en el estándar
MPEG-7 se desarrolló un procedimiento para la
codificación binaria de datos XML, que a continuación se denominará
procedimiento BiM y que se conoce por ejemplo por la publicación
ISO/IEC FDIS 15938-1:2001(E), "Tecnología
de la información -Interfaz de descripción de contenidos multimedia-
parte 1: Sistemas". Este procedimiento utiliza definiciones del
esquema XML, que existen en el codificador y decodificador, por
ejemplo el esquema MPEG-7, para generar los códigos
para los distintos elementos de datos de la descripción XML. Este
procedimiento presupone que el codificador y el decodificador
disponen al menos parcialmente de las mismas definiciones de
esquema. Esto puede asegurarse por ejemplo alojando fijamente un
esquema XML estandarizado en el decodificador. Además, existe la
posibilidad de transmitir al decodificador el esquema separadamente
o adicionalmente al documento propiamente dicho. La transmisión del
esquema del codificador al decodificador puede realizarse en forma
textual, pudiendo utilizarse una compresión estándar de textos, como
por ejemplo
ZIP.
ZIP.
La tarea básica de la presente invención
consiste entonces en indicar procedimientos y dispositivos tal que
la transmisión del esquema se realice de manera especialmente
eficiente y que se reduzca la cantidad de datos transmitida y la
potencia de cálculo necesaria en el decodificador para la generación
de las tablas de código a partir del
esquema.
esquema.
Además debe asegurarse la consistencia de un
esquema que no se transmita por completo.
La solicitud de patente francesa (FR 2 813 743)
se ocupa de un método para comprimir y descomprimir un documento
estructurado. Allí se analiza y estandariza un diagrama de
estructura que pertenece al documento, para obtener una secuencia
individual predefinida. Este diagrama estandarizado se compila y se
comprime.
El documento (Seyrat y otros, ISO/IEC
JTC1/SC29/WG11, "Texto de ISO/IEC FCD 15938-1
Tecnología de información -Interfaz de descripción del contenido
multimedia- parte 1 sistemas", Doc. MPEG01/N4001, marzo 2001,
Singapur, XP001001465) incluye un borrador de una primera parte del
estándar MPEG-7. Este borrador se ocupa de una
arquitectura del estándar con herramientas que se necesitan para la
memorización y transporte eficiente en la generación de
descripciones MPEG-7 y que permiten una
sincronización entre contenido y descripción.
El documento (Girardot y otros, "Millau: un
formato de codificación para la representación e intercambio
eficientes de XML a través de la Web", Computer Networks 33,
págs. 747-765, 2000, Elsevier, XP001005949) se ocupa
de una compresión de estructuras y datos XML, considerando los
algoritmos de compresión, además de una compresión separada de
estructura y datos, el correspondiente esquema en la compresión de
la estructura.
Esta tarea se resuelve en cuanto al
procedimiento de codificación mediante las particularidades de la
reivindicación 1, en cuanto al procedimiento de decodificación
mediante las particularidades de la reivindicación 6, en cuanto al
dispositivo de codificación mediante las particularidades de la
reivindicación 11 y en cuanto al dispositivo de decodificación
mediante las particularidades de la reivindicación 12.
Las demás reivindicaciones se refieren a
ventajosos perfeccionamientos de los procedimientos y dispositivos
correspondientes a la invención.
La invención consiste esencialmente en generar
con un procedimiento de codificación a partir de un esquema en
función de un metaesquema un flujo de bits o una parte de un flujo
de bits, realizándose una o varias de las siguientes
optimizaciones:
- -
- separación de tipos anónimos a partir de declaraciones de elemento y declaraciones de atributo y codificación como tipo propio, cuya definición del tipo se refleja instantáneamente como elemento del nivel más alto (top-level) en la definición del esquema,
- -
- normalización del árbol de sintaxis en el lado codificador,
- -
- sustitución de las cadenas de caracteres de nombres de tipos,
- -
- transmisión de informaciones para el árbol genealógico,
La decodificación tiene en cuenta estas
optimizaciones y genera a la inversa un esquema a partir del flujo
de bits.
\newpage
La invención se describirá a continuación en
base a ejemplos de ejecución representados en los dibujos. Al
respecto, muestra
figura 1 una representación básica para
describir la codificación/decodificación correspondiente a la
invención,
figura 2 una representación para describir los
detalles de una ejecución preferente de la invención,
figura 3 una representación para describir los
detalles de otra ejecución preferente de la invención,
figura 4 una representación de una ejecución
preferente de un decodificador correspondiente a la invención.
Puesto que los esquemas XML son por su parte
documentos XML que tienen como base una definición sintáctica
estandarizada, precisamente un llamado "esquema para esquemas"
(especificación W3C), que significa casi un metaesquema, puede
igualmente codificarse y transmitirse un esquema con el
procedimiento BiM antes citado.
En la figura 1 se muestra una configuración en
la que, en una primera etapa, con un procedimiento de codificación
BiM BiM-E, se genera a partir de un esquema XML
XMLS en función de un metaesquema SS, una parte de un flujo de bits
o un flujo de bits BS1 y en el que, en una segunda etapa, se genera
con el mismo procedimiento de codificación BiM
BiM-E, a partir de un documento XML, en función del
esquema XMLS, otra parte del flujo de bits o un flujo de bits BS2,
así como en sentido inverso con un procedimiento de decodificación
BiM BiM-D se recupera a partir de ambas partes del
flujo de bits o a partir de los flujos de bits BS1 y BS2 un esquema
XML y el documento
XML.
XML.
En un primer perfeccionamiento preferente de la
invención se realiza una separación de los llamados "anonymus
Types" ("tipos anónimos") a partir de la declaración de
elementos y de atributos.
La transmisión de un documento XML se realiza en
el procedimiento BiM "depth first" (anteponer profundidad),
pero el proceso del esquema compilación en el decodificador precisa
de una estructura "breadth first" (anteponer anchura),
describiéndose más en detalle estas expresiones por ejemplo en la
página de Internet http://www.generation5.
org/simple_search.shtml. En grupos como Sequence (secuencia) o Choice (elección) esto puede compensarse mediante una memoria intermedia pequeña en la parte del decodificador, pero en los "anonymus Types" ("tipos anónimos"), que pueden definir el tipo de un elemento o atributo individual, justifica el coste una reestructuración en el lado codificador: las definiciones de "anonymus Type" ("tipo anónimo"), denominada a continuación por ejemplo AT0, se eliminan de la declaración de elemento del elemento "CurriculumVitae" y reciben un nombre y/o código que se utiliza para referenciar en el correspondiente elemento.
org/simple_search.shtml. En grupos como Sequence (secuencia) o Choice (elección) esto puede compensarse mediante una memoria intermedia pequeña en la parte del decodificador, pero en los "anonymus Types" ("tipos anónimos"), que pueden definir el tipo de un elemento o atributo individual, justifica el coste una reestructuración en el lado codificador: las definiciones de "anonymus Type" ("tipo anónimo"), denominada a continuación por ejemplo AT0, se eliminan de la declaración de elemento del elemento "CurriculumVitae" y reciben un nombre y/o código que se utiliza para referenciar en el correspondiente elemento.
Ventajosamente se reduce de esta manera la
profundidad de la jerarquía de los tipos transmitidos, con lo que se
simplifica la compilación del esquema en el lado decodificador.
En otro perfeccionamiento preferente de la
invención se realiza la normalización de los Syntax Trees (árboles
de sintaxis), tal como está especificado en el BiM en el lado
codificador.
En el procedimiento BiM se generan a partir de
los Syntax Trees (árboles de sintaxis) los llamados "Finite Status
Automatons"(automatismos de estado finito), que se utilizan para
la decodificación del flujo de bits, que reproducen la estructura
del esquema XML. Para aumentar la eficiencia de la codificación no
se corresponden estos árboles de sintaxis en relación 1:1 con las
definiciones textuales XML, sino que se realizan normalizaciones.
Pueden presentarse al respecto tres casos diferentes:
1. Simplificación de un grupo que sólo
contiene un elemento: Se disuelve el grupo y el elemento contenido
se clasifica en el nivel del grupo disuelto en el Content Modell
(modelo de contenido), sustituyéndose los atributos minOccurs y
maxOccurs del elemento por el producto de los correspondientes
atributos del grupo disuelto y del elemento antes del
reagrupamiento.
2. Simplificación de un grupo de elección
(choice), que contiene un elemento con el valor de atributo
minOccurs=0: El atributo "minOccurs" del grupo de elección se
activa independientemente del valor precedente en 0, al elemento que
tenía un valor de atributo minOccurs=0, se le asigna un valor de
atributo minOccurs=1.
3. Simplificación de grupos de elección (choice)
imbricados: Si un grupo de elección contiene otro grupo de elección
que contiene los valores de atributo minOccurs= maxOccurs=1,
entonces se disuelve este grupo de elección, y el contenido se
incluye directamente en el grupo de elección que se encuentra
encima.
Estas simplificaciones deben realizarse durante
la transmisión del esquema ya en el codificador, ya que el Syntax
Tree (árbol de sintaxis) Transformaciones influye sobre la
adjudicación del código normativo y la compilación del esquema en el
lado decodificador se simplifica cuando el Content Modell (modelo de
contenido) puede tomarse directamente.
Las ventajas residen aquí en que de esta manera
se descarga igualmente el decodificador y el Content Modell (modelo
de contenido) puede llevarse directamente tal como aparece en la
codificación de tipos al compilador del esquema.
En un tercer perfeccionamiento preferente de la
invención, se realiza, tal como se muestra en la figura 2, una
sustitución de las cadenas de caracteres de nombres de tipos.
En el atributo "name" y "base" de una
definición de tipo, así como en el atributo "type" de una
declaración de elemento o de atributo, se presentan frecuentemente
en el esquema los mismos nombres de tipo, que se transmitirían
varias veces como cadenas de caracteres. En la codificación de
nombres de tipo es por lo tanto ventajoso codificar, en lugar del
nombre, sólo un número, y separadamente una tabla que relaciona de
nuevo los números con sus nombres iniciales. Como número se ofrece
el número de tipo que asigna el árbol genealógico de los tipos
iniciales, que se explica más en detalle posteriormente, a todos los
complexTypes.
Lo correspondiente rige también para el atributo
"name" de declaraciones globales de elementos y sus referencias
en atributos "ref" y para el nombre de grupos sustitutorios en
el atributo "substitutionGroup". En estos casos puede
utilizarse por ejemplo el código de ramificaciones de esquema SBC de
los elementos globales.
\newpage
De esta manera puede ahorrarse volumen de datos,
ya que puede representarse una referenciación repetida de manera más
compacta sobre el mismo nombre de tipo y puede comprimirse mejor la
tabla de asignación de tipos con un compresor estándar, ya que los
nombres de tipo no se presentan distribuidos por todo el flujo de
bits, sino de manera compacta en una zona interrelacionada en el
flujo de bits.
En una ejecución ventajosa, se codifica una
lista que incluye los nombres de tipos o elementos o nombres de
grupos sustitutorios. En lugar de asignar explícitamente números a
los nombres, se utiliza en esta ejecución la posición de un nombre
en la lista como número. Esto es ventajoso, ya que en la lista ya no
debe codificarse ningún número más y con ello queda asegurada una
transmisión más eficiente.
En un cuarto perfeccionamiento preferente de la
invención se realiza una transmisión de informaciones para el árbol
genealógico.
Cada definición de tipo contiene en el llamado
atributo "base", caso de que exista, la información respecto a
de qué tipo procede. Cuando se reúnen todas estas informaciones para
un esquema, resulta una estructura en árbol, el llamado árbol
genealógico. El árbol genealógico se utiliza en el procedimiento de
codificación BiM, para transmitir en el caso de una conversión de
tipos (type-cast) el nuevo tipo del elemento. Al
respecto, es decisivo el código que se asigna a todos los tipos
derivados del tipo base, es decir, el llamado type Code (código de
tipo), así como la longitud de este código, para una decodificación
correcta. La longitud resulta de la cantidad total de todos los
tipos en el árbol genealógico bajo el tipo de base. Cuando se ha
transmitido por completo el esquema, pueden averiguarse tanto los
códigos como también la longitud del código claramente en el lado
del decodificador. Pero no obstante cuando el esquema en el lado
decodoficador no es completo, debe transmitirse aún información
adicional, para asignar type Codes (códigos de tipo) a tipos ya
transmitidos.
Cada tipo transmitido tiene en el campo para el
nombre el número del código de tipo referido al tipo inicial. De
esta manera puede averiguarse el código de tipo de los tipos
derivados mediante una simple formación de diferencias. Falta aún la
información sobre la extensión del árbol secundario definido
mediante los tipos transmitidos, y con ello la longitud de los
códigos de tipo de los tipos derivados de este tipo transmitido.
Esta longitud puede transmitirse con pocos bits en un código
variable de longitud.
En la figura 3 se representa a modo de ejemplo
un árbol genealógico de un esquema con el tipo A, del que se derivan
otros tipos. Este tipo recibe en relación con el tipo inicial
"anyType" por ejemplo el código de tipo 134. Del tipo A se
derivan los tipos AA, AB y AC, cuyos códigos de tipo se indican en
relación con el tipo inicial. Para averiguar el código de tipo en
relación con el tipo de base A es suficiente sustraer del código de
tipo del tipo deseado el código de tipo del tipo de base y la
unidad:
TC _{tipo} =
TC _{\ tipo\ rel.\ tipo\ inicial-}TC_{tipo\ base\ rel.\ tipo\
inicial} -1
La información que falta sobre la longitud del
código de tipos puede integrarse preferiblemente en la tabla de
referencias como número adicional.
Para poder comprimir la información en la tabla
de asignación de tipos con un compresor estándar, se recomienda
archivarla orientada a bytes completos (bytealigned). El primer
número es un número vluimsbf5, que codifica la cantidad de líneas en
la tabla, a continuación sigue un número vluimsbf5, que codifica el
número de bits para el código de tipos y otro número vluimsbf5 que
representa el código de tipo en relación con el propio tipo
original. Siguen bits de relleno o Stuffing Bits para lograr la
alineación con los limites del byte.
\vskip1.000000\baselineskip
Formato de la tabla de asignación de tipos | |||
Vluimsbf5 | Vluimsbf5 | Bits | Cadena de caracteres |
Cantidad de filas | |||
Longitud código de tipo 1 | Código de tipo 1 | Bits de relleno 0-7 | Nombre del tipo 1 |
Longitud código de tipo 2 | Código de tipo 2 | Bits de relleno 0-7 | Nombre del tipo 2 |
... | ... | ... | ... |
\vskip1.000000\baselineskip
La transmisión de una tabla de asignación de
tipos permite decodificar correctamente los códigos de tipos
eventualmente existentes en un documento codificado, incluso cuando
el esquema que sirve de base no se haya transmitido y/o decodificado
aún por completo.
Correspondientemente han de transmitirse con
elementos globales el SBC global y en elementos que pertenecen a un
grupos sustitutorio, el código sustitutorio, transmitiéndose
previamente para todos los elementos globales una sola vez la
longitud global SBC y con el elemento de cabecera del grupo
sustitutorio la longitud del correspondiente código
sustitutorio.
Es posible cualquier combinación en la
decodificación de las particularidades descritas en los distintos
perfeccionamientos y puede introducirse de la manera correspondiente
también en la decodificación.
El procedimiento BiM exige que se compile el
esquema XML en un formato que permite la determinación de la
longitud de las palabras de código y la elección de los elementos de
datos mediante los valores de los códigos. Para ello hay varias
posibilidades. En el estándar MPEG-7 (ISO/IEC
15938-1:2001 parte 1: Sistemas o bien ISO/IEC
15938-6:2001 parte 6: software de referencia) se
propone para la codificación de la carga útil o bien Payload un
modelo que utiliza el automatismo de estado finito (Finite State
Automatons) y para la decodificación de una ruta de contexto,
tablas de códigos, que se generan a partir del esquema.
En un perfeccionamiento preferente representado
en la figura 4 del decodificador correspondiente a la invención, se
describe el proceso de decodificación con un modelo de códigos de
bits, traduciéndose la estructura del esquema en un sistema a partir
de estados de enmallamiento que son elaborados por un intérprete de
códigos de bits BCI, conteniendo un flujo de bits BS recibido por el
codificador la información sobre el estado subsiguiente a elegir. A
diferencia del modelo que se propone en el estándar
MPEG-7, está diseñado el modelo de código de bits de
tal manera que puede decodificarse tanto un flujo de bits que
representa un Payload (carga útil) como también un flujo de bits que
representa una ruta de contexto. No es por lo tanto necesario
mantener en el decodificador la misma información que está
contenida en el esquema dos veces para los distintos procedimientos
de codificación. El intérprete BCI lee la información a partir del
flujo de bits de entrada, que codifica un documento XML o un esquema
XML en el formato BiM. Esta información permite la elección entre
los estados subsiguientes del estado actual que está archivado en la
secuencia de bits. Los estados subsiguientes están colocados
fijamente dentro del código de bytes como indicador P. En función de
la configuración se emite una ruta, un Payload o un código de
bytes.
bytes.
La decodificación de un esquema puede realizarse
con las modificaciones antes propuestas igualmente de manera
eficiente en el modelo de código de bytes. En este caso no se emite
ningún Payload y ninguna ruta, sino que se genera directamente un
código de bytes que puede ser utilizado por el intérprete de código
de bytes para la decodificación de los correspondientes tipos.
El código de bytes se compone de elementos de
estructura o bien estados. Los estados son de tipo diverso, que se
identifica mediante el campo de bits de cabecera del estado. Los
estados contienen, en función del tipo, distintos campos de
información que son leídos por el interprete de código de bytes y
que se evalúan en función de la configuración (Payload/Ruta de
Contexto) y el estado actual.
Respecto a los tipos de estados que representan
la información del esquema, puede pensarse en varias variantes. Es
esencial que puedan reproducirse mediante los estados del modelo del
código de bytes todos los elementos de sintaxis de un esquema XML, y
que la información completa que es necesaria para la decodificación
eficiente de ambos algoritmos definidos en el estándar
MPEG-7 (Ruta de Contexto/Payload), se ponga a
disposición en los
estados.
estados.
Una posible estructura del código de bytes se
describe brevemente a continuación:
Tipos de estados, compendio:
El estado de la cabecera de un tipo forma el
punto de entrada en la decodificación de un complexType. El mismo
incluye el nombre del tipo (en el caso de que no se trate de un tipo
anónimo), así como información en relación con el origen del tipo
(indicador sobre el estado de base), así como polimorfismo.
Es específico para la codificación de la carga
útil (Payload) un indicador sobre una lista de los atributos del
tipo. Son específicos para la codificación de la ruta de contexto
campos con la cantidad de los elementos de tipo para las tablas de
Context (contexto) y Operand Tree Branch Code (Código de rama del
árbol).
El último campo de información es un indicador
sobre el estado subsiguiente, es decir, el primer estado que
representa el contenido del complexTypes (por ejemplo un estado del
elemento o un estado elegido).
Campo de bits de cabecera |
Indicador sobre el ramal con nombre |
Indicador sobre el estado de la cabecera tipo de base |
Indicador sobre árbol genealógico |
Cantidad de tipos contexto TBC |
Cantidad de tipos operando TBC |
Indicador sobre estado subsiguiente |
\vskip1.000000\baselineskip
Un estado elegido reproduce un grupo de elección
del esquema XML. El estado elegido contiene esencialmente una lista
de indicadores con posibles estados subsiguientes. Para determinar
el estado efectivamente elegido, debe leerse en la decodificación de
una carga útil (Payload) el flujo de bits. Del estado elegido hay
dos variantes: un estado de arranque, que deriva hacia los distintos
estados subsiguientes posibles, así como un estado final, que
compendia de nuevo la elección.
El estado del elemento reproduce una declaración
del elemento en un complexType de un esquema. El mismo contiene un
indicador sobre una cadena de caracteres con el nombre del elemento,
así como un indicador sobre el estado de la cabecera del tipo.
Además, existe eventualmente información sobre la longitud del
código de posición (Position Codes) - sólo para la decodificación de
la ruta - y para grupos sustitutorios (Substitution Groups).
Un estado del atributo reproduce una declaración
del atributo de un esquema. Se incluyen un indicador sobre el nombre
del atributo, así como un indicador sobre el estado de la cabecera
del tipo simple del atributo.
Un estado del incidente (Ocurrence) reproduce
los atributos minOccurs y maxOccurs, que pueden presentarse en un
esquema XML, por ejemplo en un elemento o en un grupo (choice,
sequence, ...) (elección, secuencia, ...). El mismo contiene un
indicador sobre el estado subsiguiente, en el caso de que se
presente otra instancia del elemento o del grupo, así como un
indicador sobre el estado subsiguiente, en el caso de que la última
instancia del grupo haya sido codificada. Puesto que en esquemas XML
existe la posibilidad de que un elemento se contenga a sí mismo (en
la definición complexType del elemento, o en una imbricación más
profunda aún, se presenta el propio elemento de nuevo) puede también
estar activo un estado del incidente simultáneamente más de una vez.
Por lo tanto es necesario un indicador sobre un apilamiento dentro
del estado del incidente, que asegure el estado actual de cada
instancia activa del estado del incidente (occurrence).
El estado final de un tipo contiene una lista de
indicadores con todos los atributos de este tipo. El mismo es
necesario en la decodificación de una ruta, ya que en las tablas del
código de la rama del árbol (Tree Branch Code) están clasificados
todos los atributos al final de la tabla. Al alcanzar un estado
final, deriva el intérprete del código de bytes jerárquicamente al
elemento que ha llamado a este tipo. La correspondiente información
sobre el elemento que llama debe estar archivada en la memoria de
trabajo del intérprete de código de bytes.
Este estado controla la decodificación del
contenido, es decir, contiene un indicador (pointer) sobre un Codec,
que puede leer y decodificar datos específicamente del
correspondiente tipo a partir del flujo de bits. El tipo del codec
está especificado en un campo de información.
Las ventajas esenciales del modelo de código de
bytes en comparación con el estado del software de referencia
MPEG-7 son:
1. La información del esquema se representa
para ambos procedimientos de codificación (ruta de contexto/payload,
carga útil) sólo una vez en el decodificador. La mayor parte de la
información en los estados de códigos de bytes es relevante para
ambos procedimientos. Una parte más pequeña es específica para en
cada caso uno de ambos procedimientos. Por lo tanto, es muy compacta
la representación de la información del esquema en el
decodificador.
2. El modelo de código de bytes pone a
disposición un formato de datos bien definido para información sobre
el esquema, que es adecuado por ejemplo también para precompilar y
memorizar (en lugar del esquema XML como texto).
3. La ejecución del código de bytes mediante
un procesador estándar puede realizarse muy rápidamente, ya que el
modelo de código de bytes prepara muy bien el proceso decodificador.
Toda la información está disponible directamente en el estado
mediante indicadores, y no tiene que buscarse (como en la ISO/IEC
15938-6, parte 6, software de referencia) en parte
sólo en las listas.
Un correspondiente codificador puede realizarse
de la misma forma, siendo inverso de tal manera que los estados de
la representación textual del documento estructurado son controlados
y las transiciones entre estados generan la representación
binaria.
Claims (14)
1. Procedimiento para codificar y transmitir un
documento XML (XML) con las siguientes etapas:
- a)
- Normalización del esquema XML (XMLS) correspondiente al documento XML (XML), incluyendo la normalización del esquema XML (XMLS) una de las siguientes etapas:
- -
- Simplificación de un grupo que sólo contiene un elemento: Se disuelve el grupo y el elemento contenido se clasifica en el plano del grupo disuelto en el Content Modell (modelo de contenido), sustituyéndose los atributos minOccurs y maxOccurs del elemento por el producto de los correspondientes atributos del grupo disuelto y del elemento antes del reagrupamiento.
- -
- Simplificación de un grupo de elección (choice), que contiene un elemento con el valor de atributo minOccurs=0:
- El atributo minOccurs del grupo de elección se coloca independientemente del valor precedente en 0, al elemento que tenía un valor de atributo minOccurs=0, se le asigna un valor de atributo minOccurs=1.
- -
- Simplificación de grupos de elección (choice) imbricados:
- Si un grupo de elección contiene otro grupo de elección que contiene los valores de atributo minOccurs= maxOccurs=1, entonces se disuelve este grupo de elección, y el contenido se incluye directamente en el grupo de elección que se encuentra encima;
- estando definidos los conceptos grupo, elemento, modelo de contenido (Content Modell), atributo, minOccurs, maxOccurs y grupo de elección (choice) en la descripción normativa del lenguaje del esquema XML;
- b)
- Codificación del esquema XML normalizado (XMLSn) con ayuda de un metaesquema (SS);
- c)
- Transmisión del esquema XML codificado en un primer flujo de bits (BS1);
- d)
- Codificación del documento XML (XML) mediante el correspondiente esquema XML normalizado (XMLSn);
- e)
- Transmisión del documento XML codificado en un segundo flujo de bits (BS2);
- estando previstos el primer y el segundo flujo de bits (BS1, BS2) para la recepción para un decodificador, que ejecuta las siguientes etapas:
- f)
- Decodificación del esquema XML transmitido codificado en el primer flujo de bits (BS1) en el esquema XML normalizado (XMLSn), mediante el metaesquema, correspondiendo el esquema normalizado y el metaesquema (SS) al esquema utilizado en la codificación;
- g)
- Decodificación del documento XML codificado transmitido en el segundo flujo de bits (BS2) mediante el esquema XML normalizado (XMLSn), sin realizar otra normalización del esquema XML normalizado (XMLSn).
2. Procedimiento según la reivindicación 1, en
el que las declaraciones de elementos y/o declaraciones de atributos
de la definición de esquemas de un documento estructurado se
reestructuran de tal manera que se separan definiciones de tipo
anónimas (AT0) de las declaraciones de elemento y/o declaraciones de
atributo y reciben un nombre y/o código que se utiliza para
referenciar en el correspondiente elemento.
3. Procedimiento según la reivindicación 1 ó 2,
en el que en lugar de nombres de tipo y/o nombres de elemento y/o
nombres de grupos sustitutorios, sólo se codifican números, así como
una o varias tablas con una asociación entre números y nombres de
tipo y/o nombres de elemento y/o nombres de grupos
sustitutorios.
4. Procedimiento según una de las
reivindicaciones 1 a 3, en el que se codifican una o varias listas
incluyendo los nombres de tipo y/o nombres de elemento y/o nombres
de grupos sustitutorios, así como las posiciones de los nombres de
tipo y/o nombres de elemento y/o nombres de grupos sustitutorios en
la lista en lugar de nombres de tipo y/o nombres de elemento y/o
nombres de grupos sustitutorios.
5. Procedimiento según una de las
reivindicaciones precedentes, en el que se codifican informaciones
para el árbol genealógico de tipos, elementos globales y/o grupos
sustitutorios, estando descrito cada tipo mediante una información
sobre su código de tipo referido al tipo inicial y a la longitud de
todos los códigos de tipo que se refieren a los tipos descritos y/o
cada elemento global es descrito por la longitud de su SBC y un SBC
y/o cada elemento en un grupo sustitutorio por la longitud del grupo
sustitutorio y un código sustitutorio.
6. Procedimiento para decodificar un primer y
un segundo flujo de bits (BS1, BS2) que han sido generados con el
procedimiento de codificación a partir de un documento XML (XML),
incluyendo el procedimiento de codificación las siguientes
etapas:
- a)
- Normalización del esquema XML (XMLSn) correspondiente al documento XML (XML), incluyendo la normalización del esquema XML (XMLSn) una de las siguientes etapas:
- -
- Simplificación de un grupo que sólo contiene un elemento:
- Se disuelve el grupo y el elemento contenido se clasifica en el nivel del grupo disuelto en el Content Modell (modelo de contenido), sustituyéndose los atributos minOccurs y maxOccurs del elemento por el producto de los correspondientes atributos del grupo disuelto y del elemento antes del reagrupamiento.
- -
- Simplificación de un grupo de elección (choice), que contiene un elemento con el valor de atributo minOccurs=0:
- El atributo minOccurs del grupo de elección se coloca independientemente del valor precedente en 0, al elemento que tenía un valor de atributo minOccurs=0 se le asigna un valor de atributo minOccurs=1.
- -
- Simplificación de grupos de elección (choice) imbricados: Si un grupo de elección contiene otro grupo de elección que contiene los valores de atributo minOccurs= maxOccurs=1, entonces se disuelve este grupo de elección, y el contenido se incluye directamente en el grupo de elección que se encuentra encima;
- estando definidos los conceptos grupo, elemento, modelo de contenido (Content Modell), atributo, minOccurs, maxOccurs y grupo de elección (choice) en la descripción normativa del lenguaje del esquema XML;
- b)
- Codificación del esquema XML normalizado (XMLSn) con ayuda de un metaesquema (SS);
- c)
- Transmisión del esquema XML codificado en un primer flujo de bits (BS1);
- d)
- Codificación del documento XML (XML) mediante el correspondiente esquema XML normalizado (XMLSn);
- e)
- Transmisión del documento XML codificado en un segundo flujo de bits (BS2);
- ejecutándose en el procedimiento de decodificación las siguientes etapas:
- f)
- Decodificación del esquema XML codificado transmitido en el primer flujo de bits (BS1) en el esquema XML normalizado (XMLSn), mediante el metaesquema (SS), correspondiendo el esquema normalizado (XMLSn) y el metaesquema (SS) al esquema utilizado en la codificación;
- g)
- Decodificación del documento XML codificado transmitido en el segundo flujo de bits (BS2) mediante el esquema XML normalizado (XMLSn), sin realizar otra normalización del esquema XML normalizado (XMLSn).
7. Procedimiento según la reivindicación 6, en
el que las declaraciones de elementos y/o declaraciones de
atributos de un documento estructurado se reestructuran de tal
manera que se insertan tipos anónimos (AT0), a los cuales para la
transmisión le ha sido asignado un nombre y/o un código en la
correspondiente declaración de elemento o declaración de atributo,
de las cuales se referencia el correspondiente tipo anónimo.
8. Procedimiento según la reivindicación 6 ó 7,
en el que a partir del flujo de bits se decodifican nombres de tipo
y/o nombres de elemento y/o nombres de grupos sustitutorios mediante
números, así como una o varias tablas con una asociación entre
números y nombres de tipo y/o nombres de elemento y/o nombres de
grupos sustitutorios.
9. Procedimiento según una de las
reivindicaciones 6 a 8, en el que a partir del flujo de bits se
decodifican nombres de tipo y/o nombres de elemento y/o nombres de
grupos sustitutorios mediante una o varias listas que incluyen los
nombres de tipo y/o nombres de elemento y/o nombres de grupos
sustitutorios, así como las posiciones de los nombres de tipo y/o
nombres de elemento y/o nombres de grupos sustitutorios en la
lista.
10. Procedimiento según una de las
reivindicaciones 6 a 9, en el que primeramente se decodifican a
partir del flujo de bits informaciones para un árbol genealógico de
tipos y/o elementos globales y/o grupos sustitutorios, estando
descrito cada tipo mediante una información por medio de su código
de tipo referido al tipo original y a la longitud de todos los
códigos de tipo que se refieren a los tipos descritos,
y/o cada elemento global viene descrito por la
longitud del SBC y un SBC y/o cada elemento en un grupo sustitutorio
mediante la longitud del grupo sustitutorio y un código
sustitutorio.
\newpage
11. Dispositivo (codificador) para
codificar documentos XML, en el que existe una unidad codificadora
que está configurada de tal manera que ejecuta un procedimiento de
codificación según una de las reivindicaciones 1 a 5.
12. Dispositivo (decodificador) para
decodificar documentos XML, en el que existe una unidad
decodificadora, que está configurada de tal manera que ejecuta un
procedimiento de decodificación según una de las reivindicaciones 6
a 10.
13. Dispositivo según la reivindicación
11, en el que la unidad codificadora presenta un intérprete de
códigos de bytes configurable, que interpreta informaciones en un
código de bytes y que, en función de la configuración, genera a
partir del documento estructurado y basándose en un código de bytes
un código que representa una ruta o una carga útil.
14. Dispositivo según la reivindicación
12, en el que la unidad decodificadora presenta un intérprete de
códigos de bytes configurable mediante informaciones procedentes del
flujo de bits y que, en función de la configuración, genera a partir
del flujo de bits, basándose en un código de bytes, una ruta, una
carga útil o un código de bytes.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10231971 | 2002-07-15 | ||
DE10231971 | 2002-07-15 | ||
DE10248758A DE10248758B4 (de) | 2002-07-15 | 2002-10-18 | Verfahren und Vorrichtungen zum Encodieren/Decodieren von XML-Dokumenten |
DE10248758 | 2002-10-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2262000T3 true ES2262000T3 (es) | 2006-11-16 |
Family
ID=31889074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES03787637T Expired - Lifetime ES2262000T3 (es) | 2002-07-15 | 2003-07-07 | Procedimiento y dispositivos para codificar/decodificar documentos estructurados, en particular documentos xml. |
Country Status (11)
Country | Link |
---|---|
US (1) | US7707154B2 (es) |
EP (1) | EP1522028B9 (es) |
JP (1) | JP4197320B2 (es) |
CN (1) | CN100580661C (es) |
AT (1) | ATE327538T1 (es) |
AU (1) | AU2003250302A1 (es) |
BR (1) | BR0312681A (es) |
DE (1) | DE50303493D1 (es) |
ES (1) | ES2262000T3 (es) |
RU (1) | RU2005103833A (es) |
WO (1) | WO2004017225A1 (es) |
Families Citing this family (56)
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 |
CA2544327A1 (en) * | 2003-11-07 | 2005-05-19 | Expway | Method for compressing and decompressing structured documents |
US8427494B2 (en) * | 2004-01-30 | 2013-04-23 | Nvidia Corporation | Variable-length coding data transfer interface |
DE102004034004A1 (de) * | 2004-07-14 | 2006-02-09 | Siemens Ag | Verfahren zum Codieren eines XML-Dokuments, sowie Verfahren zum Decodieren, Verfahren zum Codieren und Decodieren, Codiervorrichtung, Decodiervorrichtung und Vorrichtung zum Codieren und Decodieren |
US7844958B2 (en) * | 2005-03-11 | 2010-11-30 | Aptana, Inc. | System and method for creating target byte code |
US7707547B2 (en) * | 2005-03-11 | 2010-04-27 | Aptana, Inc. | System and method for creating target byte code |
US7461075B2 (en) * | 2005-05-20 | 2008-12-02 | International Business Machines Corporation | Method for updating XML schema registry using schema pass by value with message |
US7681234B2 (en) * | 2005-06-30 | 2010-03-16 | Microsoft Corporation | Preventing phishing attacks |
US20070015553A1 (en) * | 2005-07-12 | 2007-01-18 | Microsoft Corporation | Compact and durable clamshell smartphone |
US20070015533A1 (en) * | 2005-07-12 | 2007-01-18 | Microsoft Corporation | Mono hinge for communication device |
US7676242B2 (en) * | 2005-07-12 | 2010-03-09 | Microsoft Corporation | Compact and durable thin smartphone |
US7630741B2 (en) * | 2005-07-12 | 2009-12-08 | Microsoft Corporation | Compact and durable messenger device |
US7403951B2 (en) * | 2005-10-07 | 2008-07-22 | Nokia Corporation | System and method for measuring SVG document similarity |
US8024427B2 (en) * | 2006-01-09 | 2011-09-20 | Microsoft Corporation | Dynamic storage of documents |
US7593949B2 (en) * | 2006-01-09 | 2009-09-22 | Microsoft Corporation | Compression of structured documents |
US8640231B2 (en) * | 2006-02-23 | 2014-01-28 | Microsoft Corporation | Client side attack resistant phishing detection |
US7620645B2 (en) * | 2006-02-24 | 2009-11-17 | Microsoft Corporation | Scalable algorithm for sharing EDI schemas |
US7861229B2 (en) * | 2006-03-16 | 2010-12-28 | Microsoft Corporation | Complexity metrics for data schemas |
US7886223B2 (en) * | 2006-11-17 | 2011-02-08 | International Business Machines Corporation | Generating a statistical tree for encoding/decoding an XML document |
US20080208887A1 (en) * | 2007-02-27 | 2008-08-28 | Balachandran Girish K | Method, apparatus, and program product for creating and maintaining a data model |
US8725504B1 (en) | 2007-06-06 | 2014-05-13 | Nvidia Corporation | Inverse quantization in audio decoding |
US8726125B1 (en) | 2007-06-06 | 2014-05-13 | Nvidia Corporation | Reducing interpolation error |
US8477852B2 (en) * | 2007-06-20 | 2013-07-02 | Nvidia Corporation | Uniform video decoding and display |
US8849051B2 (en) * | 2007-09-17 | 2014-09-30 | Nvidia Corporation | Decoding variable length codes in JPEG applications |
US8502709B2 (en) * | 2007-09-17 | 2013-08-06 | Nvidia Corporation | Decoding variable length codes in media applications |
US8914774B1 (en) | 2007-11-15 | 2014-12-16 | Appcelerator, Inc. | System and method for tagging code to determine where the code runs |
US8954989B1 (en) | 2007-11-19 | 2015-02-10 | Appcelerator, Inc. | Flexible, event-driven JavaScript server architecture |
US8260845B1 (en) | 2007-11-21 | 2012-09-04 | Appcelerator, Inc. | System and method for auto-generating JavaScript proxies and meta-proxies |
FR2924244B1 (fr) * | 2007-11-22 | 2010-04-23 | Canon Kk | Procede et dispositif d'encodage et de decodage d'information |
US8566807B1 (en) | 2007-11-23 | 2013-10-22 | Appcelerator, Inc. | System and method for accessibility of document object model and JavaScript by other platforms |
US8719451B1 (en) | 2007-11-23 | 2014-05-06 | Appcelerator, Inc. | System and method for on-the-fly, post-processing document object model manipulation |
US8806431B1 (en) | 2007-12-03 | 2014-08-12 | Appecelerator, Inc. | Aspect oriented programming |
US8704834B2 (en) * | 2007-12-03 | 2014-04-22 | Nvidia Corporation | Synchronization of video input data streams and video output data streams |
US8934539B2 (en) * | 2007-12-03 | 2015-01-13 | Nvidia Corporation | Vector processor acceleration for media quantization |
US8819539B1 (en) | 2007-12-03 | 2014-08-26 | Appcelerator, Inc. | On-the-fly rewriting of uniform resource locators in a web-page |
US8756579B1 (en) | 2007-12-03 | 2014-06-17 | Appcelerator, Inc. | Client-side and server-side unified validation |
US8687875B2 (en) * | 2007-12-03 | 2014-04-01 | Nvidia Corporation | Comparator based acceleration for media quantization |
US8527860B1 (en) | 2007-12-04 | 2013-09-03 | Appcelerator, Inc. | System and method for exposing the dynamic web server-side |
US8938491B1 (en) | 2007-12-04 | 2015-01-20 | Appcelerator, Inc. | System and method for secure binding of client calls and server functions |
US8639743B1 (en) | 2007-12-05 | 2014-01-28 | Appcelerator, Inc. | System and method for on-the-fly rewriting of JavaScript |
US8285813B1 (en) | 2007-12-05 | 2012-10-09 | Appcelerator, Inc. | System and method for emulating different user agents on a server |
US8335982B1 (en) | 2007-12-05 | 2012-12-18 | Appcelerator, Inc. | System and method for binding a document object model through JavaScript callbacks |
KR100931636B1 (ko) * | 2007-12-14 | 2009-12-14 | 주식회사 씬멀티미디어 | 모바일 플랫폼에서의 BiM 복호기에 스키마 정보를입력하는 방법 |
US7996523B2 (en) * | 2008-01-17 | 2011-08-09 | Fluke Corporation | Free string match encoding and preview |
US8291079B1 (en) | 2008-06-04 | 2012-10-16 | Appcelerator, Inc. | System and method for developing, deploying, managing and monitoring a web application in a single environment |
US8880678B1 (en) | 2008-06-05 | 2014-11-04 | Appcelerator, Inc. | System and method for managing and monitoring a web application using multiple cloud providers |
US7925643B2 (en) * | 2008-06-08 | 2011-04-12 | International Business Machines Corporation | Encoding and decoding of XML document using statistical tree representing XSD defining XML document |
US7596620B1 (en) | 2008-11-04 | 2009-09-29 | Aptana, Inc. | System and method for developing, deploying, managing and monitoring a web application in a single environment |
FR2936623B1 (fr) * | 2008-09-30 | 2011-03-04 | Canon Kk | Procede de codage d'un document structure et de decodage, dispositifs correspondants |
KR101044870B1 (ko) * | 2008-10-02 | 2011-06-28 | 한국전자통신연구원 | 경로 코드를 이용한 xml 문서의 부호화 및 복호화 방법과 장치 |
US9307267B2 (en) * | 2008-12-11 | 2016-04-05 | Nvidia Corporation | Techniques for scalable dynamic data encoding and decoding |
EP2219117A1 (en) * | 2009-02-13 | 2010-08-18 | Siemens Aktiengesellschaft | A processing module, a device, and a method for processing of XML data |
CN101840394B (zh) * | 2010-03-04 | 2012-12-19 | 英华达(南昌)科技有限公司 | 数据解码方法 |
EP2388701A1 (en) * | 2010-05-17 | 2011-11-23 | Siemens Aktiengesellschaft | Method and apparatus for providing a service implementation |
CN102650992B (zh) * | 2011-02-25 | 2014-07-30 | 国际商业机器公司 | 用于二进制xml数据的生成及其节点定位的方法和装置 |
US9063916B2 (en) * | 2013-02-27 | 2015-06-23 | Oracle International Corporation | Compact encoding of node locations |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2688422A1 (fr) * | 1992-03-11 | 1993-09-17 | Coletica | Microcapsules a parois en polysaccharides contenant des fonctions alcools primaires, et compositions en contenant. |
JP3859313B2 (ja) * | 1997-08-05 | 2006-12-20 | 富士通株式会社 | タグ文書の圧縮装置および復元装置,圧縮方法および復元方法,圧縮/復元装置および圧縮/復元方法並びに圧縮,復元もしくは圧縮/復元プログラムを記録したコンピュータ読み取り可能な記録媒体 |
FR2813743B1 (fr) | 2000-09-06 | 2003-01-03 | Claude Seyrat | Procede de compression/decompression de documents structures |
-
2003
- 2003-07-07 EP EP03787637A patent/EP1522028B9/de not_active Expired - Lifetime
- 2003-07-07 AT AT03787637T patent/ATE327538T1/de not_active IP Right Cessation
- 2003-07-07 RU RU2005103833/09A patent/RU2005103833A/ru not_active Application Discontinuation
- 2003-07-07 JP JP2004528352A patent/JP4197320B2/ja not_active Expired - Fee Related
- 2003-07-07 BR BR0312681-1A patent/BR0312681A/pt not_active IP Right Cessation
- 2003-07-07 CN CN03816871A patent/CN100580661C/zh not_active Expired - Fee Related
- 2003-07-07 US US10/521,832 patent/US7707154B2/en not_active Expired - Fee Related
- 2003-07-07 DE DE50303493T patent/DE50303493D1/de not_active Expired - Lifetime
- 2003-07-07 AU AU2003250302A patent/AU2003250302A1/en not_active Abandoned
- 2003-07-07 WO PCT/DE2003/002274 patent/WO2004017225A1/de active IP Right Grant
- 2003-07-07 ES ES03787637T patent/ES2262000T3/es not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
RU2005103833A (ru) | 2005-10-10 |
JP2005538436A (ja) | 2005-12-15 |
WO2004017225A1 (de) | 2004-02-26 |
DE50303493D1 (de) | 2006-06-29 |
EP1522028B1 (de) | 2006-05-24 |
EP1522028A1 (de) | 2005-04-13 |
AU2003250302A1 (en) | 2004-03-03 |
JP4197320B2 (ja) | 2008-12-17 |
US20050182778A1 (en) | 2005-08-18 |
CN1669024A (zh) | 2005-09-14 |
US7707154B2 (en) | 2010-04-27 |
BR0312681A (pt) | 2005-04-26 |
EP1522028B9 (de) | 2006-12-20 |
ATE327538T1 (de) | 2006-06-15 |
CN100580661C (zh) | 2010-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2262000T3 (es) | Procedimiento y dispositivos para codificar/decodificar documentos estructurados, en particular documentos xml. | |
KR101011663B1 (ko) | Xml 문서의 구조적 스트리밍을 위한 방법 및 장치 | |
US7647552B2 (en) | XML encoding scheme | |
US20030177341A1 (en) | Schema, syntactic analysis method and method of generating a bit stream based on a schema | |
US7373591B2 (en) | Binary format for MPEG-7 instances | |
KR20010080681A (ko) | 엑스엠엘 컨텐트를 스트림하는 방법 및 장치 | |
KR20030085527A (ko) | 문서의 구조화된 표현을 압축하는 방법 및 시스템 | |
US20080148141A1 (en) | Method For Encoding an Xml Document, Decoding Method, Encoding and Decoding Method, Encoding Device, Decoding Device and Encoding and Decoding Device | |
JP2013140627A (ja) | Mpeg−7および他のxmlベースのコンテンツ記述のバイナリ表現機能を改善する方法 | |
ES2300429T3 (es) | Procedimiento de codificacion y descodificacion de un trayecto en un diagrama de arbol de un documento estructurado. | |
CN100576750C (zh) | 用于从索引树中产生比特流的方法 | |
US20060167907A1 (en) | System and method for processing XML documents | |
KR20060054315A (ko) | 구조화된 문서의 코딩 방법 | |
US7797346B2 (en) | Method for improving the functionality of the binary representation of MPEG-7 and other XML based content descriptions | |
JP2006519422A (ja) | 構造化されたドキュメントのエンコーディング方法 | |
CN100449530C (zh) | 大纲、语法分析方法和基于一种大纲生成一个位流的方法 | |
KR100968083B1 (ko) | 구조화된 문서들, 특히 xml 문서들을인코딩/디코딩하기 위한 방법 및 장치 | |
JP2007516514A (ja) | 構造化文書の圧縮および解凍方法 | |
Ozden | A Binary Encoding for Efficient XML Processing | |
Kheirkhahzadeh | On the performance of markup language compression | |
AU2001293514B2 (en) | XML encoding scheme |