Связывание элементов документа с соответствующими полями, запросами и/или процедурами в базе данных

Иллюстрации

Показать все

Изобретение относится к способам и системам связывания элементов в создаваемом с помощью компьютера документе с соответствующими данными в базе данных. Изобретение обеспечивает автоматическое обновление документа при обновлении связанной с ним базы данных и автоматическое обновление базы данных при обновлении документа. Документ аннотируется структурными элементами языка разметки, такого как расширяемый язык разметки (XML), для сопоставления частей документа с соответствующей базой данных. Когда отдельные элементы в документе сопоставлены и связаны с соответствующими полями данных или запросами в выбранной базе данных, то изменения, выполненные в отдельных элементах в документе, автоматически вызывают обновления соответствующих данных в базе данных, с которой эти элементы сопоставлены и связаны. И наоборот, изменения, выполненные в отдельных полях данных в выбранной базе данных, автоматически обновляют соответствующие элементы в документе. 5 н. и 32 з.п. ф-лы, 7 ил.

Реферат

Область техники, к которой относится изобретение

Настоящее изобретение относится, в целом, к способам и системам связывания элементов в создаваемом с помощью компьютера документе с соответствующими данными в базе данных.

Предшествующий уровень техники

Приложения программного обеспечения для компьютеров позволяют пользователям создавать разнообразные документы, которые помогают им в работе, образовании и досуге. Например, приложения для подготовки текстов позволяют пользователям создавать письма, статьи, книги, служебные записки и т. д. Приложения для подготовки электронных таблиц позволяют пользователям запоминать, манипулировать, печатать и отображать многочисленные буквенно-цифровые данные. Такие приложения имеют ряд достоинств, включающих в себя редактирование, форматирование, печать и вычисление с широкими возможностями.

С появлением современных баз данных пользователи могут накоплять и управлять большими количествами данных, связанных с многочисленными различными вопросами. Часто базы данных располагаются на пользовательском компьютере, или базы данных могут содержаться на удаленных серверах, включающих в себя удаленные Интернет-серверы. Часто многие пользователи могут иметь доступ к одной базе данных, где каждый из пользователей добавляет, удаляет и управляет данными, содержащимися в ней. Например, если ряд пользователей составляют работающую над проектом команду, разрабатывающую описание изобретения для программного обеспечения нового типа к компьютеру, каждому пользователю может быть определен доступ к совместно используемой библиотеке документов, содержащейся в данной базе данных. Следовательно, если первый пользователь изменяет раздел данных, содержащихся в описании изобретения, то это изменение будет обновлено в базе данных и будет доступно для других пользователей. Впоследствии другой санкционированный пользователь может получить доступ к базе данных и посмотреть изменения, сделанные первым пользователем, и сделать дополнительные изменения или обновления. Следовательно, каждый из пользователей может совместно разрабатывать и вносить свой вклад в данные, содержащиеся и управляемые в базе данных.

Часто пользователь или группа пользователей должны собрать данные из данной базы данных в письмо, служебную записку, статью, электронную таблицу или другой документ для представления данных другим. Продолжая с описанным выше примером, членам группы разработчиков программного обеспечения может потребоваться в различных точках проекта собрать данные, содержащиеся в их совместно используемой базе данных, в один документ, такой как документ-спецификация, чтобы представить этот документ будущим пользователям нового программного обеспечения или рецензенту проекта. К сожалению, если документ подготовлен, то документ становится статическим представлением данных, собранных из базы данных, которая существовала перед подготовкой документа. Если члены работающей на проектом команды обновляют данные в базе данных после подготовки первоначального проекта документа, то документ затем должен обновляться вручную, чтобы отразить изменения в данных, на которых основан документ. Аналогично, если во время подготовки документа члены делают изменения в данных, размещаемых в документе, то соответствующие данные в базе данных затем должны быть обновлены вручную, чтобы отразить изменения, сделанные в документе, которые не отражены в данных, содержащихся в базе данных.

