MXPA04001932A - Metodo y sistema para mejorar la funcion de copiado de una aplicacion de programa de computadora. - Google Patents

Metodo y sistema para mejorar la funcion de copiado de una aplicacion de programa de computadora.

Info

Publication number
MXPA04001932A
MXPA04001932A MXPA04001932A MXPA04001932A MXPA04001932A MX PA04001932 A MXPA04001932 A MX PA04001932A MX PA04001932 A MXPA04001932 A MX PA04001932A MX PA04001932 A MXPA04001932 A MX PA04001932A MX PA04001932 A MXPA04001932 A MX PA04001932A
Authority
MX
Mexico
Prior art keywords
data
application
document
namespaces
selected data
Prior art date
Application number
MXPA04001932A
Other languages
English (en)
Inventor
Tucker Michael
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA04001932A publication Critical patent/MXPA04001932A/es

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B23/00Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
    • G09B23/24Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for chemistry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • General Health & Medical Sciences (AREA)
  • Medicinal Chemistry (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Chemical & Material Sciences (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

Se proporcionan metodos y sistemas para mejorar la funcion de pegado disponible en una aplicacion de programa de computadora para pegar datos dentro de un documento generado por computadora. Los datos se seleccionan de un documento a ser pegado en un segundo documento. Los datos seleccionados se salvan en una ubicacion de memoria, como un portapapeles. Junto con los datos seleccionados, la informacion o los datos relacionados con los datos seleccionados se salvan para proporcionar la informacion de aplicacion de programa de pegado o de consumo acerca de cualquier tipo de datos asociados con los datos seleccionados. En respuesta, la aplicacion de consumo puede obtener un espacio de nombre y un recurso asociado como un archivo de transformacion de lenguaje de estilo de hoja extensible para transformar los datos seleccionados de un primer tipo de datos asociado con el primer documento en un segundo tipo de datos para pegar los datos seleccionados en el segundo documento, con el fin de mantener la estructura y el formato de los datos en los datos pegados, como fueron aplicados en los datos seleccionados antes del pegado.

Description

MÉTODO Y SISTEMA PARA MEJORAR LA FUNCIÓN DE COPIADO DE UNA APLICACIÓN DE PROGRAMA DE COMPUTADORA CAMPO DE LA INVENCIÓN La invención se relaciona con métodos y sistemas para mejorar la función de copiado disponible en una aplicación de programa de computadora para pegar datos dentro de un documento generado por computadora.
ANTECEDENTES DE LA INVENCIÓN Las aplicaciones de programas de computadora permiten a los usuarios crear una variedad de documentos para ayudarlos en el trabajo, educación. Por ejemplo, las aplicaciones de procesamiento de palabras permiten a los usuarios crear cartas, artículos, libros, recordatorios y sus semejantes. Las aplicaciones de hojas de cálculo permiten a los usuarios almacenar, manejar, imprimir y desplegar una variedad de datos alfa-numéricos. Tales aplicaciones tienen un número de fortalezas bien conocidas, incluyendo una gran edición, formateo, impresión y cálculo. Una función muy común y útil de muchas aplicaciones de programas es la capacidad para cortar o copiar datos de un documento determinado, una hoja de presentación, una diapositiva de presentación u otro documento generado por computadora, seguida por la operación de pegado, en donde los datos copiados o cortados se pegan en la ubicación deseada en el documento. Con frecuencia, el usuario corta o copia datos que incluyen texto, imágenes o datos alfa-numéricos desde una primera aplicación o de provisión, como una aplicación de procesamiento de palabras y después pega los datos copiados o cortados con el uso de una segunda aplicación o de consumo, como una aplicación de hoja de cálculo. Por ejemplo, un usuario puede desear copiar o cortar un arreglo de números de un documento de aplicación de hoja de cálculo con el fin de pegar los números en un documento de aplicación de procesamiento de palabras en donde el usuario prepara una carta para enviarla a un cliente o socio. Típicamente, cuando los datos se copian o cortan, los datos se almacenan en una ubicación de memoria para su futuro pegado durante la operación de pegado. Cuando los datos se copian o cortan desde una aplicación de provisión, después se pegan en un documento por separado por una segunda aplicación de consumo, en donde la aplicación de provisión y la aplicación de consumo son diferentes aplicaciones de programa, con frecuencia muchas de las características, sino es que todas provistas por la primera aplicación incluyendo el formateo se pierden durante la operación de pegado debido a que la segunda aplicación o de consumo no incluye las funciones necesarias para proporcionar características especiales, incluyendo el formateo, que fueron provistas por la primera aplicación. Por ejemplo, cuando el usuario copia un arreglo de datos desde un documento de aplicación de hoja de cálculo, después pega los datos en un documento de procesamiento de palabras, los datos pegados en el documento de procesamiento de palabras se puede pegar sin el formato presente en la aplicación de hoja de cálculo. Esto es, cuando los datos en la aplicación de hoja de cálculo se establecieron en un número de columnas e hileras, los datos se pueden pegar en la aplicación de procesamiento de palabras como una secuencia sencilla de números sin ningún formato. Para mantener la demanda de mayores funciones en aplicaciones de programa, los desabolladores de programas han iniciado el uso de lenguajes de marca, como el Lenguaje de Marca Extensible, para permitir a los usuarios anotar el documento de aplicación de programa para dar al documento una estructura útil aparte de las funciones normales de la aplicación de programa responsable de crear el documento o el formato visible asociados con el documento. Por ejemplo, el usuario puede desear crear en su propia aplicación de procesamiento de palabras un documento de plantilla para la preparación de un artículo que desea transmitir al publicador. Al aplicar la estructura al documento, el publicador que recibe el documento puede hacer uso de la estructura al procesar el documento para utilizar los datos definidos por la estructura del documento. Por infortunio, cuando los datos se cortan o se copian de un documento que tiene tal anotación estructural, con frecuencia la anotación estructural se pierde en la operación de pegado, en particular, cuando la operación de pegado se lleva a cabo por una aplicación de consumo diferente. Aun cuando la aplicación de consumo esté programada para entender y utilizar el lenguaje de marcas, el esquema o las reglas que definen la anotación estructural del lenguaje de marca puede ser muy diferente para la aplicación de provisión, opuesto a la aplicación de consumo. Es con respecto a esto y a otras consideraciones que se ha formulado la presente invención.
BREVE DESCRIPCIÓN DE LA INVENCIÓN La presente invención proporciona métodos y sistema para mejorar la función de pegado disponible en una aplicación de programa de computadora para pegar datos en un documento generado por computadora. Descrito en forma general, los datos se seleccionan de una primera aplicación par apegarlos en un segundo documento de aplicación. Los datos seleccionados junto con la información asociada con los datos, tal como una lista de espacios de nombres se salva en una ubicación de memoria. Cuando los datos seleccionados se pegan en la segunda aplicación o en el documento de aplicación de consumo, la aplicación de consumo revisa una lista disponible de espacios de nombres asociados con los datos seleccionados cuando cualquiera de las representaciones de los datos sean entendidos por la aplicación de pegado. La aplicación de pegado también puede buscar si existen fuentes como archivos de transformación de lenguaje se estilo de hora extensible (XSL) para transformar los datos seleccionados en un formato que se más fácilmente consumible por la segunda aplicación o de consumo. Un método para encontrar los recursos para ayudar con los espacio de nombre disponibles es para la aplicación de consumo para revisar en una biblioteca de espacio de nombre por un recurso disponible para transformar los datos para ser usados por la aplicación de consumo. Cuando no se encuentran recursos, y los espacios de nombre aún no son entendidos en forma nativa por la aplicación de pegado, los datos se pueden pegar en un segundo documento de aplicación de conformidad con un recurso de pegado por omisión. La aplicación de pegado también puede tener un método por omisión con un tipo de datos sin importar el espacio de nombre. Más en particular, se proporciona un método para mejorar la función de pegado de una aplicación de programa de computadora. Un primer documento se abre a través de la aplicación de provisión y la estructura se aplica al primer documento de conformidad con un lenguaje de marca, como un Lenguaje de Marca Extensible (XSL). También, puede ser que la primera aplicación solamente sirva con el propósito de desplegar los datos existentes en una manera útil. Los datos se seleccionan de la primera aplicación para pegarse en una segunda aplicación. Los datos seleccionados se salvan en una ubicación de memoria, y la información asociada con los datos seleccionados se salva en la ubicación de memoria para proporcionar la información de aplicación de consumo sobre los datos seleccionados. Esta información consiste principalmente de una lista de espacios de nombre. Estos espacios de nombre identifican las diferentes formas que la aplicación de copiado tiene para representar los datos. Un ejemplo sería un documento de hoja de cálculo que tiene datos financieros. Uno de los espacios de nombre provisto puede ser para describir una hoja de cálculo y el otro espacio de nombre provisto es para describir los datos financieros. Un segundo documento se abre a través de la aplicación de consumo y se selecciona una función de pegado en la aplicación de consumo para pegar los datos seleccionados en un segundo documento. La aplicación de consumo lee la información asociada con los datos seleccionados. En respuesta, la aplicación de consumo determina si uno o más espacios de nombre que identifican el tipo de datos asociados con los datos seleccionados son entendidos en forma nativa por la aplicación de consumo. Cuando existen más de un espacios de nombre, la aplicación puede proporcionar al usuario la opción de cuál espacio de nombre y sus recursos asociados utilizar o la aplicación puede seleccionar el espacio de nombre y los recursos asociados que se ajusten mejor con los datos que ya se encuentran en el documento de la aplicación de consumo. La opción presentada puede ser una opción de cuál espacio de nombre utilizar, o puede ser la opción de cuál recurso utilizar para cualquier espacio de nombre determinado. La aplicación de consumo puede obtener uno o más archivos de recursos, como los archivos de transformación XSLT asociados con los espacios de nombre para pegar los datos seleccionados en el segundo documento, cuando la aplicación de consumo no entiende el espacio de nombre. Después de que la aplicación de consumo selecciona uno o más de los espacios de nombre, para pegar los datos seleccionados en el segundo documento, los datos seleccionados se pegan en el segundo documento de conformidad con el método que la aplicación de consumo prefiera. Algunas veces, se puede utilizar un recurso adicional como el archivo de transformación de lenguaje de tipo de hoja extensible (XSLT) para transformar los datos seleccionados en un tipo de datos o en un formato que pueda ser consumido por la segunda aplicación o la aplicación de consumo. De conformidad con un aspecto de la invención, antes de obtener un recurso para uno o más espacios de nombre para pegar los datos seleccionados, se hace una determinación si la lista de espacios de nombre disponible contiene el espacio de nombre deseado de uno o más espacios de nombre entendidos por la aplicación de consumo. Cuando la lista de espacios de nombre disponibles contiene el espacio de nombre deseado de uno o más espacios de nombre entendidos por la aplicación de consumo, se selecciona el espacio de nombre deseado y se proporciona a la aplicación de consumo. Cuando la lista de espacio de nombre disponibles no contiene el espacio de nombre deseado de uno o más espacios de nombre entendidos por la aplicación de consumo, se hace una determinación de si la biblioteca de espacios de nombre contiene un recurso para ayudar a la aplicación de consumo con el entendimiento de uno o más espacios de nombre para ser usado por la aplicación de consumo. Cuando la biblioteca de espacios de nombre contiene el recurso para uno o más espacios de nombre para ser usado por la aplicación de consumo, se selecciona el recurso deseado de la biblioteca de espacios de nombre y se proporciona a la aplicación de consumo para ayudar con el consumo de uno o más espacios de nombre. La información asociada con los datos seleccionados se salva en una ubicación de memoria para proporcionarlos a la aplicación de consumo y puede incluir una indicación de la presencia de uno o más espacios de nombre asociados con los datos seleccionados. Para cada espacio de nombre asociado con los datos seleccionados, la información asociada con los datos seleccionados puede incluir información acerca del espacio de nombre disponible, incluyendo un identificador de versión para el espacio de nombre, un identificador de recurso uniforme para ubicar el espacio de nombre, y un tamaño de archivo para el espacio de nombre. De conformidad con otro aspecto de la invención, se proporciona un método para pegar datos desde una aplicación de copiado a una aplicación de consumo. Un primer elemento de Lenguaje de Marca Extensible (XML) se aplica al inicio de una región de un primer documento. La región se selecciona para copiar desde la aplicación de copiado y para pegar en la aplicación de consumo. Un segundo elemento XML se aplica al final de la región seleccionada. La información se proporciona en un encabezado asociado con la región seleccionada. La información incluye una identificación de los espacios de nombre XML y punteros disponibles para una identificación de formato portapapeles que corresponde a cada uno de los espacios de nombre disponibles. La información es provista en el encabezado de un tamaño de archivo para cada uno de los espacios de nombre disponibles. Uno o más espacios de nombre de los espacios de nombre disponibles se proporciona en un portapapeles para pegar los datos desde la aplicación de copiado. Estas y otras características y ventajas, que caracterizan a la presente invención serán evidentes con la lectura de la siguiente descripción detallada y una revisión de los dibujos anexos. Se debe entender que la anterior descripción general y la siguiente descripción detallada son ejemplificativas y no tienen la intención de limitar la invención.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La Figura 1 es un diagrama en bloque de una computadora y sus dispositivos en red y periféricos asociados, los cuales proporcionan un ambiente operativo ejem plificativo para la presente invención . La Figura 2 es un diagrama en bloque simplificado que ilustra la interacción entre la aplicación de provisión y la aplicación de consumo, en donde los datos se cortan o se copian con el uso de la aplicación de provisión y se pegan con el uso de la aplicación de consumo. La Figura 3 es un diagrama en bloque simplificado que ilustra las interfaces para proporcionar a los usuarios una función de pegado mejorada, de conformidad con una modalidad ejemplificativa de la presente invención. La Figura 4 ilustra una pantalla de despliegue de una computadora de una aplicación de programa que pega y consume datos, cortados o copiados desde una aplicación de provisión. Las Figuras 5 y 6 son diagramas de flujo que ilustran un método para mejorar la función de pegado de una aplicación de consumo de conformidad con una modalidad de la presente invención.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN La siguiente descripción de las modalidades de la presente invención se hacen con referencia a los dibujos antes mencionados, en donde los números de referencia se refieren a partes o componentes similares a través de las diferentes Figuras. La presente invención está dirigida a métodos y sistemas para mejorar la función de pegado disponible en una aplicación de programa de computadora para pegar datos dentro de un documento generado por computadora. Un usuario selecciona datos de una primera aplicación, como una aplicación de hoja de cálculo, para pegarlos en una segunda aplicación, como una aplicación de procesamiento de palabras. El proceso de pegado se puede llevar a cabo en forma de una operación de cortado/copiado y pegado tradicional o puede ser en forma de arrastrar y pegar los datos seleccionados desde un primer documento de aplicación a un segundo documento de aplicación. De conformidad con una modalidad de ia presente invención, la primera o aplicación de provisión escribe los datos seleccionados en una representación de Lenguaje de Marca Extensible (XML) en una ubicación de memoria, como un portapapeles. Los datos seleccionados se escriben en la ubicación de memoria en un formato que incluye los datos seleccionados y la información asociada con uno o más espacios de nombre de datos asociados con los datos seleccionados. Los espacios de nombre disponibles asociados con los datos seleccionados pueden identificar el tipo de formato de datos que puede estar asociado con los datos seleccionados. Por ejemplo, los espacios de nombre disponibles identificados pueden incluir un lenguaje de marca hipertexto (HTML), un documento de reanudación, o un procesador XML de palabras. El espacio de nombre HTML puede identificar los datos que pueden estar estructurados como HTML. El espacio de nombre del documento de reanudación puede identificar a los datos que pueden estar estructurados de conformidad con un archivo de esquema XML de reanudación. El espacio de nombre XML procesador de palabras puede identificar los datos que pueden estar formateados de conformidad con una versión del procesador de palabras de XML. Por supuesto, son solamente ejemplos de muchos tipos de espacios de nombre que pueden estar asociados con los datos seleccionados. Cuando los datos seleccionados se pegan en el segundo documento de aplicación al seleccionar la función de pegado de la segunda aplicación o al desplazar los datos seleccionados dentro del segundo documento de aplicación, la segunda aplicación o aplicación de consumo detecta de la información provista con los datos seleccionados que los datos formateados en XML serán pegados. Con base en la información provista con los datos seleccionados, la aplicación de consumo detecta todos los espacios de nombre disponibles asociados con los datos a ser pegados. Por ejemplo, a partir del ejemplo anterior, la aplicación de consumo puede detectar que los datos seleccionados tienen espacios de nombre asociados para HTML, un documento de reanudación y un procesador XML de palabras. En respuesta, la aplicación de consumo busca una lista de espacios de nombre disponibles para el recurso para ayudar a la aplicación de consumo a pegar los datos seleccionados. Por ejemplo, cuando la aplicación de provisión es una aplicación de hoja de cálculo, la aplicación de consumo puede buscar en la lista de espacios de nombre disponibles por un archivo de transformación de lenguaje de tipo de hoja extensible (XSLT) para transformar los datos formateados en XML de la hoja de cálculo en un formato para el consumo y el uso por la aplicación de consumo. Cuando la aplicación de consumo es un procesador de palabras, la aplicación de consumo puede buscar un archivo de transformación XSLT para transformar los datos de la hoja de cálculo en datos para el consumo por la aplicación de procesamiento de palabras. Por ejemplo, cuando los datos fueron estructurados en la aplicación de hoja de cálculo en un formato compuesto de dos hileras y tres columnas, el archivo de transformación XSLT utilizado por la aplicación de consumo puede transformar los datos para el consumo por la aplicación de procesamiento de palabras, para que los datos se mantengan en un formato de dos hileras y tres columnas. Sin la funcionalidad de la presente invención, los datos se pueden pegar de conformidad con una función de pegado por omisión de la aplicación de consumo y de este modo se pueden pegar si el formateo de la aplicación de consumo. En consecuencia, los datos se pueden pegar en el documento de aplicación de procesador de palabras, de conformidad con el presente ejemplo, como datos primigenios presentados de izquierda a derecha a través del espacio de trabajo del procesador de palabras opuesto a estar formateados en dos hileras y tres columnas. Cuando se identifican múltiples espacios de nombre disponibles para la aplicación de consumo, la aplicación de consumo puede seleccionar el espacio de nombre disponible que sea más probable que proporcione la aplicación de consumo con la función de pegado deseada. También, se puede proporcionar una interfaz del usuario para la aplicación de consumo para permitir al usuario seleccionar entre los archivos de transformación que la aplicación conoce para la lista de espacios de nombre disponibles. Cuando no se encuentran recursos por la aplicación de consumo en la lista de espacios de nombre disponibles, la aplicación de consumo debe ir a la biblioteca de espacios de nombre en busca de un recurso disponible para ayudar a la aplicación de consumo en la transformación de los datos seleccionados antes de pegar los datos en el documento de la aplicación de consumo. Cuando se ubican múltiples recursos en la biblioteca de espacios de nombre, la interfaz del usuario puede ser provista para permitir al usuario seleccionar entre los recursos disponibles. Cuando no se encuentran recursos disponibles en ninguna de las listas de espacios de nombre disponibles o en la biblioteca de espacios de nombre, entonces la aplicación de consumo pega los datos de conformidad con la función por omisión, como se describe antes.
Ambiente Operativo La Figura 1 y la siguiente descripción tienen el propósito de proporcionar una breve descripción general de un ambiente de computación adecuado en el cual se puede implementar la invención. Mientras que la invención será descrita dentro del contexto general de un programa de aplicación que corre en un sistema operativo junto con una computadora personal, las personas experimentadas en la técnica reconocerán que la invención también se puede implementar en combinación con otros módulos de programa. En general, los módulos de programa incluyen rutinas, programas, componentes, estructuras de datos, etc., que llevan a cabo tareas particulares o implementan tipos de datos abstractos. Además, las personas experimentadas en la técnica reconocerán que la invención se puede practicar con otras configuraciones de sistema de computadora, incluyendo dispositivos manuales, sistemas multiprocesadores, electrónicos consumibles programables o con base en microprocesadores, teléfonos celulares, minicomputadoras, computadoras principales y sus semejantes. La invención también se puede implementar en ambientes de computación distribuida en donde las tareas se llevan a cabo por dispositivos remotos de procesamiento que están enlazados a través de una red de comunicaciones. En un ambiente de computación distribuida, los módulos de programa pueden estar ubicados en dispositivos de almacenamiento de memoria remota o local. Con referencia a la Figura 1, se muestra un sistema ejemplif ¡cativo para implementar la invención, el cual incluye una computadora 20 personal, que incluye una unidad 21 de procesamiento, una memoria 22 del sistema, y una barra colectora 23 del sistema que acopla la memoria del sistema con la unidad 21 de procesamiento. La memoria 22 del sistema incluye una memoria de solamente lectura (ROM) 24, y una memoria de acceso aleatorio (RAM) 25. Un sistema de entrada/salida básico 26 (BIOS) que contiene las rutinas básicas que ayudan a la transferencia de información entre los elementos dentro de una computadora 20, como durante el inicio, se almacena en una ROM 24. La computadora 20 personal también incluye una unidad 27 de disco duro una unidad 28 de disco magnético que lee o escribe en un disco 29, y una unidad 30 de disco óptico para leer y escribir en un disco 31 CDROM o para leer o escribir en otro medio óptico. La unidad 27 de disco duro típicamente se conecta con la barra colectora 23 del sistema a través de una interfaz 32 de unidad de disco duro, una interfaz 33 de unidad de disco magnético y una interfaz 34 de unidad óptica, respectivamente. Las unidades y sus medios de almacenamiento de computadora asociados proporcionan un almacenamiento no volátil para la computadora 20 personal. Aunque la descripción de los medios legibles por computadora anterior se refiere a una unidad de disco duro, un disco magnético retirable y un disco CD-ROM, las personas experimentadas en la técnica podrán apreciar que se pueden utilizan otros tipos de medios que son legibles por computadora como cartuchos magnéticos, tarjetas de memoria flash, discos de video digital, cartuchos Bernoulli, y sus semejantes. Un número de módulos de programa se pueden almacenar en las unidades y en la RAM 25, incluyendo un sistema 35 operativo, uno o más programas de aplicación 200, 220, datos de programa, tal como una lista 225 de espacios de nombre disponibles u otros módulos de programa (no mostrados). Un usuario puede introducir instrucciones e información dentro de la computadora 20 a través de un teclado 40, un dispositivo puntero, comúnmente llamado mouse. Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono, una palanca de comandos, un cojín de juegos, un disco satelital, un escáner o su semejante. Estos y otros dispositivos de entrada con frecuencia se conectan con la unidad 21 de procesamiento a través de una interfaz 46 de puerto en serie que se acopla con la barra colectora del sistema, pero se puede conectar mediante otras interfaces, como un puerto de juegos o una barra colectora en serie universal (USB). Un monitor 47 u otro tipo de dispositivo de despliegue también se conecta con la barra colectora 23 del sistema a través de una interfaz, como un adaptador 48 de video. Además del monitor, las computadoras personales también pueden incluir otros dispositivos periféricos de salida (no mostrados) como bocinas e impresoras. La computadora 20 puede operar en un ambiente de redes con el uso de conexiones lógicas a una o más computadoras remotas, como una computadora 49 remota. La computadora 49 remota puede ser un servidor, un enrutador, un dispositivo adjunto o un nodo común de red, e típicamente incluye muchos o todos los elementos descritos antes con relación a la computadora 20 personal. El servidor 49 y la memoria 50 pueden alojar programas de aplicación como la aplicación 220 y el almacenamiento de datos como la biblioteca 230 de espacios de nombre. Las conexiones lógicas ilustradas en la Figura 1 incluyen una red de área local (LAN) 51, y una red de área amplia (WAN) 52. Tales ambientes de redes son comunes en oficinas, redes de computación a nivel mundial, intranets y la Internet. Cuando se utiliza en una ambiente de red LAN, la computadora 20 se conecta con la LAN 51 a través de una interfaz 53 de red. Cuando se utiliza en un ambiente de red WAN, la computadora 20 personal típicamente incluye un módem 54 u otro medio para establecer las comunicaciones sobre la WAN 52, como la Internet. El módem 54 que puede ser interno o externo, puede conectarse con la barra colectora 23 del sistema a través de una interfaz 46 de puerto serial. En un ambiente de red, los módulos de programa ilustrados con relación a la computadora 20 personal, o porciones de la misma se pueden almacenar en el dispositivo de almacenamiento de memoria remota. Se debe apreciar que las conexiones de red mostradas son ejemplificativas y que se pueden utilizar otros medios para establecer un enlace de comunicaciones entre las computadoras.
Operación La Figura 2 es un diagrama en bloque simplificado que ilustra la interacción entre la aplicación de provisión y la aplicación de consumo, en donde los datos se cortan o copian con el uso de la aplicación de provisión y se pegan con el uso de la aplicación de consumo. Como se muestra en la Figura 2, la aplicación 200 de provisión se ilustra desde la cual los datos copiados o cortados se salvan para ser usados por la aplicación 220 de consumo. Una aplicación de provisión puede ser una aplicación de programa desde la cual se cortan o copian los datos para un futuro pegado, incluyendo una aplicación de procesamiento de palabras, una aplicación de hoja de cálculo, una aplicación de presentación de diapositiva, y sus semejantes. Una vez que el usuario selecciona los datos con el uso de la aplicación 200 de provisión, se lleva a cabo una operación 205 de cortado o copiado que puede incluir el corte de los datos seleccionados desde el documento de provisión o puede incluir el copiado de los datos seleccionados desde el documento de provisión. Una vez que los datos seleccionados se cortan o copia, los datos se transfieren a una ubicación 210 de memoria, como un portapapeles 210 ilustrado en la Figura 2. La ubicación 210 de memoria aloja los datos cortados o copiados para un pegado posterior por la aplicación 200 de provisión original o por la aplicación 220 de consumo, según sea seleccionado por el usuario.
De conformidad con una modalidad de la presente invención, el portapapeles 210 es ilustrativo de un recurso de memoria mantenido por los sistemas de operación de ventanas. El portapapeles almacena una copia de los datos que se copian o cortan y la operación posterior de pegado pasa los datos desde el portapapeles 210 al programa de consumo. Como es bien conocido por las personas experimentadas en la técnica, el portapapeles 210 permite que los datos sean transferidos de una aplicación a la otra, como se describe antes, ya que la segunda aplicación o la aplicación 220 de consumo puede leer los datos generados por la aplicación 200 de provisión. Con el fin de asegurar que la aplicación de consumo pueda leer, entender y utilizar los datos cortados o copiados por la aplicación 200 de provisión, típicamente, los datos cortados o copiados por la aplicación de provisión se salvan en el portapapeles 210 en un formato genérico, como un formato de lenguaje de marca hipertexto, para que sea más probable que los datos en un formato se puedan consumir por un número y variedad de diferentes aplicaciones 220 de consumo. Otros tipos de formatos incluyen formato de texto rico, o los datos se pueden salvar como datos sin formato. Todos estos datos son advertidos en el portapapeles cuando la primera aplicación los copia. Entonces, queda a la aplicación de pegado decidir cuál formato disponible solicitar. Una vez que arranca la aplicación 220 de consumo para pegar los datos cortados o copiados de la aplicación 200 de provisión, se selecciona una operación 215 de pegado para pegar los datos cortados o copiados en la ubicación deseada dentro de un documento operado por la aplicación de consumo. Como se deberá entender, la operación 205 de cortado/copiado y la operación 215 de pegado se pueden combinar en forma de una operación de arrastrado y pegado, en donde los datos seleccionados son arrastrados desde el documento de la aplicación de provisión y se pegan dentro de un documento de la aplicación de consumo. Cuando los datos copiados o cortados estaban formateados por ia aplicación de provisión de conformidad con un número de tipos de formatos genéricos, como se describe antes, la aplicación de consumo puede tener la capacidad de pegar los datos copiados o pegados, según sea deseado, pero muchas de las características provistas por los datos por la aplicación de provisión, incluyendo el formateo especial, con frecuencia se pierden. Por ejemplo, cuando el usuario copia o corta datos introducidos en forma tabular en un procesador de una aplicación 200 de provisión de procesador de palabras, y después pega los datos en una aplicación 220 de consumo de hoja de cálculo, ios datos formateados originalmente en forma tabular se pueden insertar en una única celda dentro de la hoja de cálculo, lo cual produce la aplicación de hoja de cálculo sin la capacidad para operar en los datos según sea deseado por el usuario de la aplicación 220 de consumo de la hoja de cálculo. Con la llegada de los lenguajes de marca, como el lenguaje de marca extensible (XML), con frecuencia los documentos preparados por la aplicación 200 de provisión han sido anotados con la estructura de lenguaje de marca con el fin de dar al documento una estructura útil para manejar, presentar y manipular los datos contenidos en el documento. Como es bien conocido por las personas experimentadas en la técnica, las diferentes aplicaciones de programa incluyen diferentes programas "nativos" para leer, entender y utilizar los lenguajes de marca como el XML. Esto es, una aplicación 200 de provisión puede estar programada para proporcionar diferentes o más estructuras y funciones XML comparada con una aplicación 220 de consumo. De conformidad con esto, cuando los datos se cortan o copian de un documento con formato XML, creado por una aplicación 200 de provisión para su consumo por una diferente aplicación 220 de consumo, mucha de la estructura y funciones asociada con el formato XML de los datos cortados o copiados se puede perder cuando la aplicación 220 de consumo pega los datos dentro de un documento creado y operado por la aplicación 220 de consumo. El siguiente es un ejemplo de una estructura XML que se puede aplicar a un artículo escrito por un usuario con una aplicación 200 de provisión de procesador de palabras.
Muestra de Estructura XML <artículo> <título>EXTRA EXTRA</título> <cuerpo> <resumen>Hoy, en Nueva York. <principal>Hoy, en Nueva York. <cuerpo> </artículo> Como se muestra en la estructura muestra XML, un número de elementos XML se ilustran con la anotación de documento "artículo". Por ejemplo, la etiqueta <artículo> se incluye al inicio y al final del documento para definir el documento como un documento "artículo" y una variedad de otros elementos tal como un elemento <título>, y el elemento <cuerpo> se incluyen dentro de la estructura del "artículo". Dentro del elemento del <cuerpo> se incluyen dos elementos menores <resumen> y <principal>, del elemento <cuerpo>. La anotación XML del documento permite al usuario definir las porciones del documento de ciertos tipos de datos y estructuras de datos. Por ejemplo, el usuario puede definir la porción del documento dentro del elemento <título>, para incluir datos del tipo "título" e incluye una estructura permisible pre-escrita para el título. Con el fin de proporcionar el documento con un grupo de reglas tipo de datos y gramaticales que reglamentan los tipos de estructuras de datos que pueden estar incluidos dentro de un documento determinado, como el documento "artículo" ilustrado antes, se anexa un esquema XML o se asocia con el documento para proporcionar las reglas que reglamentan cada uno de los elementos y etiquetas XML con los cuales el usuario puede anotar el documento determinado. Por ejemplo, el documento "artículo" puede tener un esquema anexado o asociado como el "artículo-esquema-xsd." para proporcionar un grupo permisible de elementos XML como el elemento <artículo>, el elemento <título>, el elemento <cuerpo>, y demás. El esquema incluye las reglas que reglamentan el orden en que se pueden aplicar estos elementos en ei documento y las reglas específicas asociadas con esos elementos individuales se pueden aplicar al documento. Por ejemplo, el esquema anexo o asociado con el documento "artículo" puede prescribir esos datos asociados con un elemento determinado, seguido por un elemento mensual, seguido por un elemento anual. Además, el esquema puede requerir que el elemento <fecha> preceda inmediatamente al elemento <título>. Como lo podrán entender las personas experimentadas en la técnica, los desabolladores de esquemas XML determinan los nombres de los elementos XML y los tipos de datos asociados y las estructuras de datos permitidas para esos elementos. Entonces, todos los usuarios de documentos anotados con una estructura XML de conformidad con un esquema determinado pueden utilizar los datos contenidos dentro de la estructura XML sin importar el tipo o la estructura del documento. Por ejemplo, cuando el documento "artículo", antes ¡lustrado se transmita a un publicador del documento, el publicador puede desarrollar aplicaciones de programa para analizar el documento para ubicar los tipos específicos de datos dentro del documento para usarse por el publicador. Por ejemplo, el publicador puede desear solamente publicar el título del artículo como un aviso para una futura publicación del artículo completo. La forma en que se identifica XML es a través del espacio de nombre. El espacio de nombre proporciona una identificación (ID) tal que cualquier consumidor de XML conocerá el tipo de XML que están consumiendo. Al observar el espacio de nombre, la aplicación de consumo conocerá el esquema que fue usado para crear el archivo XML. Con el uso del espacio de nombre especificado en el documento, el publicador conocerá que los datos asociados con el <título> del elemento XML ha sido preparado de acuerdo con el esquema que reglamenta el documento. De conformidad con ello, el publicador puede desarrollar una aplicación de programa o un archivo de transformación XSLT para ubicar al elemento <título> y para extraer los datos asociados con el mismo para su inserción dentro del propio documento del publicador (incluyendo el formateo en alguna forma especial) para usar los datos como un aviso para la futura publicación del artículo completo.
Siguiendo con este ejemplo, varios publicadores diferentes pueden suscribirse con el mismo espacio de nombre para dictar las reglas asociadas con el documento "artículo" para que cada publicador pueda entonces recibir el documento "artículo" desde el autor del documento y utilizar los datos contenidos en el artículo de acuerdo con los elementos XML que estructuran los datos. Esto es, una primera compañía publicadora puede solamente estar interesada en los datos contenidos dentro del elemento <resumen>, mientras que un segundo publicador puede estar interesado en extraer solamente los datos contenidos en el elemento <título>. Cada publicador puede extraer los datos que desea sin importar los otros aspectos o elementos del documento con el uso de sus propias aplicaciones de programa o archivos de transformación XML para ubicar los datos deseados de conformidad con la estructura XML. Esto es posible por el hecho de que cada usuario del documento sigue el tipo de datos y las reglas de la estructura de datos prescrita en el espacio de nombre anexo o asociado con el documento. Cuando la aplicación de consumo encuentre un archivo de transformación para usarse con uno de los espacios de nombre disponibles, entonces los datos seleccionados se convierten por el archivo de transformación XML y los resultados se reciben por la aplicación de consumo como parte de la función de pegado. También, se puede dar el caso en que la aplicación de consumo está advertida de un archivo de transformación, y consume el espacio de nombre disponible y lleva a cabo la transformación en los datos. Por ejemplo, como se describe antes, cuando la aplicación de provisión es una aplicación de hoja de cálculo y los datos seleccionados se formatearon en dos hileras y tres columnas, entonces el archivo de transformación XSLT para transformar los datos de la hoja de cálculo para el consumo por una aplicación de procesador de palabras, por ejemplo, puede permitir que los datos sean transformados para que la aplicación de procesador de palabras pueda pegar los datos como dos listas con tres artículos en cada una, opuesto a los datos primigenios sin formatear o una forma de tabla usada en la hoja de cálculo. Se debe entender, que la primera o la aplicación de provisión del documento se puede marcar de acuerdo con un esquema XML acostumbrado. Por ejemplo, cuando los datos se pueden marcar de acuerdo con un "esquema de precio de acciones". En este caso, cuando los datos seleccionados se copien para pegarse desde una aplicación de hoja de cálculo dentro de una aplicación de procesador de palabras, por ejemplo, el espacio de nombre asociado con el "esquema de precio de acciones" así como el espacio de nombre asociados con la presentación visual de la hoja de cálculo, serán asociados con los datos seleccionados cuando los datos seleccionados se escriban en la memoria para pegarse dentro de la aplicación de procesador de palabras. Luego de reconocer el "esquema de precio de acciones", la aplicación de consumo hace referencia de la lista de recursos disponibles y detecta que cada celda de los datos seleccionados es un símbolo de una acción de una compañía y que para cada compañía, existe una descripción asociada para la compañía. De conformidad con esto, la aplicación de consumo ubicará un recurso, tal como un archivo de transformación XSLT en la lista de espacios de nombre disponibles o en la biblioteca de espacios de nombre para instruir a la aplicación de consumo sobre la forma de pegar los datos marcados. La interfaz del usuario provista al usuario de la aplicación de consumo puede proporcionar la opción para "pegar sinopsis de la compañía". Cuando el usuario seleccione la "pegar sinopsis de la compañía", el archivo de transformación XSLT asociado con esa función de pegado permitirá a la aplicación de consumo pegar los símbolos de acciones de la compañía seleccionados desde la aplicación de provisión junto con la sinopsis de la compañía que se puede importar a través de la función de pegado seleccionada por el usuario desde los espacios de nombre disponibles asociados con los datos seleccionados. Esta solución es mejor que la alternativa de seleccionar un espacio de nombre de una hoja de cálculo y pegar los datos en la misma forma en que se representan en la hoja de cálculo. Como se podrá entender por las personas familiarizadas con el Lenguaje de Marca Extensible, los espacios de nombre XML proporcionan un método para calificar elementos y nombres atributos usados en los documentos XML al asociar esos elementos y los nombres de atributos con los espacios de nombre identificados por las referencias de identif icador uniforme de recursos (URI). Los espacios de nombre XML son colecciones de nombres, identificados por referencias URI, que se utilizan en documentos XML como tipos de elementos y nombres de atributos. Un único documento XML puede contener elementos y atributos que son definidos y se utilizan por múltiples módulos de programa. Por ejemplo, de conformidad con una modalidad de la presente invención, un único documento XML, tal como un documento procesador de palabras, puede contener elementos y atributos definidos y utilizados por el usuario por diferentes módulos de programa. Por ejemplo, un documento procesador de palabras puede tener elementos y atributos definidos y utilizados por un módulo de procesamiento HTML, una aplicación XML de procesador de palabras, un módulo de procesamiento o el documento puede contener elementos y atributos definidos y utilizados por uno o más de los archivos de esquema asociados con el documento procesador de palabras para asociar el documento con un archivo de esquema asociado con un documento de reanudación, un documento legal y sus semejantes. De conformidad con esto, un documento individual, como un documento procesador de palabras ejemplificativo puede tener un espacio de nombre que identifica a los tipos de elementos y nombres de atributos asociados con cada uno de los diferentes módulos de programa que pueden consumir o usar datos desde el documento. Después de los ejemplos antes descritos, el documento procesador de palabras puede contener un espacio de nombre asociado con el módulo de procesamiento HTML, un espacio de nombre asociado con el módulo de procesamiento XML procesador de palabras y un espacio de nombre asociado con los archivos de esquema del documento legal o de reanudación. De conformidad con una modalidad de la presente invención, cuando los datos se seleccionan para pegarse en un segundo documento de aplicación, la información que identifica a los espacios de nombre asociados con los datos seleccionados es provista con los datos seleccionados para informar a la segunda aplicación o aplicación de consumo de los espacios de nombre asociados con los datos seleccionados, de modo que la segunda aplicación o la aplicación de consumo puede operar en los tipos de elementos y/o los atributos asociados con los datos seleccionados de acuerdo con la programación de la segunda aplicación. Por ejemplo, cuando la primera aplicación es una aplicación procesadora de palabras y la segunda aplicación es una aplicación de hoja de cálculo, la aplicación de hoja de cálculo puede utilizar la información identificada por los espacios de nombre asociados con los datos seleccionados para determinar que los datos seleccionados serán pegados en forma óptima en el documento de la segunda aplicación con el uso de un archivo de transformación XSLT asociado con los tipos de elementos y atributos asociados con uno de los espacio de nombre determinado. Por ejemplo, cuando uno de los espacios de nombre determinado identifica los tipos de elementos y los atributos asociados con la manipulación de datos contenidos en los datos seleccionados, pero otros espacios de nombre están asociados con el despliegue de los datos seleccionados, la segunda aplicación, la aplicación de hoja de cálculo de conformidad con este ejemplo, pueden seleccionar el espacio de nombre asociado con la manipulación de datos de los datos seleccionados, opuesto a los espacios de nombre asociados con el despliegue de datos. Después de que la aplicación de consumo detecta los espacios de nombre asociados con los datos seleccionados XML, del documento de la primera aplicación, de conformidad con una modalidad de la presente invención, la aplicación de consumo puede buscar una lista de espacios de nombre disponibles o en una biblioteca de espacios de nombre para encontrar recursos que se puedan utilizar por la aplicación de consumo para la transformación de datos seleccionados para un consumo óptimo de la segunda aplicación o la aplicación de consumo. Por ejemplo, cuando la segunda aplicación es una aplicación de hoja de cálculo que intenta pegar datos seleccionados desde una aplicación procesadora de palabras, la segunda aplicación puede buscar una lista de espacios de nombre disponibles o en una biblioteca de espacios de nombre para obtener el archivo de transformación XSLT que puede usarse por la segunda aplicación para transformar los datos XML del procesador de palabras dentro de los datos XML de la hoja de cálculo para un consumo óptimo por la aplicación de hoja de cálculo. Como lo podrán entender las personas experimentadas en la técnica, el lenguaje de tipo de hoja extensible (XSL) incluye y el vocabulario XML para especificar el formateo de datos. XSL especifica el tipo de un documento XML con el uso de archivos de información XSL para describir la forma en que un documento se transforma de un documento XML en otro documento XML u otro tipo de documento como un documento HTML. Con referencia aún a la Figura 2, los espacios de nombre se pueden anexar al documento preparado por la aplicación de provisión, o el espacio de nombre se puede mantener en una ubicación separada, tal como una biblioteca 230 de espacio de nombre accesible para el documento. El documento puede contener un puntero de trayecto de archivo o un identif icador único de espacio de nombre (por ejemplo, un identificador uniforme de recursos o un nombre uniforme de recursos) para ubicar y/o identificar el espacio de nombre. Para una descripción detallada de una biblioteca 230 de espacios de nombre, se puede consultar la solicitud de Patente de Estados Unidos No. 10/184,190, presentada el 27 de junio de 2002, la cual se incorpora aquí como referencia en su totalidad. Para una descripción detallada del método para descargar un espacio de nombre desde la biblioteca 230 de espacios de nombre para ser usado por la aplicación 200 de provisión o la aplicación 220 de consumo, consultar la solicitud de Patente de Estados Unidos, titulada "Mecanismo para descargar componentes de programa desde una fuente remota para usarse por una aplicación de programa local", No. de serie 10/164,260, presentada el 5 de junio de 2002, la cual se incorpora aquí como referencia en su totalidad. Una vez que el usuario descarga u obtiene de alguna otra forma el espacio de nombre y su información relacionada para usarlo con documentos creados por el usuario, el espacio de nombre puede ser cargado dentro de una lista de espacios de nombre disponibles que consiste de los espacios de nombre y sus recursos, así como otros espacios de nombre que ya están instalados. La lista 225 mantenida en la computadora 20 del usuario o a la cual el usuario tiene acceso desde una ubicación de almacenamiento remoto, como un servidor 49 operado a través de una red de computación distribuida. La lista de espacios de nombre disponibles puede incluir espacios de nombre asociados con los datos contenidos en el documento de la aplicación de provisión y los espacios de nombre pueden incluir información que permite a la aplicación de consumo ubicar y obtener los recursos, como una transformación XSLT para ayudar a la aplicación de consumo con la transformación de los datos seleccionados para su consumo por la aplicación de consumo. Supongamos que un usuario corta o copia datos preparados en forma tabular con el uso de una aplicación 200 de provisión procesadora de palabras. Antes de cortar o copiar los datos, los datos se estructuran con las anotaciones X L de conformidad con la programación XML nativa de la aplicación 200 de provisión. Cuando se provoca que la aplicación 220 de consumo, a través de su operación 215 de pegado, pegue los datos copiados o cortados desde el portapapeles 210, la aplicación 220 de consumo puede llamar a la lista 225 de espacios de nombre disponibles para ver si se encuentra disponible un espacio de nombre o un archivo de transformación XSLT adecuado para uno de los espacios de nombre para mejorar la programación XML nativa de la aplicación 220 de consumo, para que la aplicación 220 de consumo pueda pegar los datos cortados o copiados desde ia aplicación 200 de provisión procesadora de palabras con el mismo formato (por ejemplo, el formato tabular), como se aplicó a los datos con el uso de la aplicación 200 de provisión. Por ejemplo, un archivo de recurso (en este caso, la transformación XSLT) como un "procesadordepalabras-a-hojadecálculo-esquema.xsl" se puede encontrar en la lista 225 disponible para usarse por la aplicación de consumo para transformar desde el espacio de nombre del procesador de palabras disponible en un espacio de nombre de hoja de cálculo comprensible. De conformidad con esto, cuando la aplicación de consumo obtiene una transformación XSLT adicional, la programación XML nativa de la aplicación de consumo se mejora para permitir que la aplicación de consumo (por ejemplo, una aplicación de hoja de cálculo) para ahora utilizar los datos recibidos desde la aplicación de provisión de conformidad con la transformación del espacio de nombre obtenida en la lista de espacios de nombre disponibles. Esto es, al obtener el espacio de nombre XML desde la lista de espacios de nombre disponibles, la aplicación de consumo recibe las reglas de datos y gramaticales XML requeridas para tratar a los datos recibidos desde la aplicación de provisión en la misma forma en que se crearon los datos y se trataron por la aplicación de provisión. De conformidad con algunas modalidades de la presente invención, cuando los datos se estructuran con el uso de una aplicación de provisión de conformidad con un espacio de nombre XML determinado, el usuario puede, a través de la aplicación de consumo pegar los datos cortados o copiados dentro de la aplicación de consumo de acuerdo con un archivo de transformación XSLT de tercera parte. Por ejemplo, cuando el usuario de una aplicación 220 de consumo recibe datos cortados desde el documento "artículo" antes descrito, el usuario de la aplicación 220 de consumo puede llamar los recursos de la lista de espacios de nombre disponibles para determinar si los archivos de transformación asociados con una variedad de publicadores están disponibles para estructurar el documento en la aplicación de consumo de acuerdo con los requerimientos de un pubiicador particular. El usuario de una aplicación de consumo puede entonces Mamar a los recursos de la lista 225 de espacios de nombre disponibles para un archivo de transformación que permitirá a la aplicación 220 de consumo utilizar los datos de acuerdo con un espacio de nombre deseado. Cuando el espacio de nombre no está presente en la lista de espacios de nombre disponibles 225, el usuario puede llamar a la biblioteca 230 de espacios de nombre remota o local para ubicar los recursos adicionales para los espacios de nombre provistos para el uso por la aplicación de consumo para usar los datos obtenidos desde la aplicación 200 de provisión. La Figura 3 es un diagrama . en bloque simplificado que ilustra las interfaces del usuario para proporcionar a los usuarios con una función de pegado mejorada, de conformidad con una modalidad ejemplificativa de la presente invención. Una vez que el usuario de la aplicación 220 de consumo selecciona la operación 215 de pegado de la aplicación 220 de consumo, se pueden proporcionar al usuario una variedad de opciones de pegado. Por ejemplo, el usuario puede seleccionar una simple operación de pegado que pegará los datos cortados o copiados desde la aplicación de provisión dentro del documento a ser usado en la aplicación de consumo, de conformidad con un formato por omisión, como un formato HTML. Cuando el usuario desea una función de pegado mejorada de conformidad con las modalidades de la presente invención, el usuario puede seleccionar una función de pegado alternativa, tal como una función especial de pegado ilustrada en la Figura 3. La interfaz 310 del usuario para pegado especial ilustra una lista de opciones de pegado disponibles para el usuario. Por ejemplo, el usuario puede seleccionar que los datos sean pegados en un formato rico en texto (RTF), o el usuario puede seleccionar que el documento se pegue de acuerdo con un formato 320 HTML. Como se ilustra en la interfaz 310 del usuario, el usuario también puede seleccionar que los datos sean pegados de acuerdo con un formato 325 XML sin la función mejorada de la presente invención. Esto es, los datos cortados o copiados se pegan por la aplicación 220 de consumo de acuerdo con la programación XML que es nativa para la aplicación 220 de consumo. Cuando el usuario desea pegar datos de conformidad con alguna función mejorada, como se describe aquí, el usuario puede seleccionar el "otro" botón 330 de la interfaz 310 del usuario para iniciar una interfaz 350 del usuario del esquema disponible. Con la interfaz 350 del usuario de esquema disponible, el usuario puede seleccionar la lista 355 disponible para revisar los espacios de nombre y los archivos XSLT asociados que están disponibles en la lista 225 de espacios de nombre disponibles, como se describe antes con referencia a la Figura 2. De conformidad con esto, la selección de un archivo de transformación determinado proporciona a la aplicación de consumo en uso por el usuario la función mejorada del archivo XSLT seleccionada para operar en los datos cortados o copiados desde la aplicación de provisión conforme los datos han sido utilizados o formateados por la aplicación de provisión. Cuando la lista de espacios de nombre disponibles no tenga espacios de nombre disponibles o los recursos deseados, la aplicación también puede iniciar la característica 370 de biblioteca de espacios de nombre con el fin de proporcionar una lista más larga de vistas de datos disponibles que se pueden obtener desde la biblioteca 230 de espacios de nombre local o remota, como se describe antes con referencia a la Figura 2. Cuando el usuario selecciona una vista disponible de la biblioteca 230 de espacios de nombre a través de la interfaz 370 del usuario, la interfaz 310 del usuario de pegado especial se presenta al usuario con una lista actualizada de las funciones de pegado disponibles, la cual incluye la función de pegado activada por el espacio de nombre seleccionado. Como se podrá entender, una vista en un caso puede ser una combinación de espacios de nombre y sus transformaciones XSLT. La transformación XSLT transformará el espacio de nombre disponible en un espacio de nombre comprensible en forma nativa por la aplicación de consumo. Los diferentes espacios de nombre usualmente representan diferentes tipos de datos, y las diferentes XSLT representan diferentes vistas de los diferente tipos de datos. Como se muestra en la Figura 3, la selección del "publicador A", la XSLT 380 desde la ¡nterfaz 370 del usuario de la biblioteca de espacios de nombre provoca que la interfaz 310 del usuario de pegado especial quede poblada con una función 390 de pegado del "publicador A". De conformidad con esto, el usuario entonces selecciona la función 390 de pegado del "publicador A" para permitir a la aplicación 220 de consumo pegar los datos recibidos desde la aplicación 200 de provisión de acuerdo con el archivo XSLT provisto por el publicador A. La transformación se identifica asociada con la conversión del espacio de nombre "publicador A" en un espacio de nombre que la aplicación de consumo pueda entender. Las personas experimentadas en la técnica entenderán que los archivos XSLT particulares aquí descritos, con referencia a las Figuras 2 y 3, tienen propósitos ejemplif ¡cativos únicamente como los diferentes archivos XSLT o cualquier método para convertir o interpretar un espacio de nombre en particular para que quede disponible para la aplicación 220 de consumo para proporcionar ia función de pegado mejorada para los datos cortados o copiados recibidos desde la aplicación 200 de provisión.
La Figura 4 ilustra un despliegue de pantalla de computadora de una aplicación de programa que pega y consume datos cortados o copiados desde una aplicación de provisión. La pantalla 400 muestra una aplicación procesadora de palabras ejemplificativa en donde el usuario prepara un documento 410. De conformidad con una modalidad de la presente invención, el usuario tiene datos pegados dentro de una tabla que fue copiada de una hoja de cálculo proporcionada por la aplicación de provisión 200. Durante la operación de pegado, para pegar los datos dentro del documento 410, se presenta al usuario una caja 420 de diálogo, la cual muestra al usuario tres diferentes formatos de datos que incluyen el formato 425 de "historia de ocho meses", el formato 430 de "resumen financiero proyectado" y el formato 435 de "depresión en la industria". Como se puede entender, la caja 420 de diálogo es una caja de diálogo alternativa para la caja 310 de diálogo ¡lustrada en la Figura 3. De conformidad con los datos ejemplificativos mostrados en la Figura 4, el usuario ha seleccionado el formato 425 de "historia de ocho meses", que es una vista de uno de los espacios de nombre en la lista 225 de espacios de nombre disponibles para provocar que los datos recibidos desde la aplicación de provisión (por ejemplo, la aplicación de hoja de cálculo) sean formateados en el documento 410 de acuerdo con un archivo XSLT que dicta la estructura XML para una "Historia de Ocho Meses". Como se puede entender, el recurso de transformación como un "ochomeseshistoria-esquema-xsl." puede estar disponible en la lista de espacios de nombre disponibles o en la biblioteca 225 de espacios de nombre que permite a la aplicación de consumo dar soporte a una estructura XML para proporcionar el formateo de la "Tabla 1", ilustrado en la Figura 4. Cuando el usuario ha seleccionado cortar y copiar información relacionada con el formato 435 de "Depresión en la Industria", para que los datos copiados o cortados desde la aplicación de provisión sean formateados en la aplicación de consumo de acuerdo con el formato bajo el cual se estructuraron los datos por la aplicación de provisión. De conformidad con una modalidad de la presente invención, cuando los datos se cortan o copian en un formato XML y se salvan en el portapapeles 210 para un pegado posterior por la aplicación 220 de consumo, se pueden utilizar tres o más formatos para ayudar a la aplicación de consumo a determinar la forma de procesar los datos cortados o copiados de acuerdo con la funcionalidad de la presente invención. Los tres formatos incluyen el CF_XML_ENCABEZADO, CF_XML_VISTA y CF_XML_DATOS. Como se describe antes, muchas aplicaciones incluyendo la aplicación 200 de provisión y la aplicación 220 de consumo dan soporte a la estructura de marca XML y a los archivos creados por esas aplicaciones. Sin embargo, como se describe anteriormente, con frecuencia el soporte XML de una aplicación es incompatible con el soporte XML de otra aplicación, y en consecuencia, el formateo y otras características relacionadas con XML se pierden cuando los datos de una aplicación se copian en archivos de una aplicación de consumo. Además, como se describe antes, los esquemas XML también existen provistos por terceras partes para ser usados por una variedad de aplicaciones, pero que no están soportadas por la programación X L nativa de la aplicación. El formato CF_XML_EN CABEZA DO ("ENCABEZADO") contiene información del espacio de nombre que la aplicación de copiado tiene disponible. El CF_XML_EN CABEZA DO es el lugar en donde todas las aplicaciones pueden buscar para decidir si existe uno o más espacios de nombre disponibles para el consumo. El ENCABEZADO también identifica el lugar en donde se pueden encontrar los diferentes espacios de nombre, para que la aplicación de pegado, luego de decidir los espacios de nombre que desea consumir, pueda llamar de regreso para obtener los datos deseado. En su lugar, el ENCABEZADO puede identificar al formato CF_XML_DATA como el espacio de nombre deseado que lo contiene. La información es útil para la aplicación de consumo, ya que la aplicación de consumo puede tener la capacidad de determinar los formatos que le gustaría consumir. Esto puede ayudar a la resolución de problemas, ya que la aplicación de copiado no necesita proporcionar todos los datos en diferentes formatos hasta que se soliciten esos formatos específicos. Para el resto de esta descripción, se supone que quedan dos formatos disponibles. El primer formato portapapeles es CF_XML_VISTA que tiene uno o más espacios de nombre y usualmente es más que una marca de formato menor que una marca de datos (tal como una "hojadecálculoML" o "documentoML"). El segundo portapapeles de formato es CF_XML_DATOS que contiene uno o más espacios de nombre que no definen el formato o la vista, pero en su lugar, definen los datos subyacientes. Estos dos formatos se pueden ver fácilmente en acción con el uso de un ejemplo que involucra un programa de hoja de cálculo. Cuando el programa de hoja de cálculo da soporte a las estructuras XML, entonces se puede pensar que un espacio de nombre que define datos financieros puede aplicarse a esta hoja de cálculo para identificar las diferentes celdas y la forma en que se relacionan con los datos financieros. Cuando la aplicación de hoja de cálculo lleva a cabo una operación de copiado, tendrá dos formas de presentar los datos. La primera forma es presentarlos tal como aparecen en la hoja de cálculo, y se puede utilizar el lenguaje de marca de hoja de cálculo. El lenguaje de marca de hoja de cálculo define los objetos generales vistos en una hoja de cálculo, tal como el formato, la presentación, etc. Estos datos se colocarán en el formato de portapapeles CF_XM L_VISTA, ya que es el mejor para definir la forma en que se "ven" los datos. Esto puede ser útil para una persona que quiere pegar los datos cuando le preocupa más la forma en que se ven y su presentación que en realidad el significado de los mismos. La segunda forma para presentar los datos en el portapapeles es con el uso de un espacio de nombre de los datos financieros. Este espacio de nombre no tiene información que involucra la apariencia o presentación de los datos, más bien, describe el significado de los datos en sí. Estos datos se pueden colocar en el formato de portapapeles CF_XML_DATOS. La aplicación de consumo no necesitará decidir la forma de presentar los datos, ya que la información de presentación no está disponible. En el caso de pegar dentro de una aplicación procesadora de palabras, por ejemplo, este puede ser un formato más conveniente. La razón de esto es que la forma en que se ven los datos financieros cuando están en una hoja de cálculo puede ser completamente diferente de la forma en que aparecen en una aplicación procesadora de palabras. La aplicación procesadora de palabras necesitará buscar el espacio de nombre de datos financieros y después encontrar información de vistas, como una transformación XSLT para ayudar a desplegar los datos en la forma adecuada. Al dividir los diferentes espacios de nombre en diferentes formatos de portapapeles, es mucho más eficiente, ya que la aplicación de consumo no necesita a los formatos "VISTA" o "DATOS" desde la aplicación de provisión. Esto es, con base en la función de pegado seleccionada por el usuario, la aplicación de consumo determina que no necesita la información contenida en cualquiera de los formatos "VISTA" o "DATOS", la aplicación de consumo no cargará datos de estos formatos para usarlos con la aplicación de consumo. Cuando la aplicación de consumo es el mismo tipo de aplicación (por ejemplo, una aplicación procesadora de palabras), como la aplicación de provisión, la aplicación de consumo puede no requerir una función adicional de pegado para llevar a cabo la operación de pegado seleccionada por el usuario. El formato de CF_XML_ENCABEZADO contiene información de la versión y del espacio de nombre para ambos, los formatos "VISTA" y "DATOS". El formato de encabezado también incluye información del tamaño de cada uno de los archivos de formato "DATOS" y "VISTA". Un ejemplo de un formato CF_XML_ENCABEZADO asociado con un fragmento de datos copiado desde un archivo de procesamiento marcado con un esquema XML de "Buscatrabajo.com" de una tercera parte como sigue: <cfh:encabezado cfh:Versión = "1.0"xmlns:cfh = " urn:esquemas-micro soft-com:oficina:portapapeles:encabezado"> <cfh: datos cfh:bytes = "0000001343"> <cfh:artículo cfh:nombre = "D1 " cf h: bytes="0000001343"> <cfh:URI cfh:valor="urn:esquemas-buscatrabajo-com:reanudar" cfh:raíz = "si'7> </cfh:artículo> </cfh:datos> <cfh: vista cf h : bytes="0000003612"> <cfh:artículo cfh: nombre = "V1 " cfh:bytes = "00000003612"> <cfh:URI cfh:valor="urn:esquemas-microsoft-com :oficina:palabra.1.0" cf h: raíz = "si"/> <cfh:URI cfh:valor="urn:esquemas-microsoft-com:esquemaBiblioteca'7> <cfh:URI cfh: va lor="urn: esquemas-micros oft-com:AML"/> </cfh:artículo> </cf h . vista> </cfh:encabezado> El formato de datos CF_XML_VI STA ("VISTA") proporciona información para la aplicación de consumo con relación a la programación XML nativa de la aplicación de provisión. Al leer los datos contenidos en el formato "VISTA", la aplicación de consumo puede determinar si tiene la capacidad de conformidad con su propia programación XML nativa de utilizar por completo la programación XML nativa de la aplicación de provisión sin la necesidad de obtener archivos de transformación XSLT adicionales durante la operación de pegado. El siguiente es un ejemplo de un formato de encabezado CF_XML_VISTA que se puede asociar con datos cortados o copiados desde una aplicación de provisión. <cb:vista xmlns:cb = "urn:esquemas-microsoft-com-ofici na : porta pa peles :vista">< ! — elemento raíz para el portapapeles-^ <cb: artículo cb:nombre = "V0" cb:URI = "i-a URI del esquema raíz"> Nota: De conformidad con una modalidad, puede haber datos aquí, debido a que estos datos están antes de la etiqueta de cb:inicio, la aplicación de consumo conoce que estos datos no son parte de lo que se copió, pero pueden proporcionar información interesante de la naturaleza de la fuente completa. <cb:inicio><!-Una única etiqueta a ser colocada en línea que significa el inicio del fragmento-^ Nota: De conformidad con una modalidad, puede haber datos aquí.
Debido a que después de cb:etiqueta inicio, la aplicación de consumo conoce que estos datos son parte de lo que se copió. <cb:fin/><! — Una única etiqueta a ser colocada en línea que significa el fin del fragmento-^. Nota: De conformidad con una modalidad, puede haber datos aquí. Debido a que estos están después de cb:etiqueta fin, la aplicación de consumo conoce que estos datos no son parte de lo que se copió, pero aun así puede proporcionar información interesante de la naturaleza de la fuente completa. </cb:artículo> <! — es posible colocar más de uno cuando la aplicación decide hacerlo-> <cb:artículo cb:nombre = "V1 " cb:URl = "Ía URI del esquema raíz"> <cb:inicio/><! — Una única etiqueta a ser colocada en línea significa el inicio del fragmento-^ <cb:fin/><! — Una única etiqueta a ser colocada en línea significa el fin del fragmento-^ </cb:artículo> </cb:vista> El formato CF_XML_DATOS ("DATOS") proporciona información para la aplicación de consumo acerca de los espacios de nombre asociados con los datos cortados o copiados desde la aplicación de provisión, en donde los espacios de nombre no son parte de la programación XML nativa de la aplicación de provisión. Por ejemplo, el encabezado "DATOS" puede proporcionar información de la aplicación de copiado concerniente a los espacios de nombre XML asociados con un esquema creado por el usuario de la aplicación de provisión, o la información se puede proporcionar con respecto al espacio de nombre XML asociado con un esquema de una tercera parte, como un publicador o un esquema de una compañía de mercados de acciones para usarse en los datos de estructuración para su consumo o presentación por los usuarios, como se describe antes. El siguiente es un ejemplo de un formato CF_XML_DATOS que se puede recibir por la aplicación de consumo para proporcionar la aplicación de consumo con información concerniente a los espacios de nombre XML no nativos asociados con los datos cortados o copiados por la aplicación de provisión. <cb:datos xmlns:cb = "urn:esquemas-microsoft-com :oficina:portapapeles:datos"> <! — Elemento raíz para el porta pape les -> <cb:artículo cb:nombre = "D0" cb:URI = "la URI del esquema raíz"> Nota: Puede haber datos aquí, debido a que estos datos están antes de la etiqueta cb:inicio, la aplicación de consumo conoce que estos datos no son parte de lo que se copió, pero aun así pueden proporcionar información interesante sobre la naturaleza de la fuente completa. <cb:inicio/> <!-Una única etiqueta a ser colocada en línea significa el inicio del fragmento-^.
Nota: Puede haber datos aquí, debido a que están después de la etiqueta cb:inicio, la aplicación de consumo conoce que estos datos son parte de lo que se copió. <cb:fin/> <!-Una única etiqueta a ser colocada en línea significa el fin del fragmento-^. Nota. Puede haber datos aquí, debido a que estos datos están después de la etiqueta cb:fin, la aplicación de consumo conoce que estos datos no son parte de lo que se copió, pero aun así pueden proporcionar información interesante sobre la naturaleza de la fuente completa. <cb/artículo> <!— Es posible colocar más de uno cuando la aplicación decide hacerlo:-^ <cb:artículo: cb:nombre = "D1" cb:URI = "La URI del esquema raíz"> <cb:inicio/< <! — Una única etiqueta a ser colocada en línea que significa el fin del fragmento-^ </cb: artículo> </cb:datos> Las Figuras 5 y 6 son diagramas de flujo que ilustran el método para mejorar la función de pegado de una aplicación de consumo de conformidad con una modalidad de la presente invención. El método 500 inicia como el paso 505 de inicio y avanza al paso 510, en donde los datos desde una aplicación de provisión se cortan o copian y se salvan en un portapapeles 210 para un pegado posterior por una aplicación 220 de consumo. En el paso 515, un usuario selecciona pegar desde la aplicación 220 de consumo para pegar los datos cortados o copiados dentro de un documento en uso con la aplicación de consumo. En el paso 520, la aplicación de consumo determina si el formato CF_X L_ENCABEZADO está asociado con los datos cortados o copiados. Cuando no se encuentra disponible el formato CF_X L_ENCABEZADO, el método avanza al paso 575, la Figura 6, y los datos se pegan sin ninguna función adicional de pegado. Se debe entender, que cuando están disponibles los esquemas y/o estructuras de datos XML para la aplicación de consumo, esa información es provista a la aplicación de consumo a través del formato CF_XML_ENCABEZADO. Cuando el formato "ENCABEZADO" es provisto en el paso 520, el método avanza al paso 525 y se hace una determinación de si los datos incluyen un formato CF_XML_VISTA. Cuando es así, el método avanza al paso 530 y la aplicación de consumo crea una lista de los espacios de nombre disponibles especificados en el encabezado como disponibles para pegar los datos cortados o copiados. Por ejemplo, cuando la aplicación de provisión es una aplicación de hoja de cálculo, la aplicación de consumo puede necesitar llamar a la biblioteca de espacios de nombre para un archivo de transformación disponible u otro recurso para ayudar a la aplicación de consumo (por ejemplo, un procesador de palabras) en pegar los datos cortados o copiados de conformidad con la función XML de la aplicación de provisión. La razón de llamar a la biblioteca de espacios de nombre es que la aplicación de consumo no necesita entender el espacio de nombre disponible, y necesita encontrar información adicional de la forma de manejarla. Cuando no están disponibles los espacios de nombre XML en la lista de espacios de nombre, el método avanza al paso 550 y la aplicación de consumo revisa la biblioteca 230 de espacios de nombre por recursos adicionales que pueden ayudar en el pegado de los datos cortados o copiados recibidos desde la aplicación de provisión. Cuando en el paso 535, se proporcione un formato CF_XML_DATOS, el método avanza al paso 540 y la aplicación de consumo llama a la lista de espacios de nombre disponibles para obtener los archivos de transformación y/u otros recursos asociados con los espacios de nombre creados en la aplicación de provisión o recibidos de una fuente de tercera parte externa a la aplicación de provisión, como se describe antes. Se debe entender, que al llamar a la lista de espacios de nombre disponibles como se describe con referencia a los pasos 530 y 540, se puede llevar a cabo al proporcionar una interfaz del usuario, como se describe antes con referencia a la Figura 3. En el paso 545, la Figura 6 se hace una determinación si la aplicación de consumo entiende los espacios de nombre y los archivos de transformación asociados identificados para los datos cortados o copiados desde la aplicación de provisión. Por ejemplo, cuando la aplicación de consumo en una aplicación procesadora de palabras, la aplicación de consumo puede no requerir recursos adicionales en la forma de archivos de transformación con el fin de proporcionar el formato X L asociado con los datos cortados o copiados. Cuando es así, el método avanza al paso 575, y los datos cortados o copiados se pegan por la aplicación de consumo sin la mejora en la función de pegado. Cuando la aplicación de consumo no entiende los espacios de nombre y los recursos asociados con los datos seleccionados, o cuando no se encuentran disponibles espacios de nombre o recursos para la aplicación de consumo, el método avanza al paso 550 y la biblioteca 230 de espacios de nombre queda disponible para el usuario para seleccionar espacios de nombre y recursos adicionales asociados con los datos contenidos en el formato CF_XML_DATOS recibido desde la aplicación de provisión. Cuando el formato "DATOS" recibido desde la aplicación de provisión identifica un espacio de nombre de tercera parte asociado con los datos cortados o copiados, como el archivo XSLT de un publicador determinado, un archivo XSLT requerido por la aplicación de consumo para pegar los datos de conformidad con el espacio de nombre identificado se puede obtener para la aplicación de consumo desde la biblioteca 230 de espacios de nombre. En el paso 555, se hace una determinación de si los archivos de transformación disponibles se seleccionan por el usuario para ser usados por la aplicación de consumo. Cuando no es así, el método avanza al paso 560 y las funciones de pegado de la interfaz 310 del usuario se pueblan con funciones por omisión, como se ¡lustra en la Figura 3. Cuando se localizan recursos, tales como los archivos de transformación XSLT, en cualquiera de la lista de espacios de nombre disponibles o en la biblioteca de espacios de nombre, el método avanza al paso 565 y la interfaz 310 del usuario de pegado se puebla con funciones adicionales seleccionadas por el usuario, como se describe con referencia a la Figura 3. En el paso 570, se hace una determinación acerca de si el usuario selecciona una función de pegado genérica por omisión o si el usuario selecciona una función especial de pegado. Cuando el usuario desea una función especial de pegado, el método avanza al paso 580 y el usuario selecciona la función especial de pegado. El método avanza al paso 575, en donde los datos se pegan de conformidad con una función de pegado seleccionada por el usuario. Cuando en el paso 570, el usuario no desea seleccionar una función especial de pegado, el método avanza al paso 575 y los datos se pegan sin una función mejorada de pegado, según lo seleccionó el usuario. El método termina en el paso 595. Como se describe aquí, se proporcionan métodos y sistemas para mejorar la función de pegado disponible para una aplicación de programa de computadora para pegar datos dentro de un documento generado por computadora. Para las personas experimentadas en la técnica será evidente que se pueden llevar a cabo varias modificaciones y variaciones en la presente invención sin apartarse del alcance o espíritu de la invención. Otras modalidades de la invención serán evidentes para las personas experimentadas en la técnica considerando la especificación y práctica de la invención

Claims (41)

REIVINDICACIONES
1. Un método para mejorar la función de pegado de una aplicación de programa de computadora, caracterizado porque comprende: abrir un primer documento a través de la aplicación de provisión; seleccionar datos del primer documento para ser pegados en un segundo documento a través de la aplicación de consumo; salvar los datos seleccionados en una ubicación de memoria; salvar los datos asociados con los datos seleccionados en la ubicación de memoria para proporcionar la información de la aplicación de consumo acerca de los datos seleccionados; cuando los datos asociados con los datos seleccionados identifican un primer espacio de nombre asociado con los datos seleccionados que identifican a uno o más tipos asociados con los datos seleccionados, proporcionar el primer espacio de nombre en la aplicación de consumo; seleccionar uno de uno o más tipos de datos para pegar los datos seleccionados en el segundo documento; y obtener un recurso asociado con el tipo de datos seleccionados para preparar los datos para ser pegados en el segundo documento por la aplicación de consumo.
2. El método de conformidad con la reivindicación 1, caracterizado porque antes del paso de obtener un recurso asociado con el tipo de datos seleccionados para preparar los datos para pegarse en el segundo documento por la aplicación de consumo, analizar la lista de espacios de nombre disponibles para los recursos asociados con los datos seleccionados, y cuando la lista de espacios de nombre disponibles identifique el recurso asociado con los datos seleccionados, proporcionar el recurso a la aplicación de consumo.
3. El método de conformidad con la reivindicación 2, caracterizado porque cuando la lista de espacios de nombre disponible no identifica el recurso asociado con los datos seleccionados, analizar la biblioteca de espacios de nombre por el recurso asociado con los datos seleccionados; y cuando la biblioteca de espacios de nombre identifica el recurso asociado con los datos seleccionados, proporcionar el recurso a la aplicación de consumo.
4. El método de conformidad con la reivindicación 3, caracterizado porque cuando una pluralidad de espacios de nombre se identifica por los datos asociados con los datos seleccionados, obtener un segundo recurso asociado con una pluralidad de espacios de nombre para preparar los datos para pegarlos en el segundo documento por la aplicación de consumo.
5. El método de conformidad con la reivindicación 4, caracterizado porque además comprende proporcionar al usuario una opción seleccionado entre pegar los datos seleccionados en el segundo documento de conformidad con un primer recurso y pegar los datos seleccionados en el segundo documento de conformidad con el segundo recurso.
6. El método de conformidad con la reivindicación 4, caracterizado porque además comprende proporcionar al usuario una opción seleccionable para pegar los datos seleccionados en el segundo documento de conformidad con uno o más recursos seleccionados de uno de una pluralidad de espacios de nombre disponibles, en donde cada uno de la pluralidad de espacios de nombre disponibles está asociado con uno o más recursos.
7. El método de conformidad con la reivindicación 5, caracterizado porque salvar los datos seleccionados en una ubicación de memoria incluye salvar los datos seleccionados en un formato de Lenguaje de Marca Extensible (XML).
8. El método de conformidad con la reivindicación 7, caracterizado porque el primer y segundo recursos incluyen transformaciones de lenguaje de estilo de hoja extensible (XSLT) para transformar los datos seleccionados de un primer tipo de datos asociado con un primer documento en un segundo tipo de datos para pegar los datos seleccionados en el segundo documento.
9. El método de conformidad con la reivindicación 8, caracterizado porque cuando no se asocia un recurso con el tipo de datos seleccionados para preparar los datos para pegarlos en el segundo documento por la aplicación de consumo, pegar los datos seleccionados en el segundo documento sin la función mejorada de pegado.
10. El método de conformidad con la reivindicación 9, caracterizado porque salvar los datos asociados con los datos seleccionados en la ubicación de memoria incluye salvar los datos en la ubicación de memoria en un formato CF_XML_ENCABEZADO.
11. El método de conformidad con la reivindicación 10, caracterizado porque cuando se identifica el primer espacio de nombre como asociado con el primer documento, entonces proporcionar los datos seleccionados con la información de los datos seleccionados para permitir que la aplicación de consumo localice el primer espacio de nombre en la lista de espacios de nombre disponibles o en la biblioteca de espacio de nombre.
12. El método de conformidad con la reivindicación 11, caracterizado porque proporcionar los datos seleccionados con la información de los datos seleccionados para permitir que la aplicación de consumo ubique un primer espacio de nombre en la lista de espacio de nombre disponible o biblioteca de espacio de nombre incluye proporcionar un identif icador de versión para el primer espacio de nombre, proporcionar un identif icador de recursos uniforme para el primer espacio de nombre, y proporcionar un tamaño de archivo para el primer espacio de nombre.
13. El método de conformidad con la reivindicación 12, caracterizado porque cuando la pluralidad de espacios de nombre se identifica como asociada con el primer documento, entonces proporcionar los datos asociados con la información de datos seleccionados para permitir a la aplicación de consumo ubicar la pluralidad de espacios de nombre en la lista de espacios de nombre disponibles o en la biblioteca de espacios de nombre.
14. El método de conformidad con la reivindicación 13, caracterizado porque proporcionar los datos asociados con la información de los datos seleccionados para permitir a la aplicación de consumo ubicar la pluralidad de espacios de nombre en la lista de espacios de nombre disponibles o en la biblioteca de espacios de nombre incluye proporcionar un identificador de versión para cada uno de la pluralidad de espacios de nombre, y proporcionar un tamaño de archivo para cada uno de la pluralidad de espacios de nombre.
15. El método de conformidad con la reivindicación 10, caracterizado porque cuando el primer espacio de nombre se identifica como asociado con el primer documento, proporcionar a la aplicación de consumo cualquier tipo de datos asociado con el primer documento de conformidad con el primer espacio de nombre.
16. El método de conformidad con la reivindicación 15, caracterizado porque los tipos de datos asociados con el primer documento de conformidad con el primer espacio de nombre se proporcionan a la aplicación de consumo a través de un formato CF_XML_VISTA.
17. El método de conformidad con la reivindicación 13, caracterizado porque cuando la pluralidad de espacios de nombre se identifica como asociada con el primer documento, proporcionar a la aplicación de consumo uno o más tipos de datos asociados con el primer documento de conformidad con la pluralidad de espacios de nombre.
18. El método de conformidad con la reivindicación 17, caracterizado porque uno o más tipos de datos asociados con el primer documento de conformidad con la pluralidad de espacios de nombre se proporcionan a la aplicación de consumo a través del formato CF_XML_DATOS.
19. El método de conformidad con la reivindicación 1, caracterizado porque la aplicación de provisión es una aplicación procesadora de palabras.
20. El método de conformidad con la reivindicación 1, caracterizado porque la aplicación de provisión es una aplicación de hoja de cálculo.
21. El método de conformidad con la reivindicación 1, caracterizado porque la aplicación de provisión es una aplicación de diapositiva de presentación.
22. El método de conformidad con la reivindicación 1, caracterizado porque la aplicación de consumo es una aplicación procesadora de palabras.
23. El método de conformidad con la reivindicación 1, caracterizado porque la aplicación de consumo es una aplicación de hoja de cálculo.
24. El método de conformidad con la reivindicación 1, caracterizado porque la aplicación de consumo es una aplicación de diapositiva de presentación.
25. El método de conformidad con la reivindicación 1, caracterizado porque salvar los datos seleccionados en una ubicación de memoria incluye salvar los datos seleccionados en un portapapeles.
26. Un método para mejorar la función de pegado de una aplicación de programa de computadora, caracterizado porque comprende: abrir un primer documento a través de una aplicación de provisión; aplicar la estructura en un primer documento de conformidad con un lenguaje de marca; seleccionar datos del primer documento para pegarlos en un segundo documento; salvar los datos seleccionados en una ubicación de memoria; salvar los datos asociados con los datos seleccionados en la ubicación de memoria para proporcionar la información de aplicación de consumo acerca de los datos seleccionados; abrir un segundo documento a través de la aplicación de consumo y seleccionar la función de pegado de la aplicación de consumo para pegar los datos seleccionados en el segundo documento; leer con la aplicación de consumo los datos asociados con los datos seleccionados; en respuesta a la lectura por la aplicación de consumo de los datos asociados con los datos seleccionados, determinar si están asociados uno o más espacios de nombre con los datos seleccionados que define el contenido de datos permisible, el tipo de datos y la estructura de datos para la estructura aplicada con los datos seleccionados; obtener por la aplicación de consumo un recurso asociado con uno o más de los espacios de nombre para pegar los datos seleccionados con el segundo documento; y pegar los datos seleccionados en el segundo documento de conformidad con el recurso.
27. El método de conformidad con la reivindicación 26, caracterizado porque antes de obtener por la aplicación de consumo un recurso asociado con uno o más de los espacios de nombre para pegar los datos seleccionados; determinar si la lista de espacios de nombre disponibles contiene un espacio de nombre deseado de uno o más espacios de nombre para usarse por la aplicación de consumo; cuando la lista de espacios de nombre disponibles contenga un espacio de nombre deseado de uno o más espacios de nombre para usarse por la aplicación de consumo, seleccionar el espacio de nombre deseado; y proporcionar el espacio de nombre seleccionado a la aplicación de consumo.
28. El método de conformidad con la reivindicación 27, caracterizado porque cuando la lista de espacios de nombre disponibles no contenga el espacio de nombre deseado de uno o más espacios de nombre para usarse por la aplicación de consumo, determinar si la biblioteca de espacio de nombre contiene uno o más recursos de uno o más espacios de nombre para usarse por la aplicación de consumo; cuando la biblioteca de espacio de nombre contenga uno o más de los recursos deseados para uno o más espacios de nombre para usarse por la aplicación de consumo, seleccionar el recurso deseado de la biblioteca de espacio de nombre; y proporcionar el espacio de nombre seleccionado y el recurso a la aplicación de consumo.
29. El método de conformidad con la reivindicación 28, caracterizado porque además comprende proporcionar al usuario una opción seleccionable para pegar los datos seleccionados en el segundo documento de conformidad con el espacio de nombre seleccionado.
30. El método de conformidad con la reivindicación 29, caracterizado porque el lenguaje de marca es el Lenguaje de Marca Extensible (XML).
31. El método de conformidad con la reivindicación 30, caracterizado porque el recurso en un archivo de transformación de lenguaje de estilo de hoja extensible para transformar los datos seleccionados de un primer tipo de datos asociado con el primer documento a un segundo tipo de datos para pegar los datos seleccionados en el segundo documento.
32. El método de conformidad con la reivindicación 29, caracterizado porque el paso de salvar los datos asociados con los datos seleccionados en la ubicación de memoria para proporcionar la información de aplicación de consumo sobre los datos seleccionados incluye identificar si uno de los espacios de nombre está asociado con el primer documento.
33. El método de conformidad con la reivindicación 32, caracterizado porque identificar si uno o más espacios de nombre está asociado con el primer documento incluye proporcionar la información de aplicación de consumo para ubicar cualquiera de uno o más espacios de nombre en la lista de espacios de nombre disponibles o en la biblioteca de espacios de nombre.
34. Un medio legible por computadora que tiene almacenado en la misma instrucciones ejecutables por computadora, que cuando se llevan a cabo por la computadora, realiza los pasos de: abrir un primer documento mediante una aplicación de provisión; aplicar la estructura al primer documento de conformidad con un lenguaje de marca; seleccionar datos del primer documento para pegarlos en un segundo documento; salvar los datos seleccionados en una ubicación de memoria; salvar los datos asociados con los datos seleccionados en la ubicación de memoria para proporcionar la información de aplicación de consumo acerca de los datos seleccionados; abrir el segundo documento a través de la aplicación de consumo y seleccionar la función de pegado de la aplicación de consumo para pegar los datos seleccionados en el segundo documento; leer por la aplicación de consumo, los datos asociados con los datos seleccionados; en respuesta a la lectura-por la aplicación de consumo de los datos asociados con los datos seleccionados, determinar si uno o más espacios de nombre están asociados con los datos seleccionados, lo cual define el contenido permisible de datos, el tipo de datos y la estructura de datos aplicados a los datos seleccionados; obtener por la aplicación de consumo, un recurso asociado con uno o más espacios de nombre para pegar los datos seleccionados en el segundo documento; y pegar los datos seleccionados en el segundo documento de conformidad con el recurso.
35. El medio legible por computadora de conformidad con la reivindicación 34, caracterizado porque antes de obtener por la aplicación de consumo un recurso asociado con uno o más espacios de nombre para pegar los datos seleccionados; determinar si la lista de espacios de nombre disponibles contiene el espacio de nombre deseado de uno o más espacios de nombre para usarse por la aplicación de consumo; cuando la lista de espacios de nombre disponibles contenga el espacio de nombre deseado de uno o más espacios de nombre para usarse por la aplicación de consumo, seleccionar el espacio de nombre deseado; y proporcionar el espacio de nombre seleccionado a la aplicación de consumo.
36. El medio legible por computadora de conformidad con la reivindicación 35, caracterizado porque cuando la lista de espacios de nombre disponibles no contenga el espacio de nombre deseado de uno o más espacios de nombre para usarse por la aplicación de consumo, determinar si la biblioteca de espacios de nombre contiene el espacio de nombre deseado de uno o más espacios de nombre para usarse por la aplicación de consumo; cuando la biblioteca de espacios de nombre contiene uno o más de los recursos deseados para uno o más espacios de nombre para usarse por la aplicación de consumo, seleccionar el recurso deseado de la biblioteca de espacios de nombre; y proporcionar el espacio de nombre seleccionado y el recurso en la aplicación de consumo.
37. El medio legible por computadora de conformidad con la reivindicación 36, caracterizado porque además comprende proporcionar una opción seleccionable por el usuario para pegar los datos seleccionados en el segundo documento de conformidad con el espacio de nombre seleccionado.
38. El medio legible por computadora de conformidad con la reivindicación 37, caracterizado porque el lenguaje de marca es el Lenguaje de Marca Extensible (XML).
39. El medio legible por computadora de conformidad con la reivindicación 38, caracterizado porque el paso de salvar los datos asociados con los datos seleccionados en la ubicación de memoria para proporcionar la información de la aplicación de consumo acerca de los datos seleccionados incluye identificar si uno o más espacios de nombre está asociado con el primer documento.
40. El medio legible por computadora de conformidad con la reivindicación 39, caracterizado porque identificar si uno o más espacios de nombre está asociado con el primer documento incluye proporcionar la información de aplicación de consumo para ubicar cualquiera de uno o más espacios de nombre en la lista de espacio de nombre disponibles o en la biblioteca de espacios de nombre.
41. Un método para pegar datos desde una aplicación de copiado en una aplicación de consumo, caracterizado porque com prende: aplicar un primer elemento de Lenguaje de Marca Extensible al inicio de una región de un primer documento, en donde la región se selecciona para copiar desde la aplicación de copiado y para pegar en la aplicación de consumo; aplicar un segundo elemento XML al final de la región seleccionada; proporcionar información en un encabezado asociado con la región seleccionada, en donde la información incluye una identificación de los espacios de nombre XML disponibles y punteros para una identificación de formato de portapapeles que corresponde a cada uno de los espacios de nombre disponibles; proporcionar información en el encabezado para el tamaño de archivo para cada espacio de nombre disponible; proporcionar uno o más espacios de nombre de los espacios de nombre disponibles en un portapapeles para permitir a la aplicación de consumo seleccionar entre uno o más espacios de nombre para pegar los datos desde la aplicación de copiado.
MXPA04001932A 2003-02-28 2004-02-27 Metodo y sistema para mejorar la funcion de copiado de una aplicacion de programa de computadora. MXPA04001932A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/377,258 US20040172584A1 (en) 2003-02-28 2003-02-28 Method and system for enhancing paste functionality of a computer software application

Publications (1)

Publication Number Publication Date
MXPA04001932A true MXPA04001932A (es) 2005-04-25

Family

ID=32771522

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04001932A MXPA04001932A (es) 2003-02-28 2004-02-27 Metodo y sistema para mejorar la funcion de copiado de una aplicacion de programa de computadora.

Country Status (13)

Country Link
US (1) US20040172584A1 (es)
EP (1) EP1452966A3 (es)
JP (1) JP2004265402A (es)
KR (1) KR20040077530A (es)
CN (1) CN100340985C (es)
AU (1) AU2004200603A1 (es)
BR (1) BRPI0400372A (es)
CA (1) CA2458717A1 (es)
MX (1) MXPA04001932A (es)
PL (1) PL365553A1 (es)
RU (1) RU2348064C2 (es)
TW (1) TW200424936A (es)
ZA (1) ZA200401485B (es)

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716163B2 (en) 2000-06-06 2010-05-11 Microsoft Corporation Method and system for defining semantic categories and actions
US7770102B1 (en) 2000-06-06 2010-08-03 Microsoft Corporation Method and system for semantically labeling strings and providing actions based on semantically labeled strings
US7788602B2 (en) 2000-06-06 2010-08-31 Microsoft Corporation Method and system for providing restricted actions for recognized semantic categories
JP3700589B2 (ja) * 2001-02-16 2005-09-28 日本電気株式会社 交換機間制御信号伝送システムおよび交換機間制御信号伝送方法
US7778816B2 (en) 2001-04-24 2010-08-17 Microsoft Corporation Method and system for applying input mode bias
US7707024B2 (en) 2002-05-23 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting currency values based upon semantically labeled strings
US7827546B1 (en) 2002-06-05 2010-11-02 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7356537B2 (en) 2002-06-06 2008-04-08 Microsoft Corporation Providing contextually sensitive tools and help content in computer-generated documents
US7716676B2 (en) 2002-06-25 2010-05-11 Microsoft Corporation System and method for issuing a message to a program
US7209915B1 (en) * 2002-06-28 2007-04-24 Microsoft Corporation Method, system and apparatus for routing a query to one or more providers
US7783614B2 (en) 2003-02-13 2010-08-24 Microsoft Corporation Linking elements of a document to corresponding fields, queries and/or procedures in a database
US7739588B2 (en) 2003-06-27 2010-06-15 Microsoft Corporation Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data
US20050066335A1 (en) * 2003-09-23 2005-03-24 Robert Aarts System and method for exposing local clipboard functionality towards external applications
US7464330B2 (en) 2003-12-09 2008-12-09 Microsoft Corporation Context-free document portions with alternate formats
US7617447B1 (en) * 2003-12-09 2009-11-10 Microsoft Corporation Context free document portions
US7340685B2 (en) * 2004-01-12 2008-03-04 International Business Machines Corporation Automatic reference note generator
GB2426846A (en) * 2004-03-04 2006-12-06 Mathsoft Engineering & Educati A method for automatically enabling traceability of engineering calculations
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US7487448B2 (en) * 2004-04-30 2009-02-03 Microsoft Corporation Document mark up methods and systems
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
WO2006001391A1 (ja) * 2004-06-25 2006-01-05 Justsystems Corporation 文書処理装置および文書処理方法
WO2006017388A1 (en) * 2004-08-03 2006-02-16 Softricity, Inc. System and method for controlling inter-application association through contextual policy control
US8510657B2 (en) 2004-09-30 2013-08-13 Microsoft Corporation Editing the text of an arbitrary graphic via a hierarchical list
US7617450B2 (en) 2004-09-30 2009-11-10 Microsoft Corporation Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document
US8134575B2 (en) * 2004-09-30 2012-03-13 Microsoft Corporation Maintaining graphical presentations based on user customizations
US7348982B2 (en) 2004-09-30 2008-03-25 Microsoft Corporation Method, system, and computer-readable medium for creating and laying out a graphic within an application program
CN101057228A (zh) * 2004-11-12 2007-10-17 佳思腾软件公司 服务器装置和命名空间发行方法
US8117623B1 (en) * 2004-11-18 2012-02-14 Adobe Systems Incorporated System and method for providing notices to users of a computer program in a flexible way
US7617451B2 (en) * 2004-12-20 2009-11-10 Microsoft Corporation Structuring data for word processing documents
US7617444B2 (en) * 2004-12-20 2009-11-10 Microsoft Corporation File formats, methods, and computer program products for representing workbooks
US7614000B2 (en) * 2004-12-20 2009-11-03 Microsoft Corporation File formats, methods, and computer program products for representing presentations
US7770180B2 (en) 2004-12-21 2010-08-03 Microsoft Corporation Exposing embedded data in a computer-generated document
US7752632B2 (en) 2004-12-21 2010-07-06 Microsoft Corporation Method and system for exposing nested data in a computer-generated document in a transparent manner
US7793224B1 (en) * 2005-03-22 2010-09-07 Adobe Systems Inc. Methods and apparatus for formatting identified content
US9275025B2 (en) * 2005-04-29 2016-03-01 Adobe Systems Incorporated Interactive special paste
WO2006118287A1 (ja) * 2005-05-02 2006-11-09 Justsystems Corporation 文書処理装置及び文書処理方法
US8176410B1 (en) * 2005-09-13 2012-05-08 Adobe Systems Incorporated System and/or method for content cropping
US8635524B2 (en) * 2005-09-13 2014-01-21 Adobe Systems Incorporated System and/or method for document conversion
US7992085B2 (en) 2005-09-26 2011-08-02 Microsoft Corporation Lightweight reference user interface
US7788590B2 (en) 2005-09-26 2010-08-31 Microsoft Corporation Lightweight reference user interface
WO2007042337A1 (en) 2005-10-07 2007-04-19 International Business Machines Corporation Method and systems for linking sources to copied text
US20070083510A1 (en) * 2005-10-07 2007-04-12 Mcardle James M Capturing bibliographic attribution information during cut/copy/paste operations
CN100356371C (zh) * 2005-12-20 2007-12-19 无锡永中科技有限公司 在文档中插入和播放幻灯片的方法
CN100399280C (zh) * 2006-02-07 2008-07-02 无锡永中科技有限公司 对剪贴数据进行处理的方法
US8438486B2 (en) 2006-02-09 2013-05-07 Microsoft Corporation Automatically converting text to business graphics
US20070226633A1 (en) * 2006-03-06 2007-09-27 International Business Machines Corporation Copying and pasting portlets in a portal environment
US8732477B2 (en) * 2006-05-24 2014-05-20 Confident Technologies, Inc. Graphical image authentication and security system
US8370423B2 (en) 2006-06-16 2013-02-05 Microsoft Corporation Data synchronization and sharing relationships
US7624353B2 (en) * 2006-09-29 2009-11-24 Accenture Global Services Gmbh Computer-implemented clipboard
US20080109464A1 (en) * 2006-11-06 2008-05-08 Microsoft Corporation Extending Clipboard Augmentation
US8453066B2 (en) * 2006-11-06 2013-05-28 Microsoft Corporation Clipboard augmentation with references
US8020112B2 (en) * 2006-11-06 2011-09-13 Microsoft Corporation Clipboard augmentation
US8082539B1 (en) 2006-12-11 2011-12-20 Parallels Holdings, Ltd. System and method for managing web-based forms and dynamic content of website
US20080141136A1 (en) * 2006-12-12 2008-06-12 Microsoft Corporation Clipping Synchronization and Sharing
US20080178114A1 (en) * 2007-01-18 2008-07-24 Milton Harold W Method for preparing a claim tree in the preparation of a patent application
US8751442B2 (en) 2007-02-12 2014-06-10 Microsoft Corporation Synchronization associated duplicate data resolution
US8429551B2 (en) * 2007-02-15 2013-04-23 Microsoft Corporation Application-based copy and paste operations
US7933296B2 (en) * 2007-03-02 2011-04-26 Microsoft Corporation Services for data sharing and synchronization
US8438229B2 (en) 2007-03-07 2013-05-07 True Engineering Technology, Llc System and method of supporting constructive discourse on computers and mobile devices
US7849108B1 (en) 2007-03-13 2010-12-07 Fundriver, Inc. Methods and systems for establishing a database
US8095870B2 (en) * 2007-06-06 2012-01-10 Oracle International Corporation Extensible document transformation language: an innovative way of generating business document and report
US8239479B2 (en) * 2007-06-22 2012-08-07 Microsoft Corporation Server-assisted and peer-to-peer synchronization
US20090015599A1 (en) * 2007-07-09 2009-01-15 Yahoo! Inc. Draggable mechanism for identifying and communicating the state of an application
CN101458632B (zh) * 2007-12-12 2013-01-23 国际商业机器公司 数据对象复制/粘贴转移方法及装置
US9547841B2 (en) * 2007-12-21 2017-01-17 International Business Machines Corporation Deriving overlay information from a user input for a base message schema associated with a node in a message flow
US9779082B2 (en) 2008-01-02 2017-10-03 True Engineering Technology, Llc Portable self-describing representations of measurements
US8296671B2 (en) * 2008-05-01 2012-10-23 Microsoft Corporation Enabling access to rich data by intercepting paste operations
US20090292987A1 (en) * 2008-05-22 2009-11-26 International Business Machines Corporation Formatting selected content of an electronic document based on analyzed formatting
US20100083091A1 (en) * 2008-09-30 2010-04-01 Apple Inc. Dynamic text escaping
US9213979B2 (en) * 2008-12-17 2015-12-15 Oracle International Corporation Array attribute configurator
KR101580999B1 (ko) * 2009-01-06 2015-12-30 삼성전자주식회사 애플리케이션 간의 콘텐츠를 이동하는 장치 및 방법
JP5264515B2 (ja) * 2009-01-06 2013-08-14 キヤノン株式会社 文書編集装置およびその制御方法
US9277021B2 (en) 2009-08-21 2016-03-01 Avaya Inc. Sending a user associated telecommunication address
US10002035B2 (en) * 2009-08-21 2018-06-19 International Business Machines Corporation Visual selection and rendering of multiple clip board formats
US8375299B2 (en) * 2009-11-06 2013-02-12 International Business Machines Corporation Pasting content into a document using twisties
US9135229B2 (en) * 2009-11-25 2015-09-15 International Business Machines Corporation Automated clipboard software
JP5363355B2 (ja) 2010-01-12 2013-12-11 インターナショナル・ビジネス・マシーンズ・コーポレーション スタイル要素を用いた画面表示の選択した表示領域をコピーアンドペーストする方法、システム及びプログラム
JP2011150478A (ja) * 2010-01-20 2011-08-04 Fujitsu Toshiba Mobile Communications Ltd 携帯端末
US8799325B2 (en) 2010-03-12 2014-08-05 Microsoft Corporation Reordering nodes in a hierarchical structure
CN102253927A (zh) * 2010-05-19 2011-11-23 深圳市金蝶中间件有限公司 复制粘贴的方法和装置
JP5477971B2 (ja) 2010-11-30 2014-04-23 インターナショナル・ビジネス・マシーンズ・コーポレーション フォーム入力の部分的問合せ方法、その方法に使用されるコンピュータ・プログラム、及びそのプログラムを搭載した処理装置
CN102098340A (zh) * 2011-01-27 2011-06-15 广东威创视讯科技股份有限公司 一种传递数据的方法及系统
KR20120107356A (ko) * 2011-03-21 2012-10-02 삼성전자주식회사 휴대단말에서 클립보드 기능 제공 방법 및 장치
EP2535811A1 (en) 2011-06-15 2012-12-19 Amadeus S.A.S. Improvements in or relating to pasting data
CN103294657B (zh) * 2012-03-02 2017-10-27 富泰华工业(深圳)有限公司 文本编辑方法及系统
CN102651016A (zh) * 2012-03-30 2012-08-29 北京英富森信息技术有限公司 一种基于用户计算机终端的桌面信息采集系统及采集方法
US20130339398A1 (en) * 2012-06-18 2013-12-19 Ryan Christopher Griggs Database inbox
CN103853619B (zh) * 2012-11-30 2017-11-17 腾讯科技(深圳)有限公司 剪贴数据的同步方法及同步装置
DE102013001892A1 (de) * 2013-02-03 2014-08-07 Code and Concept - Erik Ebell und Christian Giese GbR (vertretungsberechtigte Gesellschafter: Erik Ebell, 81371 München; Christian Giese, 80802 München) Verfahren zur optimierten Anreicherung und Überführung von Daten
CN104063386B (zh) * 2013-03-20 2018-10-09 北大方正集团有限公司 一种内容对象复用的方法和装置
KR102026639B1 (ko) * 2013-05-09 2019-09-30 엘지전자 주식회사 이동 단말기 및 그것의 제어방법
CN103246638B (zh) * 2013-05-13 2017-09-01 小米科技有限责任公司 一种信息粘贴方法和装置
KR102187569B1 (ko) * 2013-07-08 2020-12-07 엘지전자 주식회사 이동 단말기 및 그것의 제어방법
US20150286616A1 (en) * 2014-04-07 2015-10-08 Ephox Corporation Method For Generating A Document Using An Electronic Clipboard
CN105404616A (zh) * 2014-06-19 2016-03-16 国际商业机器公司 用于数据移动的方法和系统
JP6377032B2 (ja) * 2015-09-14 2018-08-22 キヤノン株式会社 電子機器及び画面データ転送方法
US11481550B2 (en) 2016-11-10 2022-10-25 Google Llc Generating presentation slides with distilled content
US10372810B2 (en) * 2017-04-05 2019-08-06 Microsoft Technology Licensing, Llc Smarter copy/paste
US10558950B2 (en) 2017-05-15 2020-02-11 Google Llc Automatic context passing between applications
US10437428B2 (en) 2017-05-23 2019-10-08 Microsoft Technology Licensing, Llc Scatter copy supporting partial paste functionality
US10521278B2 (en) 2017-09-26 2019-12-31 Google Llc Format-specific data object passing between applications
CN108170539A (zh) * 2017-12-08 2018-06-15 北京小米移动软件有限公司 信息处理方法及设备
US10936648B2 (en) * 2017-12-12 2021-03-02 Google Llc Generating slide presentations using a collaborative multi-content application
US20190227857A1 (en) * 2018-01-25 2019-07-25 salesforce com, inc Smart clipboard for secure data transfer
US10783012B2 (en) 2018-04-20 2020-09-22 CopyBucket, Inc. Systems and methods for efficient inter-device data exchange

Family Cites Families (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287448A (en) * 1989-05-04 1994-02-15 Apple Computer, Inc. Method and apparatus for providing help information to users of computers
JP2943447B2 (ja) * 1991-01-30 1999-08-30 三菱電機株式会社 テキスト情報抽出装置とテキスト類似照合装置とテキスト検索システムとテキスト情報抽出方法とテキスト類似照合方法、及び、質問解析装置
US5596700A (en) * 1993-02-17 1997-01-21 International Business Machines Corporation System for annotating software windows
US5386564A (en) * 1993-02-24 1995-01-31 Hewlett-Packard Company Conversion of data and objects across classes in an object management system
US6282489B1 (en) * 1993-05-28 2001-08-28 Mapquest.Com, Inc. Methods and apparatus for displaying a travel route and generating a list of places of interest located near the travel route
SE514994C2 (sv) * 1993-12-03 2001-05-28 Ericsson Telefon Ab L M Sätt och anordning för utvinning av data ur en grupp av data
US5392386A (en) * 1994-02-03 1995-02-21 Inter Hi-Tec Ag Method and apparatus for adding functionality to computer programs executing under graphical user interfaces
JPH0887495A (ja) * 1994-09-16 1996-04-02 Ibm Japan Ltd 表データのカット・アンド・ペースト方法及びデータ処理システム
US5717923A (en) * 1994-11-03 1998-02-10 Intel Corporation Method and apparatus for dynamically customizing electronic information to individual end users
DE4440598C1 (de) * 1994-11-14 1996-05-23 Siemens Ag Durch gesprochene Worte steuerbares Hypertext-Navigationssystem, Hypertext-Dokument für dieses Navigationssystem und Verfahren zur Erzeugung eines derartigen Dokuments
US5617565A (en) * 1994-11-29 1997-04-01 Hitachi America, Ltd. Broadcast interactive multimedia system
DE69531119T2 (de) * 1994-12-13 2003-12-04 Microsoft Corp Datentransfer mit erweitertem Format für die Zwischenablage
US5625783A (en) * 1994-12-13 1997-04-29 Microsoft Corporation Automated system and method for dynamic menu construction in a graphical user interface
US5893073A (en) * 1995-02-27 1999-04-06 Sun Microsystems, Inc. Method and apparatus for representing recurring events
US5708825A (en) * 1995-05-26 1998-01-13 Iconovex Corporation Automatic summary page creation and hyperlink generation
US5872973A (en) * 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US5893132A (en) * 1995-12-14 1999-04-06 Motorola, Inc. Method and system for encoding a book for reading using an electronic book
US5859636A (en) * 1995-12-27 1999-01-12 Intel Corporation Recognition of and operation on text data
US5875443A (en) * 1996-01-30 1999-02-23 Sun Microsystems, Inc. Internet-based spelling checker dictionary system with automatic updating
US5715415A (en) * 1996-06-05 1998-02-03 Microsoft Corporation Computer application with help pane integrated into workspace
US6516321B1 (en) * 1996-07-30 2003-02-04 Carlos De La Huerga Method for database address specification
US5895461A (en) * 1996-07-30 1999-04-20 Telaric, Inc. Method and system for automated data storage and retrieval with uniform addressing scheme
AU4495597A (en) * 1996-09-23 1998-04-14 Lowrie Mcintosh Defining a uniform subject classification system incorporating document management/records retention functions
US6006252A (en) * 1996-10-08 1999-12-21 Wolfe; Mark A. System and method for communicating information relating to a network resource
US6182029B1 (en) * 1996-10-28 2001-01-30 The Trustees Of Columbia University In The City Of New York System and method for language extraction and encoding utilizing the parsing of text data in accordance with domain parameters
KR19980035431A (ko) * 1996-11-13 1998-08-05 김광호 다국어 입력 설정 변환 방법
US6018761A (en) * 1996-12-11 2000-01-25 The Robert G. Uomini And Louise B. Bidwell Trust System for adding to electronic mail messages information obtained from sources external to the electronic mail transport process
US6347398B1 (en) * 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network
US6029171A (en) * 1997-02-10 2000-02-22 Actioneer, Inc. Method and apparatus for group action processing between users of a collaboration system
US5884266A (en) * 1997-04-02 1999-03-16 Motorola, Inc. Audio interface for document based information resource navigation and method therefor
US6138170A (en) * 1997-04-07 2000-10-24 Novell, Inc. Method and system for integrating external functions into an application environment
US5877757A (en) * 1997-05-23 1999-03-02 International Business Machines Corporation Method and system for providing user help information in network applications
EP0881567B1 (en) * 1997-05-28 2003-10-08 Agilent Technologies, Inc. (a Delaware corporation) Online documentation and help system for computer-based systems
US5892919A (en) * 1997-06-23 1999-04-06 Sun Microsystems, Inc. Spell checking universal resource locator (URL) by comparing the URL against a cache containing entries relating incorrect URLs submitted by users to corresponding correct URLs
US6199046B1 (en) * 1997-07-29 2001-03-06 Adsura Pty Ltd. Method system and article of manufacture for performing real time currency conversion
JPH1185706A (ja) * 1997-09-08 1999-03-30 Sharp Corp アプリケーションデータ生成方法および装置並びにアプリケーションデータ生成プログラムを記録した記録媒体
US6708189B1 (en) * 1997-09-30 2004-03-16 Desknet, Inc. Computer file transfer system
US5896321A (en) * 1997-11-14 1999-04-20 Microsoft Corporation Text completion system for a miniature computer
US6219698B1 (en) * 1997-12-19 2001-04-17 Compaq Computer Corporation Configuring client software using remote notification
US6028605A (en) * 1998-02-03 2000-02-22 Documentum, Inc. Multi-dimensional analysis of objects by manipulating discovered semantic properties
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
US6031525A (en) * 1998-04-01 2000-02-29 New York University Method and apparatus for writing
US6173316B1 (en) * 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6381742B2 (en) * 1998-06-19 2002-04-30 Microsoft Corporation Software package management
US6510504B2 (en) * 1998-06-29 2003-01-21 Oracle Corporation Methods and apparatus for memory allocation for object instances in an object-oriented software environment
US6199081B1 (en) * 1998-06-30 2001-03-06 Microsoft Corporation Automatic tagging of documents and exclusion by content
US6694055B2 (en) * 1998-07-15 2004-02-17 Microsoft Corporation Proper name identification in chinese
US6353926B1 (en) * 1998-07-15 2002-03-05 Microsoft Corporation Software update notification
US6553385B2 (en) * 1998-09-01 2003-04-22 International Business Machines Corporation Architecture of a framework for information extraction from natural language documents
US6339755B1 (en) * 1998-12-15 2002-01-15 International Business Machines Corporation Method, system and data structure for splitting language and locale properties in a data processing system
US6338059B1 (en) * 1998-12-17 2002-01-08 International Business Machines Corporation Hyperlinked search interface for distributed database
US6339436B1 (en) * 1998-12-18 2002-01-15 International Business Machines Corporation User defined dynamic help
US6697837B1 (en) * 1999-11-19 2004-02-24 Installation Software Technologies, Inc. End user profiling method
US6349295B1 (en) * 1998-12-31 2002-02-19 Walker Digital, Llc Method and apparatus for performing supplemental searches over a network
US6556984B1 (en) * 1999-01-19 2003-04-29 International Business Machines Corporation Hierarchical string matching using multi-path dynamic programming
US6507857B1 (en) * 1999-03-12 2003-01-14 Sun Microsystems, Inc. Extending the capabilities of an XSL style sheet to include components for content transformation
US6880129B1 (en) * 1999-04-29 2005-04-12 Silverstream Software, Llc Method and apparatus for using name spaces in a graphical user interface
US6697824B1 (en) * 1999-08-31 2004-02-24 Accenture Llp Relationship management in an E-commerce application framework
US6859908B1 (en) * 1999-08-31 2005-02-22 Intel Corporation Automated text entry for processor-based system
US6718516B1 (en) * 1999-09-30 2004-04-06 International Business Machines Corporation Method for verifying context between multiple related XML tags in document object model (DOM)
US6519603B1 (en) * 1999-10-28 2003-02-11 International Business Machine Corporation Method and system for organizing an annotation structure and for querying data and annotations
US6715144B2 (en) * 1999-12-30 2004-03-30 International Business Machines Corporation Request based automation of software installation, customization and activation
US7478140B2 (en) * 2000-03-09 2009-01-13 Pitney Bowes Software Inc. System and method for sending electronic mail and parcel delivery notification using recipient's identification information
US6556972B1 (en) * 2000-03-16 2003-04-29 International Business Machines Corporation Method and apparatus for time-synchronized translation and synthesis of natural-language speech
NO311639B1 (no) * 2000-04-05 2001-12-27 Gto Subsea As Fremgangsmåte og anordning for å flytte på stein og lösmasser under vann
US6883137B1 (en) * 2000-04-17 2005-04-19 International Business Machines Corporation System and method for schema-driven compression of extensible mark-up language (XML) documents
US6874125B1 (en) * 2000-05-03 2005-03-29 Microsoft Corporation Method for providing feedback on windows, messages and dialog boxes
US6459364B2 (en) * 2000-05-23 2002-10-01 Hewlett-Packard Company Internet browser facility and method for the visually impaired
US7421645B2 (en) * 2000-06-06 2008-09-02 Microsoft Corporation Method and system for providing electronic commerce actions based on semantically labeled strings
US7712024B2 (en) * 2000-06-06 2010-05-04 Microsoft Corporation Application program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
US6519557B1 (en) * 2000-06-06 2003-02-11 International Business Machines Corporation Software and method for recognizing similarity of documents written in different languages based on a quantitative measure of similarity
US7716163B2 (en) * 2000-06-06 2010-05-11 Microsoft Corporation Method and system for defining semantic categories and actions
US7558824B2 (en) * 2000-06-15 2009-07-07 At&T Intellectual Property I, L.P. Electronic mail (Email) Internet appliance methods and systems
US6874143B1 (en) * 2000-06-21 2005-03-29 Microsoft Corporation Architectures for and methods of providing network-based software extensions
WO2002001401A1 (en) * 2000-06-26 2002-01-03 Onerealm Inc. Method and apparatus for normalizing and converting structured content
US6857103B1 (en) * 2000-07-14 2005-02-15 International Business Machines Corporation Flexible help support in an object oriented application
US6826726B2 (en) * 2000-08-18 2004-11-30 Vaultus Mobile Technologies, Inc. Remote document updating system using XML and DOM
US8126942B2 (en) * 2000-08-25 2012-02-28 Fujitsu Limited Data processing system and data processing method
US7752214B2 (en) * 2000-09-01 2010-07-06 Op40, Inc. Extended environment data structure for distributed digital assets over a multi-tier computer network
US6717593B1 (en) * 2000-09-12 2004-04-06 Avaya Technology Corp. Mark-up language implementation of graphical or non-graphical user interfaces
US6990654B2 (en) * 2000-09-14 2006-01-24 Bea Systems, Inc. XML-based graphical user interface application development toolkit
US6728679B1 (en) * 2000-10-30 2004-04-27 Koninklijke Philips Electronics N.V. Self-updating user interface/entertainment device that simulates personal interaction
JP4824266B2 (ja) * 2001-02-05 2011-11-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ フォーマットが適合したオブジェクトの転送方法
US7013289B2 (en) * 2001-02-21 2006-03-14 Michel Horn Global electronic commerce system
US6694307B2 (en) * 2001-03-07 2004-02-17 Netvention System for collecting specific information from several sources of unstructured digitized data
US20030050911A1 (en) * 2001-03-14 2003-03-13 Mark Lucovsky Schema-based services for identity-based access to profile data
US20030046316A1 (en) * 2001-04-18 2003-03-06 Jaroslav Gergic Systems and methods for providing conversational computing via javaserver pages and javabeans
US8572059B2 (en) * 2001-05-15 2013-10-29 Colin P. Britton Surveillance, monitoring and real-time events platform
US20030009489A1 (en) * 2001-05-29 2003-01-09 Griffin Steven K. Method for mining data and automatically associating source locations
US20030046017A1 (en) * 2001-06-06 2003-03-06 Claudius Fischer Deployment console for use with a computer system deploying software to remotely located devices
US20030014745A1 (en) * 2001-06-22 2003-01-16 Mah John M. Document update method
US6714486B2 (en) * 2001-06-29 2004-03-30 Kevin Biggs System and method for customized time display
US6948151B2 (en) * 2001-06-29 2005-09-20 International Business Machines Corporation System and method for dynamic packaging of component objects
US7120897B2 (en) * 2001-07-10 2006-10-10 Microsoft Corporation User control objects for providing server-side code generation from a user-defined dynamic web page content file
EP1435046A2 (en) * 2001-08-03 2004-07-07 Koninklijke Philips Electronics N.V. Method of and system for updating a document
US7024658B1 (en) * 2001-09-28 2006-04-04 Adobe Systems Incorporated Extensible help facility for a computer software application
US20040039990A1 (en) * 2002-03-30 2004-02-26 Xorbix Technologies, Inc. Automated form and data analysis tool
US6687485B2 (en) * 2002-05-21 2004-02-03 Thinksmark Performance Systems Llc System and method for providing help/training content for a web-based application
US7281245B2 (en) * 2002-06-05 2007-10-09 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7346598B2 (en) * 2002-06-28 2008-03-18 Microsoft Corporation Schemaless dataflow within an XML storage solution
US20040006564A1 (en) * 2002-06-28 2004-01-08 Lucovsky Mark H. Schema-based service for identity-based data access to category data
US7206788B2 (en) * 2002-07-30 2007-04-17 Microsoft Corporation Schema-based services for identity-based access to device data
US20040044959A1 (en) * 2002-08-30 2004-03-04 Jayavel Shanmugasundaram System, method, and computer program product for querying XML documents using a relational database system
US6993714B2 (en) * 2002-10-03 2006-01-31 Microsoft Corporation Grouping and nesting hierarchical namespaces
US7370270B2 (en) * 2002-10-23 2008-05-06 Aol Llc A Delaware Limited Liability Company XML schema evolution

Also Published As

Publication number Publication date
PL365553A1 (en) 2004-09-06
US20040172584A1 (en) 2004-09-02
AU2004200603A1 (en) 2004-09-16
EP1452966A2 (en) 2004-09-01
CN1530833A (zh) 2004-09-22
RU2004105880A (ru) 2005-08-10
JP2004265402A (ja) 2004-09-24
RU2348064C2 (ru) 2009-02-27
TW200424936A (en) 2004-11-16
EP1452966A3 (en) 2007-04-11
CN100340985C (zh) 2007-10-03
KR20040077530A (ko) 2004-09-04
ZA200401485B (en) 2004-11-29
BRPI0400372A (pt) 2005-01-04
CA2458717A1 (en) 2004-08-28

Similar Documents

Publication Publication Date Title
MXPA04001932A (es) Metodo y sistema para mejorar la funcion de copiado de una aplicacion de programa de computadora.
US7392466B2 (en) Method and system of annotation for electronic documents
US7434157B2 (en) Programmable object model for namespace or schema library support in a software application
US8407585B2 (en) Context-aware content conversion and interpretation-specific views
US8484552B2 (en) Extensible stylesheet designs using meta-tag information
JP5060043B2 (ja) 代替フォーマットを有する文脈自由な文書部分
US7080083B2 (en) Extensible stylesheet designs in visual graphic environments
JP4716612B2 (ja) Html文書に表示されるデータオブジェクトのソースをリダイレクトする方法
US20060004844A1 (en) Management of markup language data mappings available to a spreadsheet application workbook
US20040194033A1 (en) Late binding of stamped page content in a production document workflow
JP2003114882A (ja) 出版用コンテンツをフォーマットするシステム及び方法
JP2006178952A (ja) コンピュータによって生成されるドキュメントのデータの範囲を関連するxml要素にリンクする方法およびシステム
US7404195B1 (en) Programmable object model for extensible markup language markup in an application
KR101251686B1 (ko) 표시 가능 파일의 필드 및 참조 문헌 및 인용문에 대한확장형 마크업 언어 스키마의 결정
JP2004529427A (ja) メタタグ情報を用いる拡張可能スタイルシートのデザイン
US20100162094A1 (en) Providing interactive forms in web application software
US7426690B1 (en) Extensible markup language markup cloning on table rows and cells in a software application document
Lehtonen Semi-automatic document assembly with structured source data
Adobe LiveCycle Adobe® LiveCycle® ES2 Central Migration
IL165625A (en) Programmable object model for namespace or schema library support in a software application

Legal Events

Date Code Title Description
FA Abandonment or withdrawal