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

Иллюстрации

Показать все

Изобретение относится к средствам создания и использования «интеллектуальных» документов, создаваемых на компьютере, к которым присоединены функции, обеспечивающие контекстно-зависимые инструменты, органы управления и справочное информационное наполнение для пользователей этих документов. Техническим результатом является повышение быстродействия обработки документов за счет привлечения контекстно-зависимых инструментов на компьютере. Фрагменты документов аннотируют тэгами и структурой расширяемого языка разметки (XML), при входе пользователя в эти фрагменты обеспечивают пользователя контекстно-зависимыми инструментами, органами управления и/или справочным информационным наполнением относящихся к контексту текста или данных, на которых располагается курсор. Инструментальная панель документа может открываться на экране компьютера пользователя рядом с редактируемым документом. Переместив курсор на фрагмент документа, пользователь может получать информацию, связанную с контекстом этого фрагмента документа. 2 н. и 14 з.п. ф-лы, 8 ил.

Реферат

Область техники

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

Предпосылки изобретения

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

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

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

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

Настоящее изобретение призвано решить вышеописанные и другие проблемы.

Сущность изобретения

Настоящее изобретение предусматривает способ и систему для создания, реализации и использования документов, создаваемых на компьютере, которые предоставляют пользователю(ям) этих документов контекстно-зависимые инструменты, органы управления и справочное информационное наполнение. В общих чертах, к документу присоединяют схему, задающую допустимые информационное наполнение данных, тип данных и структуру данных для документа. Документ структурируют, чтобы связать документ со схемой, и решение связывают со структурой документа. Ряд программных компонентов ассемблируют для обеспечения решения для документа, и документу разрешается вызывать ряд программных компонентов, обеспечивающих решение для документа, в зависимости от позиции редактирования в документе.

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

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

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

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

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

Фиг.2 - блок-схема, иллюстрирующая архитектуру клиентского программного обеспечения, используемого согласно варианту осуществления настоящего изобретения.

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

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

Фиг.5 - логическая блок-схема, иллюстрирующая способ открытия документа, созданного согласно варианту осуществления настоящего изобретения.

Фиг.6 - иллюстрация диалогового окна, генерированного компьютером, для предоставления пользователю нескольких решений документа.

Фиг.7 - иллюстрация диалогового окна, генерированного компьютером, помогающего пользователю загружать компоненты в приложение, созданное в соответствии с настоящим изобретением.

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

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

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

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

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

Согласно иллюстративному документу, представленному на фиг.1, прикладная программа 100 текстового процессора обеспечивает обычные функции, связанные с текстовым процессором, доступные через выпадающие меню, как то Файл, Правка, Вид, Вставка, Формат и т.д. Документ 110 отображен в рабочей области приложения 100, и инструментальная панель 135 документа проиллюстрирована справа от документа 110. Следует понимать, что отображение, проиллюстрированное на фиг.1, показано исключительно для примера и компоненты, показанные на фиг.1, могут располагаться по-разному, в зависимости от предпочтений пользователя. Так, инструментальная панель документа может располагаться внизу экрана, слева от документа 110 или в других положениях, предусмотренных приложением 100.

Подробное обсуждение создания и реализации «интеллектуального» документа 110, проиллюстрированного на фиг.1, следует ниже, но, в целом, согласно варианту осуществления настоящего изобретения, когда пользователь помещает компьютерный курсор в конкретный раздел документа 110, например в раздел «задания» 125, показанный на фиг.1, пользователю предоставляются инструменты и справочное информационное наполнение в инструментальной панели 135 документа. Например, если пользователь помещает компьютерный курсор в раздел «задания» 125, то пользователю может быть предоставлены «всплывающие подсказки по записи заданий» 155, показанные в инструментальной панели 135 документа. При выборе «всплывающих подсказок по записи заданий» 155, проиллюстрированных на фиг.1, отображается текст 160 «всплывающих подсказок по записи заданий», который предоставляет пользователю полезную информацию о том, как составлять раздел «задания» в документе 110 обзора занятости, проиллюстрированном на фиг.1. Если пользователь переместит курсор в другой раздел документа, например в раздел 120 личных сведений, то в инструментальной панели 135 документа будет предоставлена информация, призванная помочь пользователю в составлении раздела 120 личных сведений.