Следовательно, существует потребность в способах и системах сопоставления и связывания частей содержимого документа с соответствующими полями или запросами в базе данных, чтобы обновления соответствующих данных в базе данных автоматически обновляли соответствующие части документа и обновления частей документа автоматически обновляли соответствующие данные в базе данных. Именно в отношении этих и других соображений было сделано настоящее изобретение.

Краткое изложение сущности изобретения

Варианты выполнения настоящего изобретения обеспечивают способы и системы сопоставления (отображения) и связывания элементов в документе с соответствующими полями или запросами в базе данных. Пользователь создаваемого с помощью компьютера документа, такого как документ по подготовке текста или документ электронной таблицы, связывает различные части документа с соответствующими данными в базе данных. В соответствии с одним аспектом изобретения документ аннотируется структурными элементами языка разметки, такого как расширяемый язык разметки (РЯР, XML), чтобы сопоставить части документа с соответствующими данными в базе данных. Если документ размечен структурой РЯР, то схема РЯР присоединяется или ассоциируется с документом для установки типов данных, структур данных и правил элементов РЯР для документа, так что пользователь может аннотировать документ подходящей структурой РЯР, которая сцепляется с выбранной схемой. Альтернативно, пользователь может использовать документ, уже содержащий структурную аннотацию РЯР и уже ассоциированный со схемой РЯР.

После того как документ был структурирован с одним или несколькими элементами, выбирается база данных для ассоциации с документом. Выбор базы данных может включать в себя выбор конкретной таблицы в библиотеке документов, поддерживаемой в базе данных, где конкретная таблица ассоциируется с документом. После выбора конкретной таблицы в базе данных для ассоциации с документом индивидуальные элементы в документе преобразуются в соответствующие поля данных или запросы в выбранной таблице. Запросы могут быть представлены в виде программ, написанных на языке базы данных, таком как язык структурированных запросов (ЯСЗ, SQL). Запросы могут быть представлены, используя хранимые процедуры, в этом случае элемент в документе может отображаться в конкретную хранимую процедуру в базе данных. Отображение (сопоставление) индивидуальных элементов в документе в соответствующие поля данных или запросы в выбранных таблицах базы данных может включать в себя обеспечение уникального идентификатора документа в документе для связывания (для посылки и приема данных) каждого индивидуального элемента с соответствующим полем данных, запросом или процедурой в выбранной таблице или хранимой процедуре. Аналогично, уникальный идентификатор может быть предусмотрен в выбранных полях данных, запросах или хранимых процедурах для связывания индивидуальных полей данных, запросов или процедур с соответствующими элементами в документе.

Если индивидуальные элементы в документе сопоставляются и связываются с соответствующими данными в выбранной таблице или базе данных, то изменения, выполненные в индивидуальных элементах в документе, автоматически вызывают обновления соответствующих полей данных, запросов и/или процедур, с которыми эти элементы сопоставлены или связаны. Если элементы документа связаны с запросами, предоставляющими данные для этих элементов, то они тогда обычно также будут связаны с соответствующими обновляющими запросами, которые способны обновлять базу данных содержимым элементов в документе, чтобы поддерживать двустороннюю связь между документом и базой данных. И наоборот, изменения, выполненные в индивидуальных полях данных, запросах и/или процедурах в выбранных таблицах базы данных, автоматически обновляют соответствующие элементы в документе. Если элементы связаны с запросами, то тогда, когда элементы в документе обновляют свои данные, они вызывают запросы, с которыми они ассоциированы для самой последней группы результатов.

Эти и другие признаки, преимущества и аспекты настоящего изобретения могут быть ясно поняты и оценены из анализа следующего подробного описания раскрытых вариантов выполнения и в результате ссылки на прилагаемые чертежи и формулу изобретения.

Краткое описание чертежей

На фиг.1 представлена блок-схема компьютера и связанных с ним периферийных и сетевых устройств, которые обеспечивают пример рабочего окружения для настоящего изобретения.

На фиг.2 представлена упрощенная блок-схема, изображающая взаимодействие между документом и базой данных, где индивидуальные элементы в документе сопоставляются и связываются с соответствующими полями данных, запросами и/или процедурами в базе данных.

