MXPA03010779A - METODO Y MEDIO LEGIBLE POR CAMPUTADORA PARA IMPORTAR Y EXPORTAR DATOS JERáRQUICAMENTE ESTRUCTURADOS. - Google Patents
METODO Y MEDIO LEGIBLE POR CAMPUTADORA PARA IMPORTAR Y EXPORTAR DATOS JERáRQUICAMENTE ESTRUCTURADOS.Info
- Publication number
- MXPA03010779A MXPA03010779A MXPA03010779A MXPA03010779A MXPA03010779A MX PA03010779 A MXPA03010779 A MX PA03010779A MX PA03010779 A MXPA03010779 A MX PA03010779A MX PA03010779 A MXPA03010779 A MX PA03010779A MX PA03010779 A MXPA03010779 A MX PA03010779A
- Authority
- MX
- Mexico
- Prior art keywords
- data
- electronic document
- content
- specified
- readable medium
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Communication Control (AREA)
- Radar Systems Or Details Thereof (AREA)
- Collating Specific Patterns (AREA)
- Devices For Executing Special Programs (AREA)
- Credit Cards Or The Like (AREA)
- Television Systems (AREA)
- Photoreceptors In Electrophotography (AREA)
Abstract
Se proporcionan un metodo y medio legible por computadora para selectivamente importar y exportar datos en un documento electronico. Una interfase de programa de aplicacion de importacion (API) puede ser implementado para importar contenido de un documento jerarquicamente estructurado, tal como un archivo XML. La API de importacion trabaja en conjunto con un analizador para explorar el documento y extraer el contenido de los elementos, nodos, atributos y texto seleccionados. La API de importacion tambien utiliza un componente de comunicacion de vuelta para procesar el contenido extraido. Una API de exportacion tambien puede ser implementada para exportar datos para crear un documento jerarquicamente estructurado, tal como un archivo XML. La API de exportacion trabaja en conjunto con un escritor para recibir datos y exportar datos como elementos, nodos, atributos y texto en el documento jerarquicamente estructurados.
Description
METODO Y MEDIO LEGIBLE POR COMPUTADORA PARA IMPORTAR Y EXPORTAR DATOS JERARQUICAMENTE ESTRUCTURADOS
CAMPO DE LA INVENCION
La presente invención se refiere a un método y medio legible por computadora para importar y exportar datos jerárquicamente estructurados.
A TECEDENTES DE LA INVENCION
Las aplicaciones de software de computadora permiten a los usuarios crear documentos conteniendo datos organizados en una estructura jerárquica tal como hojas de cálculo, calendarios, estados de cuenta bancarios, listas de productos, bosquejos, etc., para intercambiarlos con otros usuarios a través de redes, tal como el Internet. Por ejemplo, los usuarios pueden crear documentos utilizando programas de Lenguaje de Marcación Extensible (XML) para intercambiar datos jerárquicos entre sistemas de computadora que utilizan diferentes formatos. Los documentos XML tienen etiquetas descriptivas definibles por el usuario adjuntando los datos contenidos en los mismos, haciendo los datos entendibles a través de una amplia variedad de computadoras. Los datos pueden ser importados del documento para visualización a través del usuario mediante simplemente analizando las etiquetas que conllevan la descripción. Después de ver los datos, el usuario puede entonces exportar los datos en un documento formateado jerárquicamente nuevo o editado para enviárselo a otros usuarios. El análisis de un documento, sin embargo, es un proceso lento y complicado que requiere de un número de pasos. Algunos de los analizadores actuales, tales como API Simple para XML (SAX), son analizadores en base a eventos en donde las etiquetas XML son leídas secuencialmente, una a la vez. Sin embargo, el usuario es requerido para mantener el estado y la búsqueda a través del archivo completo para encontrar las etiquetas XML deseadas. Otros analizadores, tales como el Modelo de Objeto de Documento (DOM), son analizadores en base al árbol que cargan un archivo XML completo en la memoria y que permite el acceso aleatorio, de esta manera haciendo más fácil encontrar las etiquetas XML deseadas que los analizadores con base en eventos. Sin embargo, los analizadores en base al árbol requieren navegar a través del "árbol" para encontrar las etiquetas XML deseada. Además, dichos analizadores requieren de una cantidad significativa de tiempo y memoria haciéndolos imprácticos para analizar grandes archivos XML. De esta manera, existe una manera actual, no fácil de importar datos desde un documento jerárquicamente estructurado. Es decir, no existe una manera fácil para selectivamente buscar el documento para una etiqueta específica o sección conteniendo datos que pueden ser interés para un usuario, sin tener que buscar a través del documento completo con analizadores en base a eventos tales como SAX o teniendo que navegar a través del árbol mientras al mismo tiempo se utilizan recursos de memoria y tiempo importantes con los analizadores en base a árbol tales como DOM. Similarmente, mientras que los analizadores en base a árbol tales como DOM (el cual almacena el archivo completo en la memoria), puede exportar subárboles u otros datos jerárquicos, dichos analizadores están limitados mediante la utilización significante de recursos de tiempo y memoria inherentes en dichos analizadores. Por lo tanto, existe una necesidad en la técnica para un método y sistema para selectivamente importar y exportar contenido en documentos jerárquicamente estructurados. Esto es con respecto a estas y otras consideraciones que la presente invención ha hecho.
COMPENDIO DE LA INVENCION
La presente invención proporciona un método y sistema para selectivamente importar y exportar datos en un documento electrónico. En una modalidad, se proporciona un método para selectivamente importar contenido de un documento electrónico. Un documento electrónico se recibe teniendo datos organizados en una estructura de archivo jerárquico. La estructura de archivo jerárquico puede ser XML. Los datos en el documento electrónico incluyen contenido asociado con los datos. Los datos pueden incluir elementos XML, atributos, nodos, y texto. Los datos específicos del documento se especifican para ser importados y se lleva a cabo una acción en los datos especificados para importar el contenido asociado. La acción puede incluir analizar el documento para los datos especificados y extraer artículos del contenido asociados con los datos especificados. En otra modalidad de la invención, se proporciona un método para exportar datos de una fuente en un sistema de computadora para crear un documento electrónico. Los datos especificados recibidos de una fuente en el sistema de computadora se exportan para crear el documento electrónico. El documento creado puede incluir elementos XML, atributos y nodos. La fuente puede ser un cliente o un servidor en un sistema de computadora. Los datos pueden ser exportados a una corriente de datos, una memoria temporal, o un archivo. Las modalidades de la presente invención también proporcionan medios legibles por computadora para selectivamente importar y exportar datos en un documento electrónico. Los detalles adicionales con respecto a varios aspectos de la presente invención serán aparentes a partir de la descripción detallada de la invención que sigue.
BREVE DESCRIPCION PE LOS DIBUJOS
La Figura 1 es un diagrama de bloque de una computadora y periféricos asociados y dispositivos conectados en red que proporcionan un ambiente operativo ilustrativo para la presente invención. La Figura 2 es un diagrama de bloque ilustrando una arquitectura ilustrativa para importar un documento electrónico de acuerdo a una modalidad de la presente invención. La Figura 3 es un diagrama de bloque ¡lustrando una arquitectura ilustrativa para exportar datos para crear un documento electrónico de acuerdo con una modalidad de la presente invención. La Figura 4 es una gráfica de flujo mostrando los pasos realizados por una rutina ilustrativa de importación de un documento electrónico de acuerdo con una modalidad de la presente invención.
La Figura 5 es una gráfica de flujo mostrando ios pasos realizados a través de una rutina ilustrativa de exportación de datos para crear un documento electrónico de acuerdo con una modalidad de la presente invención.
DESCRIPCION DETALLADA
La siguiente descripción de una modalidad de la presente invención está hecha con referencia a los dibujos anteriormente descritos. La presente invención está dirigida a un método y sistema para importar y exportar datos jerárquicamente estructurados en un documento electrónico.
Ambiente Operativo La Figura 1 y la siguiente discusión pretenden proveer una descripción breve, general de un ambiente de computación adecuado en el cual la invención puede ser implementada. Mientras que la invención será descrita en el contexto general de una interfase de programa de aplicación que corre en un sistema operativo en conjunción con una computadora personal, aquellos con experiencia en la técnica reconocerán que la invención también puede ser implementada en combinación con otros módulos de programa. Generalmente, los módulos de programa incluyen rutinas, programas, componentes, estructuras de datos, etc., para realizar tareas particulares o implementar tipos de datos abstractos particulares. Además, aquellos con experiencia en la técnica apreciarán que la invención puede ser practicada con otras configuraciones de sistemas de computadora, incluyendo dispositivos portátiles, sistemas multiprocesador, electrónicos de consumidor en base a microprocesador o programables, teléfonos celulares, minicomputadoras, computadoras de marco principal, y similares. La invención también puede ser practicada en ambientes de computación distribuidos en donde las tareas se llevan a cabo a través de dispositivos de procesamiento remotos que están enlazados a través de una red de comunicaciones. En un ambiente de computación distribuido, los módulos de programa puede estar localizados en ambos dispositivos de almacenamiento de memoria, locales y remotos.
Con referencia a la Figura 1, un sistema ilustrativo para implementar la invención incluye una computadora personal convencional 20, incluyendo una unidad de procesamiento 21, una memoria de sistema 22, y una barra colectora de sistema 23 que acopla la memoria del sistema a la unidad de procesamiento 21. La memoria del sistema 22 incluye memoria de solo lectura (ROM) 24, y memoria de acceso aleatorio (RAM) 25. Un sistema de entrada/salida básico 26 (BIOS), conteniendo las rutinas básicas que ayudan a transferir la información entre elementos dentro de la computadora personal 20, tal como durante el arranque, se almacenan en ROM 24. La computadora personal 20 además incluye una unidad de disco duro 27, una unidad de disco magnético 28, por ejemplo, para leer de o escribir a un disco removible 29, y una unidad de disco óptico 75, por ejemplo, para leer una unidad CD-ROM 31 o para leer de o escribir a otro medio óptico. La unidad de disco duro 27, la unidad de disco magnético 28, y una unidad de disco óptico 75 están conectadas a la barra colectora del sistema 23 a través de una interfase de unidad de disco duro 32, una interfase de unidad de disco magnético 33, y una interfase de unidad óptica 34, respectivamente. Las unidades y sus medios legibles por computadora asociados proporcionan almacenamiento no volátil para la computadora personal 20. Aunque la descripción de los medios legibles por computadora anterior se refieren a un disco duro, un disco magnético removible y un disco CD-ROM, deberá ser apreciado por aquellos con experiencia en la técnica que otros tipos de medios que son legibles a través de una computadora, tal como cartuchos magnéticos, tarjetas de memoria intermedia, discos de video digitales, cartuchos Bernoulli, y similares, también pueden ser utilizados en el ambiente operativo ilustrativo. Un número de módulos de programa pueden ser almacenados en las unidades y RAM 25, incluyendo un sistema operativo 35, una o más aplicaciones de programas 37 tal como un programa procesador de palabras (u otro tipo de programa), API de importación API, API de exportación 40, y otros módulos de programa (no mostrados). Un usuario puede capturar comandos e información en la computadora personal 20 a través de un teclado 76 y dispositivo de señalamiento 42. Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono, palanca de mandos, almohadilla para juegos, antena parabólica., escáner, o similares. Estos y otros dispositivos de entrada por lo general están conectados a la unidad de procesamiento 21 a una interfase de puerto serial 46 que está acoplada a la barra colectora del sistema, pero pueden estar conectados a través de otras interfases, tales como un puerto de juegos, o barra colectora serial universal (USB). Un monitor 47 u otro tipo de dispositivo de despliegue también está conectado a la barra colectora del sistema 23 a través de una interfase, tal como un adaptador de video 48. Además del monitor, las computadoras personales típicamente incluyen otros dispositivos de salida periféricos (no mostrados) tales como altoparlantes o impresoras. La computadora personal 20 puede operar en un ambiente conectado en red utilizando conexiones lógicas a una o más computadoras remotas, tal como una computadora remota 49. La computadora remota 49 puede ser un servidor, un enrutador, un dispositivo par, u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos con relación a la computadora personal 20, aunque solamente un dispositivo de almacenamiento de memoria 50 ha sido ilustrado en la Figura 1. Las conexiones lógicas descritas en la Figura 1 incluyen una red de área local (LAN) 51 y una red de área amplia (WAN) 52. Dichos ambientes conectados en red son lugares comunes en las oficinas, redes de computadora amplias de empresas, intranets y el Internet. Cuando se utiliza en un ambiente conectado en LAN, la computadora personal 20 está conectada a la LAN 51 a través de una interfase de red 53. Cuando se utiliza en un ambiente conectado en WAN, la computadora personal 20 típicamente incluye un módem 54 y otros medios para establecer comunicaciones a través de la WAN 52, tal como el Internet. El módem 54, el cual puede ser interno o externo, está conectado a la barra colectora 23 a través de una interfase de puerto serial 46. En un ambiente conectado en red, los módulos de programa descritos con relación a la computadora personal 20, o porciones de los mismos, pueden ser almacenados en el dispositivo de almacenamiento de memoria remoto. Se apreciará que las conexiones de red mostradas son ilustrativas y otros medios para establecer un enlace de comunicación entre las computadoras pueden ser utilizados.
Operación La Figura 2 es un diagrama de bloque ilustrando una arquitectura de software 200 para uso en conjunción con una modalidad de la presente invención. La arquitectura incluye la interfase de programa de aplicación de importación (API) 30 para importar contenido de un documento electrónico que tiene datos organizados en una estructura de archivo jerárquico. En una modalidad, el documento es un documento XML compuesto de etiquetas, atributos y nodos (sub-árboles) asociados con varios artículos de contenido. Para propósitos de ejemplo solamente y no para una limitación de la invención descrita aquí, lo siguiente es un archivo XML ilustrativo en el cual la API 30 puede ser practicada: <SOAP-SOB:Sobre xmlns:SOAP- SOB= http://esquemas.xm lsoap.org/soap/sobre/> <SOAP-SOB:Cuerpo> < Cancel Res pues ta xmlns = http://esquem as. mi crosoft.com/facturación> <Servicios> <Nombre Servicio="Algún servicio"/> <! — Más Servicios aquí--> <Servicios> <Suscripciones> <Suscripción I D-"Suscripción ID"> < Impactos Saldos> <Tipo Impacto Saldo = "Tipo de impacto"> <Cantidad>Cantidad No-cero de impacto>/Cantidad> <lmpactoSaldo> <! — Más Impactos Balance aquí— > </lmpactos Balance> <Suscr¡pción> <! — Más Suscripciones aquí -- > <Suscripciones> <Moneda>Tipo Moneda Cuenta</Moneda> <Cantidad>impacto Balance Total</Cantidad> <Cancelar Respuesta^ <SOAP-SOB:Cuerpo> <SOAP-SOB: Sobre>
Como se muestra en la Figura 2, la API de importación 30 recibe el documento electrónico de la computadora cliente 20 descrita anteriormente en la Figura 1. En una modalidad alternativa, el documento electrónico también puede ser recibido de un servidor tal como el servidor de computadora remota 49. La API de importación 30 está en comunicación con un analizador 60 para analizar el documento electrónico para los datos (es decir, elementos, atributos, nodos y texto) definiendo la estructura jerárquica del documento electrónico y contenido asociado. La API de importación 30 maneja el analizador 60 para especificar los datos específicos que van a ser analizados del documento. En una modalidad, el analizador 60 puede ser un analizador en base a eventos tal como el ANALIZADOR XML DE OFFICE de MICROSOFT CORPORATION de Redmond, Washington. El analizador 60 también puede ser un analizador con base en el árbol tal como un analizador de modelo de objeto de documento (DOM). La API 30 es ventajosa sobre el uso de analizadores en base a eventos y árboles directamente debido a que el usuario tiene permiso de especificar los datos específicos que quiere extraer del documento. Como se sabe por aquellos con experiencia en la técnica, los analizadores en base a eventos exploran los documentos una línea cada vez y proporcionan un artículo de datos (tal como una etiqueta) secuencialmente a la vez, requiriendo que el usuario mantenga el estado de encontrar el dato deseado. Los analizadores a base de árbol cargan los documentos completos en la memoria, pero un usuario aún es requerido para navegar a través del documento cargado para encontrar el dato deseado. Las ventajas antes mencionadas serán descritas con más detalle más adelante con respecto a la Figura 4. La API de importación 30 también está en comunicación con el componente de comunicación de vuelta 50. El componente de comunicación de vuelta 50 se comunica con la API de importación 30 para determinar artículos adicionales del contenido que van a ser importados del documento electrónico después de que los primeros datos han sido extraídos. Por ejemplo, si un elemento o nodo en el documento electrónico está asociado con más de ese un artículo de contenido (tal como una lista de nombres), la API de importación 30 extraerá el primer nombre y después accederá el componente de comunicación de vuelta 50 para extraer el siguiente nombre, hasta que todos los nombres en la lista hayan sido extraídos. En otras palabras para una lista de artículos, la API de importación 30 puede pasar cada artículo de la lista al componente de comunicación de vuelta 50 en secuencia, en donde el cliente 20 de la API 30 puede entonces hacer lo que quiera con el artículo. El cliente 20 también puede utilizar el componente de comunicación de vuelta 50 para comunicarse de vuelta con la API 30 durante el proceso de importación, para cambiar cómo procesar el resto de los datos. En varias modalidades, el contenido 70 importado por la API 30 puede ser una corriente de datos, una memoria intermedia, o un archivo. Haciendo referencia ahora a la Figura 3, se muestra un diagrama de bloque ilustrando una arquitectura de software ilustrativa 300 para el uso en conjunción con una modalidad de la presente invención. La arquitectura incluye la interfase de programa de aplicación de exportación (API) 40 para exportar los datos desde una fuente para crear un documento electrónico 90. En una modalidad el documento creado 90 tiene una estructura de archivo jerárquica, tal como un documento XML. Como se muestra en la Figura 3, la API de exportación 40 recibe los datos de la computadora cliente 20. En otra modalidad, los datos pueden ser recibidos de un servidor tal como un servidor de computadora remoto 49. Los datos que van a ser exportados pueden incluir cadenas de texto o una lista fija de variables entre otros tipos de datos.
La API de exportación 40 está en comunicación con un escritor 80 para recibir los datos especificados a través de la API de exportación 40 que van a ser exportados y utilizando los datos para ¦ escribir elementos, nodos, atributos, o texto en el documento electrónico creado 90. La API de importación 40 maneja ai escritor 80 para especificar datos específicos que van a ser exportados. En una modalidad, el escritor 80 puede ser un componente de Exportación XML tal como el EXPORTADOR XML DE OFFICE de MICROSOFT CORPORATION de Redmond, Washington. La API de exportación 40 permite la escritura de múltiples piezas de datos (tales como acceder el escritor 80 directamente, ya que el escritor 80 solamente permite la escritura en una pieza de los datos a la vez. Se debe entender que la sintaxis para implementar la API de exportación 40 puede ser muy similar a la API de importación 30. De esta manera, en una modalidad de la invención, un usuario puede utilizar la API de exportación 40 y la API de importación 30 para escribir y más tarde leer los datos propios del usuario, aunque el usuario no requiere usar ambas. Las ventajas antes mencionadas de la API de exportación 40 se describirán a continuación con respecto a la Figura 5. La Figura 4 es una gráfica de flujo mostrando una rutina ilustrativa 300 para selectivamente importar contenido de un documento electrónico, tal como un documento XML, en un sistema de computadora de acuerdo con una modalidad de la invención. Para propósitos de descripción, la Figura 4 se describe con referencia a las Figuras 1 y 2. La rutina 400 inicia en el bloque 410 en donde la API de importación 30 recibe un documento electrónico de la computadora personal 20 o el servidor de computadora remoto 49. En el bloque 415, la API de importación 30 especifica los datos en el documento electrónico que van a ser importados. Un usuario puede especificar los datos específicos que van a ser importados en el programa de aplicación 100 (el cual puede ser un procesador de palabras) en cual a su vez comunica esta información a la API de importación 30. Por ejemplo, en el documento XML ilustrativo listado anteriormente, el usuario puede estar interesado en el contenido del elemento <Servicio>, el contenido del nodo <Suscripción>, el contenido del elemento <Moneda> (por ejemplo, tipo de Moneda de la Cuenta), y el contenido del elemento <Cantidad> (por ejemplo, impacto del saldo Total), pero no interesarse acerca de los elementos <SOAP-SOB> y atributos que no conducen a ninguna información útil para el usuario. Al seleccionar nodos específicos y elementos, el usuario también selecciona todos los elementos contenidos dentro del mismo. Por ejemplo, el nodo <Suscripción> contiene un nodo <lmpactosSaldos> en donde <lmpactoSaldo> es una lista de longitud arbitraria de elementos. El elemento <Servicio> también contiene una lista arbitraria de Nombres de Servicios. La rutina 400 continúa al bloque 420 en donde el analizador 60 busca el documento electrónico para los datos (es decir, nodos y elementos) especificados por la API de importación 30. En el bloque 425, la API de importación 30 extrae el contenido de los datos en el documento analizado. Como se describió brevemente anteriormente, en una modalidad el analizador 60 es un analizado en base a eventos en donde cada elemento en el documento es explorado y el contenido comprendido en el mismo es extraído por la API de importación 30. Por ejemplo, el analizador 60 explora el documento para el elemento <Serv¡cio> previamente especificado mediante el usuario y la API de importación 30 extrae la cadena de texto "Algunos Servicios" del atributo "Nombre" del elemento <Servicio>. En una forma similar todos los elementos son explorados hasta que todo el contenido asociado con los elementos especificados han sido extraídos del documento. La rutina 400 continúa al bloque 430, en donde la API de importación 30 determina si existen artículos adicionales del contenido comprendido en un elemento especificado para ser importado. Si no hay artículos adicionales de contenido, la rutina 400 entonces termina. El cliente 20 puede entonces seleccionar crear un nuevo documento con el contenido extraído (por ejemplo, utilizando la API de exportación 40). Inversamente, si hay artículos adicionales de contenido comprendidos en un elemento especificado para ser importados, la rutina regresa al bloque 425 en donde la API 30 extrae el siguiente artículo adicional de contenido. Por ejemplo, después de que la API de importación 30 extrae la cadena de "Algún servicio" del atributo "Nombre" del elemento <Servicio>, la API 30 determina si hay cualesquiera elementos <Servicio> adicionales comprendiendo el atributo "Nombre", extrae el contenido de cada uno, y los pasa al componente de comunicación de vuelta 50 para imprimir la cadena deseada. La rutina ilustrada en la Figura 4 para utilizar la API 30 puede ser implementada en datos XML de procesamiento de código de computadora como se muestra en las muestras de código ilustrativas a continuación. Uso Ilustrativo de API de importación: MsoFlmportXML(pistm, FMiComunicaciónVueltaQ, NULLO, "oCancelarRespuesta;o Sevicios;(*o Servicio;aO Nombre;c;pl;)c;o Suscripciones;(*o Suscripción;a1 ID;o lmpactoSaldo;p2;(*o lmpactoSaldo;a2 Tipolmpacto;e3
Cantidad;c;p3;)c;c;)c;e4 oneda;e5 Cantidad;p4;f;", NULO, msoffixSOAP); En el uso ilustrativo de la API de importación 30 mostrada arriba, el cliente 20 pasa en una cadena de acción que especifica el contenido deseado (por ejemplo, uno o más atributos "Nombre" de elemento <Servicio>). Una cadena de acción es una secuencia de acciones individuales que indican el contenido a buscar para o contenido esperado en un punto particular. En el ejemplo anterior, la acción "o CancelarRespuesta" significa ir al siguiente elemento abierto de <CancelarRespuesta> en el documento XML, la acción "a1 ID" significa copiar el atributo "ID" del elemento actual en la entrada #1 de un grupo de cadenas extraídas que el cliente puede observar en su comunicación de vuelta o después de que la API de importación termina, la acción "p2" significa llamar el segundo caso de la comunicación de vuelta, y etc. Una cadena de acción también puede contener grupos de acción, los cuales son formas de hacer una secuencia de acciones para ser manejadas en una cierta forma. En el ejemplo anterior, los grupos de acción se indican a través de acciones relevantes estando rodeadas con paréntesis, en donde los grupos de acción marcados con un asterisco significan el grupo de acciones indicadas que pueden ser repetidas cero o más veces, formando una lista. Otro ejemplo de un grupo de acción (no mostrado en el uso ilustrativo anterior) indica un grupo de acciones o piezas del contenido esperado para aparecer en un punto dado en el documento XML.
Función de Comunicación de Vuelta Ilustrativa: BOOL FMiComunicaciónDeVuelta(nulo*pvCliente, MSOHISD *phisd, SOXPS *rgxps, int ¡Estado) { Conmutar (¡Estado) { Caso 1: //Procesamiento de lista <Servicios> lmprimirf("Servicio> Nombre atr¡buto= %s\n", rgxps[0].wz); Interrumpir; Caso 2: //Procesamiento de lista externa <Suscripc¡ones> lmprimirf("<Suscripción> atributo ID= %s\n", rgxps [1].wz); Interrumpir; Caso 3: //Procesamiento de lista anidada interna <lmpactosSaldos> lmprimirf("<lmpactoSaldo> atributo Tipolmpacto= %s\n", rgxps [2].wz); Interrumpir; lmprimirf("<Cantidad> elemento texto= %s\n", rgxps [3].wz); Interrumpir; Caso 4: //Procesamiento de artículos finales después de la lista anterior lmprimirf("Final <Moneda> elemento texto= %s\n", rgxps [4].wz); lmprimirf("<Cantidad> elemento texto= %s\n", rgxps [5].wz); Interrumpir; } Regresar VERDADERO; } Se debe entender que la API de importación 30 también se puede utilizar sin el cliente 20 teniendo que especificar la función de comunicación de vuelta tal como cuando el documento no contiene ninguna lista o elementos repetidos. Por ejemplo, si el archivo XML contiene solamente un elemento <Servicio>, un nodo <lmpactoSaldo>, y un nodo <Suscripción>, la API de importación 30 puede importar el archivo en una línea de código como se muestra a continuación: WCHAR wzNombreServicio[255], wzSuscripción ID[10], wzTipolm pacto Impactos a Id o [255], wzCantidadImpactoSaldo[20], wzMoneda[20], wzCantidadTotal [20]; MSOXPS rgxps[6];
MsolnitXpsBuffer(&rgxps[0], wzNombreServicio, 255); solnitXpsBuffer(&rgxps[1], wzl DSuscripción, 10); solnitXpsBuffer(&rgxps[2], wzTipolmpactolmpactoSaldo, 255); MsolnitXpsBuffer(&rgxps[3], wzCantidadlmpactoSaldo, 20); MsolnitXpsBuffer(&rgxps[4], wzMoneda, 20); MsolnitXpsBuffer(&rgxps[5], wzCantidadTotal, 20);
MsoFlmportarXML(pistm, NULO, NULO, "o CancelarRespuesta; o Servicios, o Servicio;a0 Nombre;c;c;o Suscripciones; o Suscripción; a1 ID; o ImpactosSaldo; o Impacto Saldo; a2 Tipolmpacto;e3 Cantidad;c;c;c;c;e4 Moneda;e5 Cantidad;f ;", rgxps, msoffixSOAP);
imprimirf("<Servicio> atributo Nombre=&s\n", wzNombreServicio); lmprimirf("<Suscripción> atributo ID = &s\n", wzSuscripciónID); lmprimirf("<lmpactoSaldo> atributo Tipolmpacto=&s\n", wzTipolmpactoSaldo); lmprim/rf("F¡nal<Moneda> elemento texto=&s\n", wzMoneda); lmprimirf("Final<Cantidad> elemento texto = &s\n", wzCantidad Total);
De esta manera, la API de importación 30 ventajosamente permite a un usuario a selectivamente importar el contenido de un documento jerárquicamente estructurado con una línea individual de código y un documento jerárquicamente estructurado conteniendo listas con una línea individual de código y estado de comunicación de vuelta. Como se discutió brevemente anteriormente, la API 30 puede importar el contenido como una corriente de datos, una memoria intermedia, o un archivo. La Figura 5 es una gráfica de flujo mostrando un rutina ilustrativa 500 para selectivamente exportar contenido para crear un documento electrónico, tal como-un archivo XML, en un sistema de computadora de acuerdo con una modalidad de la invención. Para propósitos de descripción, la Figura 4 se describe con referencia a las Figuras 1 y 3. La rutina 500 inicia en el bloque 510 en donde la API de exportación 40 especifica los datos que van a ser exportados. Como se describió brevemente anteriormente, los datos pueden incluir cadenas de texto o una lista fija de variables. Un usuario puede especificar datos específicos para ser exportados en el programa de aplicación 100 (el cual puede ser un procesador de palabras) el cual a su vez comunica esta información a la API de exportación 40. En la especificación de datos que van a ser exportados un usuario podría especificar también cómo los datos van a ser representados en el documento creado. Por ejemplo, un usuario puede especificar que la cadena de texto "Servicios" esté representada como un elemento y "Nombre" como un atributo del elemento "Servicio". La API de exportación 40 envía los datos especificados al escritor 80 el cual crea un documento utilizando los datos especificados en el bloque 520. La rutina ilustrada en la Figura 5 puede ser implementada como una llamada de función para crear un archivo XML ilustrativo listado anteriormente utilizando las muestras de código ilustrativas mostradas a continuación.
Uso Ilustrativo de la API de exportación: MsoFExportarXML(pistm, "n o;o CancelarRespuesta; o Servicios; e Servicio; a Nombre "Algún Servicio";c;o Suscripciones;o Suscripción;a ID "IDSuscripción";o ImpactosSaldo; o lmpactoSaldo;a Tipolmpacto", e Cantidad "Cantidad Vocero de lmpacto";c;c;c;c;e Moneda "tipoMonedaCuenta"; e Cantidad "lmpactosaldoTotal";c;", msogrffexSOAP)
En los usos ilustrativos de la API de exportación mostrada anteriormente, el cliente 20 pasa en una cadena de acción formateada en una forma similar a las cadenas de acción en los usos ilustrativos de la API de importación 30. Aquí, una cadena de acción es una secuencia de acciones individuales indicando contenido a escribir en el documento XML. En el ejemplo anterior, la acción "e Cantidad 'impactoSaldo Total" significa escribir el elemento XML <Cantldad> conteniendo el texto "impactoSaldoTotal", la acción "c" significa escribir un elemento cercano coincidiendo con el alcance actual, y etc. La línea ilustrativa del código anterior puede ser utilizada para generar un documento XML completo sin listas. El documento generado corresponde a y puede ser importado por la muestra de código importado no de lista (es decir, sin la función de comunicación de vuelta) mostrada anteriormente en la descripción de la Figura 4.
MSOHEXS hexs; MsoFlnicExportXML(pistm, &hexs); MsoFExportXMLContenidos(&hexs, "n o;o CancelarRespuesta; o Servicios;"); Mientras (FAIgunosArtículosQuedadosMyLista(wzNombreServicio)) // Llenar wzNombreServicio con cadena de servicio actual. MsoFExportXMLContenidos2(&hexs, "e Servicio;a Nombre %0;", &wzNombreServicio);// Escribir: <NombreServicio = "Algún servicio"> MsoFExportXMLContenidos(&hexs, "c;"); // Etc. para el resto de las etiquetas... MsoFTerminarExportXML(&hexs);
Las líneas ilustrativas del código anterior pueden ser utilizadas para crear un archivo XML con listas. El archivo creado corresponde a y puede ser importado por el ejemplo de código de importación de lista (es decir, con la función de comunicación de vuelta) mostrada anteriormente en la descripción de la Figura 4. De esta manera, la API de exportación 40 ventajosamente permite a un usuario a selectivamente exportar contenido, incluyendo múltiples elementos y atributos a la vez, para crear documentos jerárquicamente estructurados con una línea individual de código y documentos jerárquicamente estructurados conteniendo listas con solo unas pocas líneas de código. Como se describió anteriormente, una ¡nterfase de programa de aplicación (API) puede ser implementada para importar contenido de un documento jerárquicamente estructurado, tal como un archivo XML. La API trabaja en conjunción con un analizador para explorar el documento y extraer el contenido de los elementos seleccionados, nodos, atributos y texto. La API también utiliza un componente de comunicación de vuelta para procesar el contenido extraído (por ejemplo de las listas). La API de importación permite la especificación de datos específicos que van a ser extraídos de un documento. Esto es ventajoso sobre el uso de analizadores a base de eventos, los cuales secuencialmente proporcionan un articulo de los datos a la vez de un documento, y los analizadores a base de árboles, los cuales requieren la navegación de un archivo cargado para encontrar los datos deseados, directamente. Una API también puede ser implementada para exportar datos para crear un documento jerárquicamente estructurado, tal como un archivo XML. La API trabaja en conjunción con un escritor para recibir datos y exportar los datos como elementos, nodos, atributos y texto en un documento jerárquicamente estructurado. La API de exportación permite la escritura de múltiples piezas de datos (tal como contenido XML) o un archivo completo en una llamada API individual. Esto es más ventajoso que la utilización de un escritor (tal como un escritor XML) el cual solamente permite la escritura de una pieza de datos a la vez. Se apreciará que la API de importación 30 y la API de exportación 40 pueden ser implementadas en códigos manejados o no manejados. Otras modalidades de la invención será aparentes para aquellos con experiencia en la técnica a partir de la consideración de la especificación y práctica de la invención descrita aquí.
Claims (1)
- REIVINDICACIONES 1. Un método para selectivamente importar contenido de un documento electrónico, que comprende: recibir el documento electrónico que tiene datos y artículos de contenido asociados con los datos, en donde los datos están organizados en una estructura de archivo jerárquico; especificar los datos específicos asociados con por lo menos un artículo del contenido en el documento electrónico; y realizar una acción sobre los datos especificados para importar el contenido. 2. El método de acuerdo con la reivindicación 1, en donde la realización de una acción sobre los datos especificados para importar el contenido comprende: analizar el documento electrónico para los datos especificados; y extraer el primer artículo del contenido asociado con los datos especificados del documento electrónico. 3. El método de acuerdo con la reivindicación 2, en donde la realización de una acción sobre los datos especificados para importar el contenido además comprende: después de extraer el primer articulo del contenido asociado con los datos especificados del documento electrónico, determinar si existen cualesquiera artículos adicionales del contenido asociado con los datos especificados; y i 27 si existen artículos adicionales del contenido asociado con los datos especificados, extraer el siguiente artículo del contenido asociado con los datos especificados del documento electrónico. 4. El método de acuerdo con la reivindicación 1, en donde la 5 estructura de archivo jerárquica es XML. 5. El método de acuerdo con la reivindicación 1, en donde el contenido especificado es un elemento XML. 6. El método de acuerdo con la reivindicación 1, en donde el contenido especificado es un atributo XML. 10 7. El método de acuerdo con la reivindicación 1, en donde el contenido especificado es un nodo XML. 8. El método de acuerdo con la reivindicación 1, en donde el contenido especificado es texto. 9. El método de acuerdo con la reivindicación 1, en donde el 15 contenido es importado de una corriente de datos. 10. El método de acuerdo con la reivindicación 1, en donde el contenido es importado de una memoria intermedia. 11. El método de acuerdo con la reivindicación 1, en donde el contenido es importado de un archivo. 20 12. Un medio legible por computadora que tiene componentes ejecutables por computadora para importar el contenido en un documento electrónico en un sistema de computadora, que comprende: un componente de importación para, 25 recibir el documento electrónico que tiene datos conteniendo el ] j 28 contenido de una fuente en el sistema de computadora, en donde el documento electrónico tiene una estructura de archivo jerárquica; especificar los datos especificados asociados con por lo menos un artículo del contenido en el documento electrónico; y 5 extraer los artículos del contenido asociado con los datos especificados del documento electrónico. 13. El medio legible por computadora de acuerdo con la reivindicación 12, que tiene además componentes ejecutables por computadora, que comprende: 10 un componente de analizador para: analizar el documento electrónico para los datos especificados; y enviar los datos especificados al componente de importación. 14. El medio legible por computadora de acuerdo con la 15 reivindicación 13, en done el componente analizador es en base a eventos. 15. El medio legible por computadora de acuerdo con la reivindicación 12, que tiene además componentes ejecutables por computadora comprendiendo un componente de comunicación de 20 vuelta para procesar los artículos extraídos de contenido asociado con los datos especificados del documento electrónico. 16. El medio legible por computadora de acuerdo con la reivindicación 12, en donde por lo menos un artículo de contenido comprende una cadena de texto. 25 17. El medio legible por computadora de acuerdo con la reivindicación 12, en donde la estructura de archivo jerárquica es XML. 18. El medio legible por computadora de acuerdo con la reivindicación 12, en donde el contenido especificado es un elemento XML. 19. El medio legible por computadora de acuerdo con la reivindicación 12, en donde el contenido especificado es un atributo XML. 20. El medio legible por computadora de acuerdo con la reivindicación 12, en donde el contenido especificado es un nodo XML. 21. El medio legible por computadora de acuerdo con la reivindicación 12, en donde el contenido es texto. 22. El medio legible por computadora de acuerdo con la reivindicación 12, en donde la fuente es un cliente en el. sistema de computadora. 23. El medio legible por computadora de acuerdo con la reivindicación 12, en donde la fuente es un servidor en el sistema de computadora. 24. Un método en un sistema de computadora para exportar datos de una fuente para crear un documento electrónico, que comprende: recibir los datos de la fuente; especificar una pluralidad de datos que van a ser exportados en el documento electrónico; y exportar la pluralidad especificada de datos para crear el documento electrónico. 25. El método de acuerdo con la reivindicación 24, en donde el documento creado tiene una estructura de archivo jerárquica. 26. El método de acuerdo con la reivindicación 25, en donde la estructura de archivo jerárquica es XML. 27. El método de acuerdo con la reivindicación 24, en donde la exportación de la pluralidad especificada de datos para crear el documento electrónico comprende la creación de por lo menos un elemento XML. 28. El método de acuerdo con la reivindicación 24, en donde la exportación de la pluralidad especificada de datos para crear el documento electrónico comprende la creación de por lo menos un atributo XML. 29. El método de acuerdo con la reivindicación 24, en donde la exportación de la pluralidad especificada de datos para crear el documento electrónico comprende la creación de por lo menos un nodo XML. 30. El método de acuerdo con la reivindicación 24, en donde la exportación de la pluralidad especificada de datos para crear el documento electrónico comprende la creación de texto. 31. El método de acuerdo con la reivindicación 24, en donde la pluralidad especificada de datos se exporta a una corriente de datos. 32. El método de acuerdo con la reivindicación 24, en donde la pluralidad especificada de datos se exporta a una memoria ) 1 i 31 intermedia. 33. El método de acuerdo con la reivindicación 24, en donde la pluralidad especificada de datos se exporta a un archivo. 34. Un medio legible por computadora que tiene componentes 5 ejecutables por computadora para exportar datos de una fuente para crear un documento electrónico en un sistema de computadora, comprendiendo: un componente de exportación para, recibir los datos de la fuente; y 10 especificar una pluralidad de datos que van a ser exportados en el documento electrónico; y un componente de escritura para recibir la pluralidad especificada de datos del componente de exportación y exportar la pluralidad especificada de datos para crear el documento 15 electrónico. 35. El medio legible por computadora de acuerdo con la reivindicación 34, en donde el documento electrónico creado tiene una estructura de archivo jerárquica. 36. El medio legible por computadora de acuerdo con la 20 reivindicación 35, en donde la estructura de archivo jerárquica es XML. 37. El medio legible por computadora de acuerdo con la reivindicación 34, en donde la exportación de la pluralidad especificada de datos para crear el documento electrónico 25 comprende crear por lo menos un elemento XML. 38. El medio legible por computadora de acuerdo con la reivindicación 34, en donde la exportación de la pluralidad especificada de datos para crear el documento electrónico comprende crear por lo menos un atributo XML. 39. El medio legible por computadora de acuerdo con la reivindicación 34, en donde la exportación de la pluralidad especificada de datos para crear el documento electrónico comprende crear por lo menos un nodo XML. 40. El medio legible por computadora de acuerdo con la reivindicación 34, en donde la exportación de la pluralidad especificada de datos para crear el documento electrónico comprende crear texto. 41. El medio legible por computadora de acuerdo con la reivindicación 34, en donde la fuente es un cliente en el sistema de computadora. 42. El medio legible por computadora de acuerdo con la reivindicación 34, en donde la fuente es un servidor en el sistema de computadora.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/306,022 US7191186B1 (en) | 2002-11-27 | 2002-11-27 | Method and computer-readable medium for importing and exporting hierarchically structured data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| MXPA03010779A true MXPA03010779A (es) | 2005-04-19 |
Family
ID=32312191
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| MXPA03010779A MXPA03010779A (es) | 2002-11-27 | 2003-11-25 | METODO Y MEDIO LEGIBLE POR CAMPUTADORA PARA IMPORTAR Y EXPORTAR DATOS JERáRQUICAMENTE ESTRUCTURADOS. |
Country Status (16)
| Country | Link |
|---|---|
| US (1) | US7191186B1 (es) |
| EP (1) | EP1426877B1 (es) |
| JP (1) | JP2004178602A (es) |
| KR (1) | KR101067398B1 (es) |
| CN (1) | CN100527121C (es) |
| AT (1) | ATE481683T1 (es) |
| AU (1) | AU2003262290B2 (es) |
| BR (1) | BR0306749A (es) |
| CA (1) | CA2448787C (es) |
| DE (1) | DE60334185D1 (es) |
| MX (1) | MXPA03010779A (es) |
| MY (1) | MY134408A (es) |
| PL (1) | PL363561A1 (es) |
| RU (1) | RU2338245C2 (es) |
| TW (1) | TWI334551B (es) |
| ZA (1) | ZA200308722B (es) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040205216A1 (en) * | 2003-03-19 | 2004-10-14 | Ballinger Keith W. | Efficient message packaging for transport |
| US8296354B2 (en) * | 2004-12-03 | 2012-10-23 | Microsoft Corporation | Flexibly transferring typed application data |
| EP1729235A1 (en) * | 2005-06-03 | 2006-12-06 | Agfa Corporation | Structured reporting report data manager |
| US8711142B2 (en) * | 2005-08-11 | 2014-04-29 | International Business Machines Corporation | Visual model importation |
| EP1965314A4 (en) | 2005-12-05 | 2009-04-01 | Sursen Corp | SYSTEM AND METHOD FOR DOCUMENT PROCESSING |
| CN1979478B (zh) * | 2005-12-09 | 2010-05-26 | 北京书生国际信息技术有限公司 | 文档处理系统和文档处理方法 |
| CN100547590C (zh) * | 2005-12-05 | 2009-10-07 | 北京书生国际信息技术有限公司 | 文档处理系统 |
| CN1979479B (zh) * | 2005-12-09 | 2010-06-02 | 北京书生国际信息技术有限公司 | 文档处理系统和文档处理方法 |
| WO2007065355A1 (fr) | 2005-12-05 | 2007-06-14 | Beijing Sursen Co., Ltd | Systeme et procede de traitement hierarchise de documents |
| CN102043821B (zh) * | 2005-12-09 | 2013-03-27 | 北京书生国际信息技术有限公司 | 一种显示文档的方法 |
| US8424020B2 (en) * | 2006-01-31 | 2013-04-16 | Microsoft Corporation | Annotating portions of a message with state properties |
| US7836055B2 (en) | 2006-01-31 | 2010-11-16 | Microsoft Corporation | XNA relationship management |
| US20070266309A1 (en) * | 2006-05-12 | 2007-11-15 | Royston Sellman | Document transfer between document editing software applications |
| CN100458786C (zh) * | 2006-06-15 | 2009-02-04 | Ut斯达康通讯有限公司 | 基于应用定制解析xml文档的方法及装置 |
| US8732661B2 (en) * | 2007-02-01 | 2014-05-20 | Microsoft Corporation | User experience customization framework |
| US20090193410A1 (en) * | 2007-09-28 | 2009-07-30 | Xcerion Aktiebolag | Network operating system |
| US8370735B2 (en) * | 2008-06-27 | 2013-02-05 | Microsoft Corporation | Efficient, non-blocking mechanism for incrementally processing arbitrary sized XML documents |
| US10943030B2 (en) * | 2008-12-15 | 2021-03-09 | Ibailbonding.Com | Securable independent electronic document |
| JP5369794B2 (ja) | 2009-03-17 | 2013-12-18 | 株式会社リコー | 情報処理装置、情報処理方法およびプログラム |
| US10114840B2 (en) * | 2009-09-29 | 2018-10-30 | Sap Se | Customer data separation in a service provider scenario |
| CN101706779B (zh) * | 2009-10-12 | 2013-05-08 | 南京联创科技集团股份有限公司 | 基于oracle的伞状数据导入导出方法 |
| CN102122280B (zh) * | 2009-12-17 | 2013-06-05 | 北大方正集团有限公司 | 一种智能提取内容对象的方法及系统 |
| US8380753B2 (en) * | 2011-01-18 | 2013-02-19 | Apple Inc. | Reconstruction of lists in a document |
| JP5760493B2 (ja) * | 2011-02-18 | 2015-08-12 | 村田機械株式会社 | 中継通信システム |
| US9922089B2 (en) * | 2012-07-18 | 2018-03-20 | Software Ag Usa, Inc. | Systems and/or methods for caching XML information sets with delayed node instantiation |
| US10515141B2 (en) | 2012-07-18 | 2019-12-24 | Software Ag Usa, Inc. | Systems and/or methods for delayed encoding of XML information sets |
| US9760549B2 (en) | 2012-07-18 | 2017-09-12 | Software Ag Usa, Inc. | Systems and/or methods for performing atomic updates on large XML information sets |
| CN103714062B (zh) | 2012-09-28 | 2017-05-31 | 国际商业机器公司 | 基于依赖关系导入实体‑联系模型数据的方法和系统 |
| CN104753891B (zh) * | 2013-12-31 | 2019-04-05 | 中国移动通信集团湖南有限公司 | 一种xml报文解析方法及装置 |
| US9635089B2 (en) * | 2014-12-31 | 2017-04-25 | Verizon Patent And Licensing Inc. | Auto suggestion in search with additional properties |
| US10678777B2 (en) | 2017-09-27 | 2020-06-09 | Fomtech Limited | System and method for data aggregation and comparison |
| EP3462334A1 (en) | 2017-09-27 | 2019-04-03 | Fomtech Limited | System and method for data aggregation and comparison |
| CN115408383A (zh) * | 2022-08-03 | 2022-11-29 | 中银金融科技有限公司 | 高并发数据入库方法、装置、电子设备及存储介质 |
| CN115481093A (zh) * | 2022-09-21 | 2022-12-16 | 中国银行股份有限公司 | 一种制度文件存储方法及装置、存储介质及电子设备 |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH09269940A (ja) * | 1996-03-29 | 1997-10-14 | Sharp Corp | 日時等を抽出する装置 |
| RU2113726C1 (ru) * | 1996-08-16 | 1998-06-20 | Акционерное общество закрытого типа Научно-производственное предприятие - центр "Реабилитация" | Компьютерное устройство для чтения плоскопечатного текста |
| JP3896702B2 (ja) | 1998-09-18 | 2007-03-22 | 富士ゼロックス株式会社 | 文書管理システム |
| US6427123B1 (en) * | 1999-02-18 | 2002-07-30 | Oracle Corporation | Hierarchical indexing for accessing hierarchically organized information in a relational system |
| US6862710B1 (en) * | 1999-03-23 | 2005-03-01 | Insightful Corporation | Internet navigation using soft hyperlinks |
| US6549916B1 (en) * | 1999-08-05 | 2003-04-15 | Oracle Corporation | Event notification system tied to a file system |
| US6947953B2 (en) * | 1999-11-05 | 2005-09-20 | The Board Of Trustees Of The Leland Stanford Junior University | Internet-linked system for directory protocol based data storage, retrieval and analysis |
| US6529905B1 (en) * | 2000-01-11 | 2003-03-04 | Frontline Solutions, Inc. | Method and system for allowing multiple users to edit a hierarchical data structure |
| US6819339B1 (en) * | 2000-02-24 | 2004-11-16 | Eric Morgan Dowling | Web browser with multilevel functions |
| WO2001082133A2 (en) * | 2000-04-11 | 2001-11-01 | Informatica Corporation | Xml flattener |
| US6898761B2 (en) * | 2000-05-01 | 2005-05-24 | Raytheon Company | Extensible markup language genetic algorithm |
| JP2002094472A (ja) | 2000-05-30 | 2002-03-29 | Matsushita Electric Ind Co Ltd | データ取得装置及びその方法 |
| JP2002140350A (ja) | 2000-11-02 | 2002-05-17 | Toshiba Corp | 入力データの履歴管理装置及び管理方法及び該管理方法が記憶された情報記憶媒体 |
| US6687897B2 (en) * | 2000-12-01 | 2004-02-03 | Microsoft Corporation | XML based script automation |
| US20020122060A1 (en) * | 2000-12-18 | 2002-09-05 | Markel Steven O. | Wizard generating HTML web pages using XML and XSL |
| US6928487B2 (en) * | 2000-12-23 | 2005-08-09 | International Business Machines Corporation | Computer system, method, and business method for automating business-to-business communications |
| KR20020058639A (ko) * | 2000-12-30 | 2002-07-12 | 오길록 | 엑스엠엘 문서 검색 시스템 및 그 방법 |
| GB2373698A (en) * | 2001-03-20 | 2002-09-25 | Copyn Ltd | Storage of a portion of a web-page containing a link |
| JP3842573B2 (ja) * | 2001-03-30 | 2006-11-08 | 株式会社東芝 | 構造化文書検索方法、構造化文書管理装置及びプログラム |
-
2002
- 2002-11-27 US US10/306,022 patent/US7191186B1/en not_active Expired - Fee Related
-
2003
- 2003-11-05 MY MYPI20034235A patent/MY134408A/en unknown
- 2003-11-10 CA CA2448787A patent/CA2448787C/en not_active Expired - Fee Related
- 2003-11-10 ZA ZA200308722A patent/ZA200308722B/xx unknown
- 2003-11-11 DE DE60334185T patent/DE60334185D1/de not_active Expired - Lifetime
- 2003-11-11 AT AT03026013T patent/ATE481683T1/de not_active IP Right Cessation
- 2003-11-11 EP EP03026013A patent/EP1426877B1/en not_active Expired - Lifetime
- 2003-11-14 AU AU2003262290A patent/AU2003262290B2/en not_active Ceased
- 2003-11-19 PL PL03363561A patent/PL363561A1/xx not_active Application Discontinuation
- 2003-11-21 BR BR0306749-1A patent/BR0306749A/pt not_active IP Right Cessation
- 2003-11-25 MX MXPA03010779A patent/MXPA03010779A/es active IP Right Grant
- 2003-11-25 TW TW092133100A patent/TWI334551B/zh not_active IP Right Cessation
- 2003-11-26 JP JP2003396397A patent/JP2004178602A/ja active Pending
- 2003-11-26 KR KR1020030084415A patent/KR101067398B1/ko not_active Expired - Fee Related
- 2003-11-26 RU RU2003134278/09A patent/RU2338245C2/ru not_active IP Right Cessation
- 2003-11-27 CN CNB200310120703XA patent/CN100527121C/zh not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| TW200422881A (en) | 2004-11-01 |
| HK1066304A1 (en) | 2005-03-18 |
| AU2003262290A1 (en) | 2004-06-10 |
| TWI334551B (en) | 2010-12-11 |
| CN100527121C (zh) | 2009-08-12 |
| US7191186B1 (en) | 2007-03-13 |
| JP2004178602A (ja) | 2004-06-24 |
| EP1426877A2 (en) | 2004-06-09 |
| CA2448787A1 (en) | 2004-05-27 |
| AU2003262290B2 (en) | 2009-09-17 |
| KR20040047657A (ko) | 2004-06-05 |
| EP1426877B1 (en) | 2010-09-15 |
| ATE481683T1 (de) | 2010-10-15 |
| RU2003134278A (ru) | 2005-05-10 |
| DE60334185D1 (de) | 2010-10-28 |
| MY134408A (en) | 2007-12-31 |
| BR0306749A (pt) | 2004-10-13 |
| EP1426877A3 (en) | 2007-09-12 |
| ZA200308722B (en) | 2004-10-08 |
| KR101067398B1 (ko) | 2011-09-27 |
| RU2338245C2 (ru) | 2008-11-10 |
| CN1504925A (zh) | 2004-06-16 |
| PL363561A1 (en) | 2004-05-31 |
| CA2448787C (en) | 2012-01-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| MXPA03010779A (es) | METODO Y MEDIO LEGIBLE POR CAMPUTADORA PARA IMPORTAR Y EXPORTAR DATOS JERáRQUICAMENTE ESTRUCTURADOS. | |
| US7526490B2 (en) | Method of and system for providing positional based object to XML mapping | |
| CA2438176C (en) | Xml-based multi-format business services design pattern | |
| US6429880B2 (en) | Method and apparatus for binding user interface objects to application objects | |
| US20040221233A1 (en) | Systems and methods for report design and generation | |
| US6658624B1 (en) | Method and system for processing documents controlled by active documents with embedded instructions | |
| US7051015B1 (en) | System and method for implementing a flexible data-driven target object model | |
| US20050273703A1 (en) | Method of and system for providing namespace based object to XML mapping | |
| CN100440222C (zh) | 用于文本易读性增强的系统和方法 | |
| US20030158805A1 (en) | Method of translating electronic data interchange documents into other formats and in reverse | |
| US20060004854A1 (en) | Bi-directional data mapping tool | |
| US7447697B2 (en) | Method of and system for providing path based object to XML mapping | |
| Krell et al. | V-Lynx: bringing the World Wide Web to sight impaired users | |
| HK1066304B (en) | Importing and exporting hierarchically structured data | |
| WO2002071208A2 (en) | Navigation in computer software applications developed in a procedural language | |
| Gams | A uniform internet-communicative agent | |
| Fraser | The. NET Framework Class Library | |
| Tarn et al. | XML and electronic business | |
| Thibadeau et al. | Languages for Document Conversion: An Experiment with Programmable XML for Dynamic Documents |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FG | Grant or registration |