Помимо полезной информации в помощь пользователю, предусмотрены различные инструменты и действия 145 документа. Например, действие «представить обзор» дает возможность пользователю представить составленный документ 110 своему инспектору или своему служащему, когда документ будет готов. Действие «открыть последний обзор» позволяет пользователю открыть последний обзор занятости, чтобы определить, указал ли он свои задания, указанные в последнем обзоре. Если документ, используемый пользователем, является документом какого-либо другого типа, например документом резюме, то полезная информация в инструментальной панели документа может включать в себя информацию по подготовке раздела «образование», раздела «опыт работы» и/или раздела «личные сведения». Документ 110 завещания может быть связан с полезной информацией, касающейся правовых норм, касающихся составления завещаний, правил, касающихся наследников имущества, и т.д.

Помимо действий документа и справочного информационного наполнения, проиллюстрированных в панели 135, могут быть предусмотрены различные органы управления документа, в том числе кнопки с зависимой фиксацией, текстовые окна, кнопки с независимой фиксацией, органы управления ActiveX, органы управления деревом XML и т.д. Например, может быть предусмотрено текстовое окно, позволяющее пользователю выбирать из списка заранее написанных фрагментов текста. Альтернативно, пользователь имеет возможность вводить текст в окне списка, предусмотренном в панели 135, которое затем будет вставлено в документ или использовано приложением в отношении некоторой другой функции приложения. Могут быть предусмотрены кнопки с зависимой фиксацией или кнопки с независимой фиксацией, позволяющие пользователю выбирать из разных вариантов действий документа или справочного информационного наполнения. Например, если документ является завещанием, могут быть предусмотрены кнопки с независимой фиксацией, позволяющие пользователю выбирать «состоит в браке», «холост» и т.д., чтобы получить справочное информационное наполнение на основании личной воли и профиля имущества пользователя.

На фиг.2 проиллюстрирована общая архитектура системы, позволяющей создавать и использовать «интеллектуальный» документ 110 согласно настоящему изобретению. Вышеописанную прикладную программу 100 открывают на компьютере 20 пользователя для создания или редактирования документа 110 согласно настоящему изобретению. Предусмотрена библиотека 105 схем, в которой содержатся все выполняемые файлы, необходимые для снабжения документа 110 контекстно-зависимыми функциями. Например, библиотека схем может включать в себя различные компоненты, в том числе отдельные модульные процедуры, которые были скомпилированы и динамически связаны и которые приложение 100 может использовать для снабжения документа 110 контекстно-зависимыми функциями.

Такие компоненты могут включать в себя несколько динамически подключаемых библиотек (DLL), которые включают в себя выполняемые файлы или процедуры, хранящиеся отдельно от прикладной программы 110. DLL загружаются прикладной программой 100 только тогда, когда они необходимы для обеспечения функций документа 110. Дополнительно, как описано подробно ниже, библиотека 105 схем может включать в себя несколько файлов расширяемого языка разметки (XML), обеспечивающих контекстно-зависимые функции в совокупности со структурой XML, которая была наложена на документ 110.

В состав документа 110 входит атрибут 115 решения, указывающий документу на конкретное решение, содержащееся в библиотеке 105 схем. Атрибут 118 размещения решения снабжает документ 110 и приложение 100 информацией, относящейся к размещению атрибута решения в библиотеке схем или к удаленному размещению, обеспечиваемому посредством распределенной вычислительной среды, например, обеспечиваемому веб-сервером через Интернет.