На фиг.3 показано изображение экрана компьютера приложения программного обеспечения для создания документа и для связывания элементов в документе с соответствующими полями данных, запросами и/или процедурами в базе данных.

На фиг.4 показано изображение экрана компьютера приложения программного обеспечения для создания документа и для связывания элементов в документе с соответствующими полями данных, запросами и/или процедурами в базе данных.

На фиг.5 представлена упрощенная блок-схема пользовательского интерфейса сопоставления полей данных, позволяющего пользователю сопоставлять индивидуальные элементы в документе с соответствующими полями данных, запросами и/или процедурами в базе данных.

На фиг.6 и 7 представлены схемы последовательности операций, иллюстрирующие способ сопоставления и связывания элементов документа с соответствующими полями данных, запросами и/или процедурами базы данных.

Подробное описание

Последующее описание вариантов выполнения настоящего изобретения выполнено с ссылкой на вышеописанные чертежи, на которых одинаковые позиции ссылаются на аналогичные детали или компоненты на нескольких чертежах. Настоящее изобретение относится к способам и системам сопоставления и связывания элементов документа с полями данных, запросами и/или процедурами в базе данных.

Рабочее окружение

Фиг.1 и последующее описание предназначены для того, чтобы предоставить краткое, общее описание подходящего вычислительного окружения, в котором может быть осуществлено изобретение. Хотя изобретение описывается в общем контексте программы приложения (прикладной программы), которая выполняется в операционной системе, совместно с персональным компьютером, для специалиста в этой области техники понятно, что изобретение также может быть выполнено в комбинации с другими программными модулями. В общих чертах, программные модули включают в себя стандартные программы, программы, компоненты, структуры данных и т. д., которые выполняют определенные задачи или реализуют определенные абстрактные типы данных. Кроме того, для специалиста в этой области техники ясно, что изобретение может быть осуществлено с другими конфигурациями компьютерных систем, включающими в себя карманные устройства, мультипроцессорные системы, микропроцессорную или программируемую бытовую электронику, сотовые телефоны, миникомпьютеры, мейнфреймы и т. д. Изобретение также может быть осуществлено в распределенных вычислительных средах, где задачи выполняются удаленными обрабатывающими устройствами, которые связаны через сеть передачи данных. В распределенной вычислительной среде программные модули могут быть расположены как на локальных, так и на удаленных запоминающих устройствах хранения.

С ссылкой на фиг.1 примерная система для осуществления изобретения включает в себя обычный персональный компьютер 20, включающий в себя процессор 21, системную память 22 и системную шину 23, которая соединяет системную память с процессором 21. Системная память 22 включает в себя постоянное запоминающее устройство 24 (ПЗУ) и оперативное запоминающее устройство 25 (ОЗУ). Базовая система (26) ввода-вывода (БСВВ), содержащая базовые стандартные подпрограммы, которые способствуют передаче информации между элементами в персональном компьютере 20, например, во время запуска, хранится в ПЗУ 24. Персональный компьютер 20 дополнительно включает в себя привод 27 жесткого диска, привод 28 магнитного диска, например, для считывания или записи на съемный диск 29, и привод 30 оптического диска, например, для считывания компакт-диска 31 или для считывания или записи на другие оптические носители. Привод 27 жесткого диска, привод 28 магнитного диска и привод 30 оптического диска подсоединены к системной шине 23 посредством интерфейса 32 привода жесткого диска, интерфейса 33 привода магнитного диска и интерфейса 34 привода оптического диска соответственно. Приводы и связанные с ними считываемые компьютером носители обеспечивают энергонезависимое запоминающее устройство для персонального компьютера 20. Хотя описание считываемого компьютером носителя выше ссылается на жесткий диск, съемный магнитный диск и компакт-диск, специалисту в этой области техники должно быть понятно, что в примерном рабочем окружении также могут быть использованы другие типы носителей, которые могут считываться компьютером, такие как магнитные кассеты, карты флэш-памяти, цифровые видеодиски, картриджи Бернулли и т. п.

Несколько программных модулей могут храниться на приводах и в ОЗУ 25, включая операционную систему 35, одну или несколько программ 100 приложений, программный модуль 37 текстового процессора (или программный модуль другого типа), программные данные, такие как манифест 38, и другие программные модули (не показаны).

Пользователь может ввести команды и информацию в персональный компьютер 20 с помощью клавиатуры 40 и указательного устройства, такого как мышь 42. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровой планшет, антенну спутниковой связи, сканер и т. д. Эти и другие устройства ввода часто подключаются к процессору 21 через интерфейс 46 последовательного порта, который подсоединен к системной шине, но могут быть подсоединены при помощи других интерфейсов, таких как игровой порт или универсальную последовательную шину (УПШ, USB). Монитор 47 или устройство отображения другого типа также подсоединено к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору персональный компьютер обычно включает в себя другие периферийные устройства вывода (не показаны), такие как громкоговорители или принтеры.

Персональный компьютер 20 может работать в сетевой среде, используя логические соединения с одним или нескольким удаленными компьютерами, такими как удаленный компьютер 49. Удаленным компьютером 49 может быть сервер, маршрутизатор, одноранговое устройство или другой общий узел сети и обычно включает в себя многие или все из элементов, описанных в отношении персонального компьютера 20, хотя только запоминающее устройство 50 хранения было изображено на фиг.1. Логические соединения, изображенные на фиг.1, включают в себя локальную вычислительную сеть 51 (ЛВС) и глобальную сеть 52 (ГС). Такие сетевые окружения являются общепринятыми в офисах, вычислительных сетях масштаба предприятия, интрасетях и Интернете.

При использовании в сетевом окружении ЛВС персональный компьютер 20 соединяется с ЛВС 51 через сетевой интерфейс 53. При использовании в сетевом окружении ГС персональный компьютер 20 обычно включает в себя модем 54 или другое средство для установления передачи данных по ГС 52, такой как Интернет. Модем 54, который может быть внутренним или внешним, подсоединен к системной шине 23 через интерфейс 46 последовательного порта. В сетевом окружении программные модули, описанные в отношении персонального компьютера 20 или его частей, могут храниться на удаленном запоминающем устройстве хранения. Понятно, что показанные сетевые подключения являются примерными, и может быть использовано другое средство для установления линии передачи данных между компьютерами.

Принцип действия

На фиг.2 представлена упрощенная блок-схема, изображающая взаимодействие между документом и базой данных, где индивидуальные элементы в документе сопоставляются и связываются с соответствующими полями данных, запросами и/или процедурами в базе данных. В соответствии с вариантами выполнения настоящего изобретения пользователь ассоциирует элементы в документе с соответствующими полями данных, запросами и/или процедурами в базе данных. Как показано на фиг.2, иллюстративный документ 210 изображен для связывания элементов в документе с соответствующими полями данных, запросами и/или процедурами, содержащимися в базе 205 данных. Как понятно специалисту в этой области техники, документ 210 является примеров документов, которые могут быть созданы и использованы в различных приложениях программного обеспечения, включающих в себя приложения текстового процессора, приложения для подготовки электронных таблиц, приложения веб-браузера и т. п. Только с целью примера документ 210 иллюстрирует документ подготовки текста, в котором пользователь готовит резюме, имеющее название 212 и раздел 213 образования. Специалист в этой области техники должен понять, что текст, изображенный на фиг.2, приведен только в качестве примера, и данные, введенные в документ, могут быть в формате любого типа, включающего буквенно-цифровой текст и изображения, допускаемые приложением программного обеспечения, в котором создается документ.

Для того чтобы задать, сопоставить (преобразовать) и связать элементы в документе 210 с соответствующими полями данных, запросами и/или процедурами в базе 205 данных, элементы в документе 210 структурно аннотируются, так что эти элементы могут быть идентифицированы и указаны на соответствующие поля данных, запросы и/или процедуры в базе 205 данных. В соответствии с вариантом выполнения настоящего изобретения структурная аннотация предусматривается в документе 210, используя язык разметки, такой как расширяемый язык разметки (XML). Как показано в документе 210, элемент <title> элемента XML применяется в документе для создания структуры для раздела 212 названия документа, и элемент 215 <education> применяется в документе для создания структуры для раздела 213 образования в документе.