Согласно настоящему изобретению и согласно нижеследующему подробному описанию, когда пользователь фокусируется на конкретном фрагменте документа 110, например на разделе «задания» обзора занятости 110, проиллюстрированного на фиг.1, атрибут 115 решения указывает документу на решение помощи по разделу «задания», проиллюстрированное в инструментальной панели 135 документа. Размещение 118 решения сообщает документу 110 и приложению 100 размещение компонентов, DLL или файлов XML, необходимых для реализации этого решения. Следует понимать, что иллюстративные компоненты могут включать в себя компоненты, отображающие инструментальную панель 135 документа, компоненты, отображающие информацию, связанную с конкретным контекстом, в данном случае, с разделом «задания», и компоненты, выполняющие действия документа, например действие 145 «представить обзор».

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

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

Ряд программных модулей может храниться на дисках и в ОЗУ 25, в том числе операционная система 35, одна или несколько прикладных программ 100, программный модуль 35 текстового процессора (или программный модуль другого типа), программные данные, например декларация 38 и другие программные модули (не показаны). Пользователь может вводить команды и информацию в персональный компьютер 20 посредством клавиатуры 40 и указательного устройства, например мыши 42. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканнер и т.п. Эти и другие устройства ввода обычно подключены к системной шине, но возможно подключение через другие интерфейсы, например игровой порт или универсальную последовательную шину (USB). Монитор 47 или устройство отображения другого типа также подключен к системной шине 23 через интерфейс, например видеоадаптер 48. Помимо монитора, персональные компьютеры обычно содержат другие периферийные устройства вывода (не показаны), например громкоговорители или принтеры.

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

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

На фиг.4 представлена логическая блок-схема, иллюстрирующая способ создания «интеллектуального» документа 110 согласно варианту осуществления настоящего изобретения. Способ 300 начинается с начального этапа 305 и переходит к этапу 310, на котором к документу присоединяют схему XML. Специалистам в данной области очевидно, что схема устанавливает грамматику и правила, связанные с тэгами расширяемого языка разметки (XML), наложенными на документ 110 для снабжения документа 110 структурой XML. Схема, присоединенная к документу 110, проиллюстрированному на фиг.1, может устанавливать все правила, относящиеся к грамматике, типам данных и информационному наполнению данных, допустимым для тэгов, связанных с документом 110. Например, раздел 120 «личные сведения», который включает в себя наименование электронной почты, заголовок и идентификацию работника, может иметь схему, которая требует, чтобы данные, вводимые в блок «ФИО», имели вид «имя», затем «отчество» и, наконец, «фамилия».

Специалистам по расширяемому языку разметки очевидно, что после того, как этот фрагмент документа 110 проаннотирован структурой XML, соответствующей, например, элементу «ФИО», программные компоненты могут манипулировать данными, введенными в этот раздел документа, безотносительно к фактическому информационному наполнению данных, поскольку информационное наполнение было введено в соответствии со схемой, предписанной для этого фрагмента документа.

На этапе 315 документ 110 аннотируют структурой XML, которая будет связана с инструментами и функциями помощи, для обеспечения документа вышеописанными контекстно-зависимыми функциями. Упрощенная аннотация структурой XML документа 110 обзора работника, проиллюстрированного на фиг.1, выглядит следующим образом.

Образец структуры XML

Текст программы вставить без перевода.

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

Образец схемы

Текст программы вставить без перевода

На этапе 320 документ 110 сохраняют совместно с соответствующей схемой документа и структурой XML.

На этапе 325 записывают программный код, необходимый для отображения инструментов, органов управления и действий и манипулирования ими в инструментальной панели 135 документа, в соответствии с позицией курсора пользователя в документе 110. Код, записанный на этапе 325, включает в себя необходимые файлы XML, в том числе файлы расширяемого языка стилей (XSL), содержащие трансформации XSL и объекты форматирования XSL. Специалистам в данной области очевидно, что трансформации XSL включают в себя файлы, содержащие конкретные правила преобразования одного документа XML в другой документ XML. Специалистам в данной области очевидно, что все файлы XML, в том числе документы XML и документы трансформации XML, записываются для обработки документа 110 как документа, снабженного структурой XML.

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