Элементы документа связываются и сопоставляются с соответствующими полями данных, запросами и процедурами в базе данных посредством создания номера уникального идентификатора (ИД) для документа и посредством ассоциирования уникального ИД документа с данной записью в данной таблице в базе данных. Соответственно, правильная запись может быть найдена в базе данных, когда модифицируется соответствующий элемент в документе, и правильный элемент в документе может быть найден, когда модифицируется соответствующая запись в базе данных. Предпочтительно, что номер уникального ИД хранится в документе.

Для того чтобы обеспечить документ с группой грамматических правил, управляющих типом и структурой данных, которые могут быть включены в документ, как изображено на фиг.2, схема XML присоединяется или ассоциируется с документом для получения правил, управляющих каждым элементом XML, которым пользователь может аннотировать документ. Например, документ резюме может иметь присоединенный или ассоциированный файл 230 схемы, такой как «resume-schema.xsd», для создания допустимого набора элементов XML, таких как <title>, <education>, <experience> (квалификация), <personal interest> (частный интерес) и т. д. Файл схемы включает в себя правила, управляющие порядком, в котором эти элементы могут быть применены к документу, и конкретные правила, ассоциированные с индивидуальными элементами, примененными в документе. Например, схема, присоединенная или ассоциированная с документом резюме, изображенным на фиг.2, может задавать, что данные, ассоциированные с элементом <education>, должны включать в себя название колледжа или университета, за которым следует адрес колледжа или университета.

Как понятно для специалиста в этой области техники, разработчики файлов схемы XML определяют название элементов XML и ассоциированные типы данных и структуры данных, допустимые для этих элементов. Затем все пользователи документов, аннотированных структурой XML в соответствии с данным файлом 230 схемы, могут использовать данные, содержащиеся в структуре XML, не обращая внимания на общий тип и структуру документа. Например, если документ резюме, изображенный на фиг.2, передается будущему работодателю, то будущий работодатель может разработать приложения программного обеспечения для синтаксического анализа документа для локализации конкретных типов данных в документе для использования будущим работодателем. Будущий работодатель, например, может пожелать создать базу данных колледжей и университетов, которые окончили будущие работники. Используя файл 230 схемы, присоединенный к документу, будущий работодатель будет знать, что данные, ассоциированные с элементом <education>, были подготовлены в соответствии с файлом схемы, управляющим документом. Соответственно, будущий работодатель может разработать приложение программного обеспечения для локализации элемента <education> и для извлечения данных, ассоциированных с ним, для вставки в базу данных будущего работодателя. Как изложено выше, для того чтобы связать элемент <education>, например, с записью об образовании в базе данных, номер уникального идентификатора (ИД) должен храниться в документе для ассоциирования документа и его элементов с соответствующими записями в базе данных.

Будущий работодатель, согласно этому примеру, может извлечь эти данные, не принимая во внимание другие аспекты документа, такие как расположение раздела названия и данные, содержащиеся в нем. Это делается возможным вследствие того факта, что каждый пользователь документа придерживается правил типа данных и структуры данных, заданных в файле схемы, присоединенном или ассоциированном с документом. Файл 230 схемы может быть присоединен к документу, или файл схемы может сохраняться в отдельном месте, таком как библиотека файлов схем, доступном для документа. Т. е. документ может содержать указатель на путь файла или уникальный идентификатор пространства имен (например, универсальный идентификатор ресурса (УИДР, URI) или унифицированное имя ресурса (УИР, URN)) для локализации и/или идентификации файла 230 схемы для получения правил документа, управляющих XML-структурой документа.Как кратко описано выше, элементы документа, такие как элементы <title> и <education>, могут быть связаны с полями данных, запросами и/или процедурами в базе 205 данных, так что информация, обновленная в соответствующих полях данных, запросах и/или процедурах, будет автоматически обновлять данные, содержащиеся в соответствующих элементах, содержащихся в документе, и наоборот, как описано ниже.

Обновления в базе данных могут выполняться посредством различных запросов, например, используя язык структурированных запросов (SQL), которые затрагивают многочисленные поля и таблицы в базе данных. В дополнение к поступлению непосредственно от индивидуальных полей данных данные в документе могут поступать от результатов запроса, который собирает информацию от многих полей и/или таблиц базы данных, основываясь на различных критериях выбора. Кроме того, как понятно для специалиста в этой области техники, многие базы данных поддерживают использование хранимых процедур, которыми являются программы для выполнения команд в отношении базы данных для записи данных в базу данных, извлечения данных из базы данных и для управления данными в базе данных.

В дополнение к ассоциированию полей данных с элементами в документе, запросы и хранимые процедуры могут быть ассоциированы с элементами в документе. Могут быть созданы запросы двух типов для каждого элемента для того, чтобы связывание между элементом и запросом было «двусторонним» (чтение-запись) в противоположность «одностороннему» (только чтение). Если только один запрос предусмотрен для считывания данных из базы данных, то тогда изменения данных могут быть выполнены только в базе данных, позволяя документу только их считывать. С другой стороны, если предусмотрен только один запрос, который обновляет базу данных, основываясь на данных в документе, то тогда только документ может быть изменен для обновления базы данных. Двусторонняя связь создается, если предусмотрены два запроса, где один запрос предназначен для чтения данных из базы данных, и один запрос предназначен для записи в базу данных. Следовательно, документ или база данных могут быть обновлены и другой из них автоматически наследует эти обновления. В некоторых вариантах выполнения может быть предпочтительным иметь только одностороннее связывание. Например, администратор базы данных может предпочитать, чтобы изменения в конкретном поле данных могли выполняться только в результате обновления базы данных, а не документа. Тогда только запрос, который считывает самые последние данные из базы данных, будет необходим для поддержания документа обновленным относительно базы данных.

Например, предположим, что пользователем является патентный поверенный, задачей которого является написание заявок на патенты. Каждой заявке на патент в его/ее фирме назначается номер уникального идентификатора (ИД) документа. Также предположим, что его фирма использует базу данных для хранения ассоциаций между именами патентных поверенных и заявками на патент, назначенными каждому поверенному. Если ему/ей был назначен определенный документ заявки на патент, то тогда база данных содержит запись, идентифицирующую его/ее как владельца этого документа заявки на патент посредством хранения его/ее имени и ИД документа в одной записи данных в данной таблице базы данных. В дополнение к этой информации, хранимой в базе данных, формат самого документа заявки требует присутствия в нем ИД документа и имени поверенного. Без настоящего изобретения имя поверенного должно вноситься в базу данных и, если в базе данных изменяется имя поверенного (например, заявка переназначена другому поверенному на фирме), то документ заявки должен быть вручную отредактирован для замены имени предыдущего поверенного на имя нового поверенного.

В соответствии с вариантом выполнения настоящего изобретения предусмотрено средство для вставки в документ соответствующей ассоциации с соответствующими данными в базе данных, так что, если соответствующая запись данных в данной таблице базы данных изменяется (например, другой поверенный назначен документу заявки), то документ автоматически отражает это изменение и обновляет имя поверенного в документе. Если ассоциация является «двусторонней», означая, что также определяется возможность обновления документом базы данных, то тогда имя поверенного может быть изменено в документе и изменение будет обновлено в базе данных. «Двусторонняя» ассоциация или связь создается посредством маркировки имени поверенного в документе соответствующим элементом разметки (например, <AttorneyName>, если используется XML) и указания сопоставления (отображения) между этим элементом и соответствующим запросом в базе данных (например, представленным хранимой процедурой в базе данных, называемой «GetCurrentAttorneyName», для считывания из базы данных и другой процедурой, называемой «SetCurrentAttorneyName», для записи в базу данных). Эта ассоциация сама может храниться в документе или в некоторой части программного модуля, ассоциированного с документом.