Другой код, записываемый для документа 110 на этапе 325, включает в себя все компоненты, например динамически присоединяемые библиотеки (DLL), необходимые приложению 100 и документу 110 для снабжения документа 110 контекстно-зависимыми функциями, описанными со ссылкой на фиг.1. Например, можно записывать DLL в виде интерфейса прикладного программирования (API), чтобы вызывать то или иное решение, содержащееся в библиотеке 105 схем, когда пользователь помещает компьютерный курсор в определенном контексте документа 110. Таким образом, когда компьютерный курсор находится в определенном разделе или фрагменте документа 110, например во фрагменте «ФИО», программный интерфейс приложения используется для нахождения атрибута 115 решения, связанного с фрагментом «ФИО» документа 110, и для вызова этого решения для обеспечения инструментов документа, действий и справочного информационного наполнения документа, связанных с фрагментом «ФИО» документа.

Другие иллюстративные компоненты, записываемые на этапе 325, включают в себя компоненты для отображения инструментальной панели 135 документа и для отображения текстовой информации, связанной с элементами XML в документе 110, где в данный момент находится компьютерный курсор. Другие компоненты могут включать в себя модульные программные процедуры, отображающие действия, например кнопку «представить обзор», которая позволяет пользователю представить обзор третьей стороне, например работнику пользователя или инспектору пользователя. Можно предусмотреть еще ряд компонентов для отображения и обеспечения функций органов управления, например кнопок с зависимой фиксацией, текстовых окон и кнопок с независимой фиксацией, описанных выше со ссылкой на фиг.1. На этапе 325 записывают также любые дополнения модели компонентных объектов, которые могут потребоваться для обеспечения функций согласно настоящему изобретению. Помимо программных компонентов, необходимых для обеспечения вышеописанных функций инструментов документа и помощи, фактический текст справочного информационного наполнения, отображаемый в панели 135, ассемблируют для развертывания при вызове соответствующего раздела справки.

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

Все вышеупомянутые файлы, компоненты, дополнительные компоненты, DLL, файлы схемы и файлы XML ассемблируют и сохраняют, чтобы приложение 100 могло использовать их для обеспечения контекстно-зависимых функций документа 110. Библиотека 105 схем может иметь вид базы данных, содержащей указатели на вышеупомянутые сохраненные компоненты, которые могут храниться в различных элементах памяти компьютера 20, в том числе в регистрах компьютера.

Согласно варианту осуществления настоящего изобретения предусмотрен интерфейс прикладного программирования (API), реализующий функции настоящего изобретения, чтобы предоставлять документу 110 решение «интеллектуального» документа. API включает в себя атрибуты и методы или команды, которые вызываются при инициировании того или иного действия, например, открытия документа 110, который, в свою очередь, указывает на решение, что описано выше. Ниже приведен образец программного кода компьютера, реализующего API «интеллектуального» документа. Нижеприведенный образец кода не ограничивает изменения, которые можно вносить в компьютерный программный код, который можно записывать для реализации API согласно настоящему изобретению.

Образец API интеллектуального документа

Текст программы вставить без перевода.

В вышеприведенный API входит ряд атрибутов и методов. Метод SmartDocInitialize содержит процедуры и команды, выполняемые при вызове API для обеспечения функций «интеллектуального» документа для документа 110. Атрибут SmartDocXMLTypeCount содержит ряд типов элемента XML, связанных с решением. Атрибут SmartDocXMLTypeName содержит уникальные идентификаторы для типов элемента XML, связанных с решением «интеллектуального» документа. Атрибут SmartDocXMLTypeCaption содержит заголовки, связанные с элементами XML, которые можно включать в меню или панель, например панель 135 помощи.