В базе 205 данных поля данных, запросы и/или процедуры, соответствующие заданным элементам, содержащимся в документе 210, могут быть созданы для приема, хранения, сортировки и управления данными, ассоциированными с этими элементами. Например, пользователь документа 210 резюме, изображенного на фиг.2, может подготовить запись базы данных в базе 205 данных, содержащую поле данных, ассоциированное с элементом 215 <education>, для управления данными, помещаемыми в раздел 213 образования документа 210 резюме. Необходимо понять, что база данных может быть организована в соответствии с многочисленными логическими ассоциациями данных. Конкретные данные, запрос или процедура могут храниться в конкретном поле. Совокупность полей, ассоциированных с документом, может быть собрана в запись базы данных. Таблица базы данных может включать в себя ряд записей, ассоциированных с классом документов.

Если соответствующее поле данных создано в базе 205 данных, то описанный выше уникальный ИД документа записывается в документ 210 и ассоциируется с элементом <education> для указания этим элементом на соответствующую запись в базе 205 данных, содержащей поле данных с данными для элемента <education>. Аналогично, уникальный ИД документа используется для связывания поля данных, содержащего данные об образовании, обратно с элементом <education> документа 210. Соответственно, когда обновляются данные в поле образования в записи базы (205) данных, соответствующей этому конкретному полю, то автоматически обновляются данные, содержащиеся в разделе 213 образования в документе 210 резюме. И наоборот, если пользователь изменяет данные, содержащиеся в разделе 213 образования в документе 210, то эти изменения автоматически посылаются в поле данных об образовании соответствующей записи в базе 205 данных для обновления данных, содержащихся в ней.

Как должно быть понятно специалисту в этой области техники, может быть написан программный модуль приложения программного обеспечения как для приложения программного обеспечения документа, так и приложения программного обеспечения базы данных для вызова соответствующих полей данных, запросов и/или процедур или для вызова соответствующего элемента документа для запроса обновлений соответствующего поля данных или соответствующих данных элементов документа, когда данные изменяются либо в базе данных, либо в документе. Программным модулем программного обеспечения для направления связи между элементом документа и соответствующим полем данных и наоборот может быть программный модуль программного обеспечения, написанный для приложения документа и/или приложения базы данных, или программный модуль может работать в качестве программного интерфейса приложений или динамически подключаемой библиотеки, доступной для приложения документа и/или приложения базы данных. Приложение базы данных и соответствующая память для базы 205 данных могут быть расположены удаленно от пользовательского компьютера 20 на сервере 49 на удаленном компьютере, доступном для пользовательского компьютера через веб-сервер Интернета, или сервер базы данных, или через подключение Интернета к удаленному серверу базы данных.

В соответствии с вариантом выполнения настоящего изобретения база 205 данных может содержать библиотеку 220 документов, в которой могут сохраняться многочисленные заданные типы документов вместе с ассоциированными полями данных, запросами и/или процедурами. Как описано ниже, пользователь может выбрать тип документа из библиотеки 220 документов посредством пользовательского приложения документа для открытия конкретного документа, который уже структурно аннотирован и ассоциирован с соответствующими полями данных, запросами и/или процедурами в базе данных. Например, если пользователь является членом работающей над проектом команды, готовящей документ описания изобретения к заявке на патент, то документ описания изобретения к заявке на патент может содержаться в библиотеке 220 документов. Если пользователь желает работать над документом описания изобретения к заявке на патент, то пользователь может выбрать документ описания изобретения к заявке на патент из библиотеки документов посредством базы 205 данных. Документ описания изобретения к заявке на патент открывается пользователю, используя пользовательское приложение документа, со всей структурной аннотацией к документу уже расположенной в соответствующем месте. Например, документ описания изобретения к заявке на патент может быть в виде шаблона, содержащего аннотацию XML-разметки и ассоциированную XML-схему и указатели на путь файла, позволяющие пользователю начать подготовку документа из данных, загруженных из соответствующих полей данных, запросов и/или процедур в базе 205 данных, или пользователь может подготовить документ посредством вставки данных в документ, которые затем автоматически посылаются в соответствующие поля данных, запросы и/или процедуры, содержащиеся в базе 205 данных.