Атрибут ControlCount содержит ряд органов управления, связанных с решением «интеллектуального» документа для конкретного типа элемента XML. Атрибут ControlID содержит уникальные идентификаторы органов управления. Атрибут ControlTypeFromID содержит типы органов управления, доступные для использования с соответствующим решением, например кнопки с зависимой фиксацией, текстовые окна и кнопки с независимой фиксацией. Атрибут ControlNameFromID возвращает имя, связанное с каждым органом управления, для внутреннего использования данной прикладной программой 100.

Метод PopulateRadioGroup содержит процедуры и команды, выполняемые для заполнения кнопок с зависимой фиксацией в меню или панели, например панели 135 помощи. Метод OnRadioGroupSelectChange содержит процедуры и команды, выполняемые при выборе или отмене выбора группы с зависимой фиксацией (кнопк с зависимой фиксацией).

Метод Populate Image содержит процедуры и команды, выполняемые для заполнения изображения, связанного с решением, например изображения, заполняемого в панели 135 помощи. Метод ImageClick содержит процедуры и команды, которые выполняются, когда пользователь выбирает изображение.

Метод PopulateDocumentFragment содержит процедуры и команды, выполняемые для заполнения пользовательского интерфейса текстом или данными. Метод PopulateActiveXProps содержит процедуры и команды, выполняемые для получения функций ActiveX, связанных с решением документа.

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

Метод PopulateListOrComboContent содержит процедуры и команды, выполняемые для заполнения органа управления в виде окна списка в пользовательском интерфейсе, например, панели 135. Метод OnListOrComboSelectChange содержит процедуры и команды, выполняемые при выборе элемента в органе управления в виде окна списка.

Метод PopulateTextboxContent содержит процедуры и команды для заполнения текстового окна в пользовательском интерфейсе, например, панели 135. Метод OnTextboxContentChange содержит процедуры и команды, выполняемые для манипулирования событием, связанным с изменением информационного наполнения органа управления в виде текстового окна в пользовательском интерфейсе, например, панели 135.

Метод PopulateHelpContent содержит процедуры и команды для наполнения поля справочной информации в панели 135 необходимым(и) текстом или данными. Метод InvokeControl содержит процедуры и команды, выполняемые при выборе или отмене выбора органа управления, например кнопки с зависимой фиксацией, текстового окна или кнопки с независимой фиксацией.

Согласно фиг.4 на этапе 330 определяют, может ли документ 110 участвовать в операции клиент-сервер. Это значит, что компоненты, обеспечивающие контекстно-зависимые функции для приложения 110, или обновленные или измененные версии этих компонентов могут храниться на удаленном сервере отдельно от компьютера 20. Если документу нужно предоставить возможность получать необходимые компоненты для работы приложения и документа от удаленного сервера, то способ переходит к этапу 335 и код сервера записывают на сервере для ответа на действия клиента, осуществляемые пользователем на компьютере 20. Это значит, что записывают программные интерфейсы приложения, сопрягающие компьютер 20 и удаленный сервер 49, чтобы получать данные, хранящиеся на сервере, и компоненты приложения, необходимые для обеспечения контекстно-зависимых функций настоящего изобретения. Если желательно, чтобы приложение указывало на удаленный сервер, где размещены данные и компоненты приложения, то добавляют идентификатор размещения решения, например URL решения, указывающие приложению, на каком удаленном сервере можно получить необходимые данные и компоненты приложения.

На этапе 340 создают декларацию всех вышеописанных программных компонентов для идентификации списка компонентов, DLL, файлов схемы и файлов XML, которые будут использоваться для снабжения документа 110 различными решениями и функциями. К документу 110 добавляют указатель, который указывает документу на декларацию компонентов, чтобы он мог получить функции, обеспечиваемые отд