Как показано на фиг.2, после выбора данного документа из библиотеки 220 документов на стороне базы данных пользователь может получить доступ к полям данных, запросам и/или процедурам для документа резюме, ассоциированного с документом 210 резюме. Соответственно, пользователь может обновлять данные, содержащиеся в индивидуальных полях данных, запросах и/или процедурах 225, для того, чтобы вызвать автоматическое обновление данных в соответствующем документе 210. База 205 данных может работать в среде с совместно используемыми данными, где несколько пользователей могут иметь доступ к одной базе данных, такой как база 225 данных документов резюме, для добавления, удаления и всеобщего обновления данных, содержащихся в соответствующих полях данных, запросах и/или процедурах. Так как каждое поле данных, такое как поле данных названия в документе 225 резюме, сопоставляется и связывается с соответствующим разделом 212 названия документа 210 резюме, изменения в данных, содержащихся в поле данных названия документа 225 резюме, будут вызывать обновление информации, содержащейся в разделе 212 названия документа. Например, если данные в разделе названия документа 225 резюме изменяются с «John Doe» на «Jane Doe», то информация, содержащаяся в разделе названия документа 210 резюме, автоматически будет изменена с «John Doe» на «Jane Doe». Аналогично, если пользователь открывает документ 210 резюме и изменяет название с «John Doe» на «Jane Doe», то будут автоматически обновлены данные, содержащиеся в разделе названия поля 225 данных документа резюме в базе 205 данных.

На фиг.3 показано изображение экрана компьютера приложения программного обеспечения для создания документа и для связывания элементов в документе с соответствующими полями данных, запросами и/или процедурами в базе данных. В соответствии с одним вариантом выполнения настоящего изобретения и как вкратце описано выше, в базе 205 данных может быть обеспечен доступ к библиотеке 220 документов для получения ранее созданного документа, который сопоставлен с соответствующей базой данных, или для получения шаблона документа для создания документа, который может быть сопоставлен с соответствующей базой данных. Ссылаясь на фиг.3, после выбора кнопки 310 примерной библиотеки документов пользовательского приложения 300 документа может быть запущен пользовательский интерфейс 320 библиотеки документов, предоставляющий пользователю список доступных документов или типов документов. Например, пользователь может выбрать документ 325 резюме из пользовательского интерфейса 320 библиотеки документов для запуска документа 210 резюме, изображенного на фиг.2.

Если пользователь запускает документ 210 резюме посредством выбора документа резюме из пользовательского интерфейса 320 библиотеки документов, то документ 210 резюме отображается пользователю для редактирования. В соответствии с одним вариантом выполнения настоящего изобретения запускаемый документ резюме может включать в себя наиболее последнюю версию документа 210 резюме, включающую в себя данные, заполненные в каждом элементе документа из соответствующих полей данных, запросов и/или процедур базы 205 данных, так как элементы документа ассоциированы с соответствующими записями базы данных посредством соответствия уникального ИД документа с соответствующими записями базы данных. Как описано выше с ссылкой на фиг.2, если пользователь обновляет данные, содержащиеся в различных элементах документа 210 резюме, то обновляются данные, содержащиеся в соответствующих полях данных, запросах и/или процедурах базы 205 данных. Аналогично, изменения в данных, содержащихся в соответствующих полях данных, запросах или процедурах базы 205 данных, будут автоматически обновлять соответствующие данные, содержащиеся в элементах данных документа 210 резюме.

Альтернативно, документы, перечисленные в библиотеке документов, использующей интерфейс 220, могут включать в себя многочисленные документы шаблонов, доступные для пользователя, для ассоциирования с соответствующими полями данных, запросами и/или процедурами в базе 205 данных. В соответствии с вариантом выполнения изобретения каждый тип документа может включать в себя ряд структурных элемент