СИСТЕМА И СПОСОБ ДЛЯ ОТОБРАЖЕНИЯ ДАННЫХ С ВЛОЖЕННЫМИ ТАБЛИЦАМИ БЕЗ СХЕМЫ
SYSTEM AND METHOD FOR DATA DISPLAY WITH ENCLOSED TABLES WITHOUT CIRCUIT DIAGRAM

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННУЮ ЗАЯВКУ
Настоящее изобретение является частичным продолжением находящейся на рассмотрении заявки на патент США под серийным номером 10/772001, поданной 4 февраля 2004 года и озаглавленной «System and Method for Schemaless Data Mapping» («Система и способ для отображения данных без схемы»).
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение в общем относится к системам и способам отображения данных, и более конкретно, к системам и способам отображения данных без использования схемы.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Так как расширяемый язык разметки (XML) становится наиболее общеупотребительным для перемещения данных между приложениями, в особенности через Интернет, то в популярных приложениях реализованы относящиеся к Web (всемирной паутине) возможности (например, опубликование документа в Web) через использование XML. Одним из таких приложений является MICROSOFT EXCEL (офисное приложение для работы с электронными таблицами), предложенное корпорацией Майкрософт из г.Редмонт штата Вашингтон. XML-списки внедрялись для отображения полезных XML-данных в соответствии с предопределенной схемой. В типичном случае, отношения между полезными XML-данными и компоновкой XML-списка определены XML-отображением, которое является частью определения рабочего журнала крупноформатной электронной таблицы. XML-отображение может определять расположение XML-списка в рабочем журнале, количество столбцов, которые будут отображены и тип элемента или атрибута, ассоциированного с каждым столбцом. Файл крупноформатной электронной таблицы XML (XMLSS) описывает рабочий журнал крупноформатной электронной таблицы, включая все XML-списки, которые содержит рабочий журнал. Элементы предопределенной схемы отображаются на сетку с целью создания отображенного XML-списка, каждая строка которого представляет экземпляр узла полезных данных. Как правило, схема задает форму полезных XML-данных.
Для того, чтобы приложение электронных таблиц могло обеспечить эффективное взаимодействие через Интернет, это приложение должно гарантировать, что заданный рабочий журнал загружается и визуально воспроизводится через сеть так же, как это имело бы место в автономной системе. Критической частью в отношении этой точности воспроизведения является отображение полезных данных в XML-списки. Такое отображение требует использования предопределенной схемы.
К сожалению, зависимость от предопределенной схемы для отображения полезных XML-данных в XML-список может быть проблемной. Например, если схема недоступна или нарушена, то данные не могут быть должным образом отображены. Дополнительно, применение схемы к полезным данным и XML-спискам может требовать интенсивной обработки процессором (CPU) компьютера. Такая нагрузка на процессор может быть непрактичной или невыгодной для вычислительных систем, таких как серверы или карманные устройства.
Отображение полезных данных в список крупноформатной электронной таблицы без использования схемы может быть затруднено из-за сложности отображения вложенных таблиц. Вложенные таблицы часто используются для визуального воспроизведения сложных полезных данных с тем, чтобы таблица могла содержать множество таблиц (например, подтаблицы). Рекурсивная природа вложенных таблиц предоставляет возможность для визуального воспроизведения взаимосвязанных полезных данных.
Следовательно, в данной области техники существует необходимость в системе и способе для отображения данных в список крупноформатной электронной таблицы без использования схемы.
Также в данной области техники существует необходимость в системе и способе для отображения полезных данных в список крупноформатной электронной таблицы без использования схемы, в которых результат в значительной степени подобен отображению данных с помощью схемы.
Более того, в данной области техники существует необходимость в системе и способе для отображения полезных данных в список крупноформатной электронной таблицы наряду с поддержкой реализации вложенных таблиц без использования схемы.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В общих чертах настоящее изобретение содержит систему и способ для отображения полезных данных в список крупноформатной электронной таблицы (например, XML-список), содержащий данные крупноформатной электронной таблицы. Более конкретно, настоящее изобретение содержит систему для отображения полезных данных в список крупноформатной электронной таблицы наряду с поддержкой реализации вложенных таблиц без использования схемы. После приема списка крупноформатной электронной таблицы, согласно настоящему изобретению генерируют порождающий путь каждого пути поля, заданного в списке крупноформатной электронной таблицы. Самый длинный порождающий путь (например, базовый путь) может быть использован для генерации набора связующих узлов из полезных данных. Согласно настоящему изобретению можно отображать каждый связующий узел в строку в списке крупноформатной электронной таблицы. С помощью прохождения из каждого связующего узла, используя базовый путь и пути поля, согласно настоящему изобретению можно получать значения всех других полей в строках списка крупноформатной электронной таблицы. В качестве альтернативы, если более чем один порождающий путь квалифицирован как самый длинный порождающий путь и такие порождающие пути не равны друг другу или не являются подмножеством друг друга, то такие порождающие пути могут быть назначены в качестве ответвленных базовых путей. Все другие порождающие пути могут затем быть ассоциированы с надлежащим ответвленным базовым путем. Во время процесса связывания каждый ответвленный базовый путь может быть оценен с целью генерации результирующих узлов, которые могут быть использованы для получения значений полей списка крупноформатной электронной таблицы.
Преимущественно, согласно настоящему изобретению отображают полезные данные в список крупноформатной электронной таблицы без использования схемы. Настоящее изобретение обеспечивает результат, по существу аналогичный результату, получаемому посредством использования схемы. Дополнительно, настоящее изобретение поддерживает реализацию вложенных таблиц в пределах списка крупноформатной электронной таблицы. Следовательно, настоящее изобретение устраняет зависимость от схемы для отображения полезных данных в список крупноформатной электронной таблицы и, следовательно, уменьшает потенциальную возможность ошибки отображения данных. Дополнительно, устранение такой зависимости (например, требующего интенсивной обработки отображения данных) освобождает ценные ресурсы процессора компьютера для более важных задач.
Другие признаки и преимущества настоящего изобретения станут очевидными после прочтения и осмысления настоящего описания при рассмотрении совместно с приложенными чертежами.
ПЕРЕЧЕНЬ ФИГУР ЧЕРТЕЖЕЙ
Фиг.1 - блок-схема системы отображения данных крупноформатной электронной таблицы в соответствии с примерным вариантом осуществления настоящего изобретения.
Фиг.2 - блок-схема вычислительной среды и ее компьютерных систем, которые настоящее изобретение может использовать в соответствии с примерным вариантом его осуществления.
Фиг.3 - представление псевдокода данных крупноформатной электронной таблицы, включающих в себя список крупноформатной электронной таблицы, в соответствии с примерным вариантом осуществления настоящего изобретения.
Фиг.4 - представление псевдокода полезных данных в соответствии с примерным вариантом осуществления настоящего изобретения.
Фиг.5 - блок-схема полезных данных в соответствии с примерным вариантом осуществления настоящего изобретения.
Фиг.6 - блок-схема отображенного списка крупноформатной электронной таблицы в соответствии с примерным вариантом осуществления настоящего изобретения.
Фиг.7A-7C - блок-схема последовательности операций способа отображения полезных данных в список крупноформатной электронной таблицы в соответствии с примерным вариантом осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗБРЕТЕТНИЯ
Далее, ссылаясь на чертежи, на которых одинаковыми номерами обозначены одинаковые компоненты и этапы по нескольким представлениям, на фиг.1 показана блок-схема системы 100 отображения данных крупноформатной электронной таблицы в соответствии с примерным вариантом осуществления настоящего изобретения. Система 100 отображения данных крупноформатной электронной таблицы может содержать устройство связи 103, включающее в себя, но не в качестве ограничения, блок 109 хранения крупноформатной электронной таблицы, блок 105 хранения полезных данных и блок 106 отображения. Устройство 103 связи может быть поддержано аппаратными и программными компонентами, подобными тем, которые установлены в широко известных вычислительных системах, средах и/или конфигурациях, описанных более полно ниже со ссылкой на фиг.2.
Блок 109 хранения крупноформатной электронной таблицы соединен с возможностью осуществления связи с блоком 106 отображения. Блок 109 хранения крупноформатной электронной таблицы хранит данные крупноформатной электронной таблицы, включая списки крупноформатной электронной таблицы, такие как, но не в качестве ограничения, списки 112 на расширяемом языке разметки (XML), описанные более полно ниже со ссылкой на фиг.3. Блок 109 хранения крупноформатной электронной таблицы содержит запоминающее устройство, выполненное с возможностью хранения и извлечения данных, включающее в себя, но не в качестве ограничения, оперативное запоминающее устройство (ОЗУ), флэш-память, магнитные запоминающие устройства, оптические запоминающие устройства, накопители на жестких дисках, съемные энергозависимые или энергонезависимые запоминающие устройства, оптические носители информации, магнитные носители информации или карты памяти ОЗУ. В качестве альтернативы, блок 109 хранения крупноформатной электронной таблицы может содержать удаленно оборудование для хранения, доступное через проводную и/или беспроводную сетевую систему. Дополнительно, блок 109 хранения крупноформатной электронной таблицы может содержать запоминающую систему, включающую в себя многокаскадную систему из первичных и вторичных запоминающих устройств, как описанные выше. Первичное запоминающее устройство и вторичное запоминающее устройство могут работать в качестве кэша (быстродействующей буферной памяти) друг для друга, или вторичное запоминающее устройство может служить в качестве резервного для первичного запоминающего устройства. В еще одной компоновке блок 109 хранения крупноформатной электронной таблицы может содержать запоминающее устройство, сконфигурированное как простой файл базы данных или как поисковая реляционная база данных, использующая язык запросов, такой как SQL (язык структурированных запросов).
Блок 115 хранения полезных данных соединен с возможностью осуществления связи с блоком 106 отображения. Блок 115 хранения полезных данных хранит полезные данные, причем полезные данные могут быть отображены в соответствующий XML-список 112 данных крупноформатной электронной таблицы. Полезные данные описаны более полно ниже со ссылкой на фиг.4. Блок 115 хранения полезных данных содержит запоминающее устройство, подобное запоминающему устройству, описанному выше со ссылкой на блок 109 хранения крупноформатной электронной таблицы.
Блок 106 отображения соединен с возможностью осуществления связи с блоком 109 хранения крупноформатной электронной таблицы и блоком 115 хранения полезных данных. Блок 106 отображения сконфигурирован аппаратными средствами и программным обеспечением (см. фиг.2), подходящими для выполнения задач и предоставления функциональных возможностей, описанных в настоящем описании. Блок 106 отображения может быть выполнен с возможностью отображения полезных данных, хранящихся в блоке 115 хранения полезных данных, в XML-список 112, хранящийся в блоке 109 хранения крупноформатной электронной таблицы.
При работе блок 106 отображения принимает данные крупноформатной электронной таблицы из блока 109 хранения крупноформатной электронной таблицы и принимает полезные данные из блока 115 хранения полезных данных. Данные крупноформатной электронной таблицы могут включать в себя XML-списки 112, которые могут быть в общем определены группой полей (также упоминаемых здесь как «столбцы»). В типичном случае, поле может быть вычислено или отображено. Вычисленные поля могут быть определены формулой или значением константы, тогда как отображенные поля могут быть определены «путем» или «указателем» на полезные данные. Блок 106 отображения может использовать пути поля, чтобы получать перечень узлов (к примеру, иногда упоминаемых как «связующие узлы») из полезных данных, посредством чего каждый узел может затем быть отображен блоком 106 отображения в строку в XML-списке 112. Блок 106 отображения может получать значения из полезных данных для всех полей в пределах XML-списка 112 с помощью следования по пути от узлов до требуемых полей.
В альтернативном варианте осуществления настоящего изобретения, устройство 103 связи дополнительно содержит интерфейс 118 пользователя, который может быть выполнен с возможностью визуального воспроизведения данных для пользователя и приема входных данных пользователя. Интерфейс 118 пользователя соединен с возможностью осуществления связи с блоком 106 отображения. Блок 106 отображения может предоставлять отображенные XML-списки 112 интерфейсу 118 пользователя, который может визуально воспроизводить отображенный XML-список 112 пользователю посредством устройства визуального воспроизведения (дисплея) (не показано). Специалисту в данной области техники должно быть понятно, что интерфейс 118 пользователя может быть спроектирован в многообразии вариантов осуществления и форматов и может принадлежать диапазону от простых до более сложных конфигураций. В примерном варианте осуществления настоящего изобретения интерфейс 118 пользователя может содержать клавишную панель, дисплей, сенсорный экран или другие известные устройства, и может также содержать программные модули или машинные инструкции, которые выполняют предопределенные задачи, при этом инструкции могут быть исполнены в процессоре 212.
Дополнительно, устройство 103 связи может содержать сетевой интерфейс 121 для обеспечения связи со стороны устройства 103 связи по отношению к сети 124. Сетевой интерфейс 121 соединен с возможностью осуществления связи с блоком 106 отображения и сетью 124. Блок 106 отображения может предоставлять отображенные XML-списки 112 сетевому интерфейсу 121, который может предоставлять отображенные XML-списки 112 другим устройствам связи в пределах сети 124. Сетевой интерфейс 121 в типичном случае может быть аппаратным устройством, таким как сетевая интерфейсная плата или плата расширения устройства 103 связи, которое обеспечивает возможность соединения между устройством 103 связи и сетью 124. Несмотря на то, что это не показано на фиг.1, сетевой интерфейс 121 может содержать радиопередатчик и радиоприемник, которые предоставляют возможность беспроводной связи между устройством 103 связи и точкой доступа (не показана) сети 124.
Специалисту в данной области техники должно быть понятно, что сеть 124 в типичном случае содержит инфраструктуру и оборудование, подходящие для соединения группы из двух или более устройств 103 связи (включая, без ограничения, совокупность серверных или клиентских устройств). Такая сеть 124, устройство 103 связи и серверы могут быть сконфигурированы в многочисленных топологиях, включающих в себя, но не в качестве ограничения, конфигурации звезды, магистрали или кольца. Также, сеть 124, устройство 103 связи и серверы могут быть в широком смысле классифицированы как относящиеся к конкретной архитектуре, включая, но не в качестве ограничения, архитектуры одноранговых узлов или клиент/серверные архитектуры. Сеть 124 может дополнительно быть классифицирована по территориальному размещению устройств 103 связи или серверов и их типам. Например, сеть 124, соединяющая множество вычислительных систем или серверов, расположенных в непосредственной близости друг от друга, к примеру в пределах здания, упоминается как локальная сеть (LAN); если вычислительные системы расположены в большей степени разрозненно, то сеть 124, как правило, упоминается как глобальная сеть (WAN), такая как Интернет; если вычислительные системы расположены в пределах ограниченной территориальной области, такой как университетский городок или воинское подразделение, то сеть 124 упоминается как кампусная сеть (CAN); если вычислительные системы соединены вместе в пределах города или административного центра, то сеть 124 упоминается как региональная сеть (MAN); и если вычислительные системы соединены вместе в пределах дома пользователя, то сеть 124 упоминается как домашняя сеть (HAN).
Специалисту в данной области техники должно быть понятно, что соединение с возможностью осуществления связи может включать в себя или требовать любой подходящий тип соединения для двустороннего обмена сигналами и/или среды, включающей, но не в качестве ограничения, аналоговые, цифровые, проводные и беспроводные каналы связи. Такие каналы связи могут использовать, но не в качестве ограничения, медный провод, оптический кабель, радиочастоту, инфракрасное излучение, спутник или другое оборудование и среды.
Несмотря на то, что некоторые варианты осуществления настоящего изобретения относятся к XML-данным крупноформатной электронной таблицы, XML-спискам и полезным XML-данным, cпециалисту в данной области техники должно быть понятно, что другие типы конфигураций данных могут быть использованы в пределах объема изобретения и, следовательно, настоящее изобретение не ограничено данными, сконфигурированными в XML.
На фиг.2 показана блок-схема вычислительной среды 200 и ее компьютерных систем 210, 280, которые настоящее изобретение может использовать в соответствии с примерным вариантом его осуществления. Вычислительная среда 200 и ее компьютерные системы 210, 280 представляют только один пример подходящей вычислительной среды и ее компьютерных систем для осуществления на практике настоящего изобретения и не подразумеваются для того, чтобы накладывать какое бы то ни было ограничение в отношении сферы использования или функциональных возможностей изобретения. Ни одна из компьютерных систем 210, 280 не должна быть интерпретирована в качестве имеющей какую бы то ни было зависимость или требование, относящиеся к любому одному или комбинации компонентов, проиллюстрированных в примерной вычислительной среде 200.
Таким образом, должно быть понятно, что настоящее изобретение может функционировать с многочисленными другими средами или конфигурациями вычислительных систем общего назначения или специального назначениями. Примеры широко известных устройств 103 связи, вычислительных систем, сред и/или конфигураций, которые могут быть подходящими или пригодными для использования с настоящим изобретением, включают в себя, но не в качестве ограничения, персональные компьютеры, серверные компьютеры, карманные или переносные устройства, многопроцессорные системы, основанные на микропроцессорах системы, телевизионные приставки, программируемую бытовую электронику, сетевые персональные компьютеры, миникомпьютеры, универсальные компьютеры, распределенные вычислительные среды, которые включают в себя любые из вышеприведенных систем и устройств, и подобное.
Настоящее изобретение может также быть описано в общем контексте включения в себя машиноисполняемых инструкций, таких как программные модули, исполняемые компьютерной системой. Как правило, программные модули включают в себя процедуры, программы, программные прошивки, объекты, компоненты, данные и/или структуры данных, которые выполняют конкретные задачи или реализуют определенные абстрактные типы данных. Настоящее изобретение может быть реализовано на практике в распределенной вычислительной среде, в которой задачи выполняются удаленными устройствами обработки данных, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут быть расположены как в локальных, так и в удаленных компьютерных носителях информации, включая, без ограничения, запоминающие устройства.
Со ссылкой на фиг.2, примерная вычислительная среда 200 настоящего изобретения включает в себя вычислительные устройства общего назначения в форме компьютерной системы 210.
Компоненты компьютерной системы 210 могут включать в себя, но не в качестве ограничения, процессор 220, системную память 230 и системную шину 221, которая связывает различные компоненты системы, включая системную память 230, с процессором 220, для двунаправленного обмена данными и/или инструкциями. Системная шина 221 может относится к любому из некоторых типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, используя любую из многообразия шинных архитектур. В качестве примера, но не ограничения, такие архитектуры включают в себя шину архитектуры промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), расширенную шину ISA (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и шину межсоединения периферийных компонентов (PCI) (которая также известна как «мезонинная шина»).
Компьютерная система 210 обычно включает в себя многообразие машиночитаемых носителей. Машиночитаемые носители могут содержать любые имеющиеся в распоряжении носители, к которым компьютерная система 210 может осуществить доступ и которые могут быть считаны или записаны компьютерной системой 210, и могут включать в себя как энергозависимые, так и энергонезависимые, как съемные, так и несъемные носители. В качестве примера, но не для ограничения, машиночитаемые носители могут содержать компьютерные носители информации и среды связи. Компьютерные носители информации включают в себя как энергозависимые, так и энергонезависимые, как съемные, так и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, данные, структуры данных, программные модули, программы, программные прошивки или процедуры. Компьютерные носители информации включают в себя, но не в качестве ограничения, ОЗУ, ПЗУ (постоянное запоминающее устройство), ЭСППЗУ (электрически стираемое программируемое ПЗУ), флэш-память или память другой технологии, CD-ROM (ПЗУ на компакт-диске), универсальный цифровой диск (DVD) или другое оптическое дисковое устройство хранения данных, магнитные дискеты, магнитную ленту, магнитооптические устройства хранения данных, запоминающее устройство на магнитном диске или другие магнитные устройства хранения, или любые другие носители, которые могут быть использованы для хранения желаемой информации и к которым компьютерная система 210 может осуществить доступ. Среды связи обычно выполняют машиночитаемые инструкции, данные, структуры данных, программные модули, программы, программную прошивку или процедуры в модулированном информационном сигнале, таком как несущая или другой механизм транспортировки, и включает в себя любые среды доставки информации. Термин «модулированный информационный сигнал» означает сигнал, одна или более характеристик которого установлены или изменены таким образом, чтобы кодировать информацию в этом сигнале. Для примера, но не в качестве ограничения, среды связи включают в себя проводные среды, такие как проводная сеть или непосредственное проводное соединение, и беспроводные среды, такие как акустические, радиочастотные, инфракрасные и другие беспроводные среды. Сочетания любых из вышеописанных сред и носителей также охватываются понятием «машиночитаемый носитель».
Системная память 230 включает в себя компьютерные носители информации в виде энергозависимого и/или энергонезависимого запоминающего устройства, такого как постоянное запоминающее устройство 231 (ПЗУ) и оперативное запоминающее устройство 232 (ОЗУ). Базовая система 233 ввода/вывода (BIOS), содержащая базовые процедуры, которые руководят передачей информации между элементами в пределах компьютера 210, к примеру во время запуска, обычно хранится в ПЗУ 231. ОЗУ 232 в типичном случае хранит данные и/или программные инструкции, которые непосредственно доступны процессору 220 и/или в текущий момент исполняются процессором 220. В качестве примера, но не ограничения, фиг.2 иллюстрирует операционную систему 234, прикладные программы 235, другие программные модули 236 и данные 237 программ, которые могут находиться в ОЗУ 232, целиком или частично, время от времени.
Компьютер 210 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители информации. Только в качестве примера, фиг.2 иллюстрирует накопитель 241 на жестких дисках, который считывает с несъемного энергонезависимого магнитного носителя или записывает на него, магнитный дисковод 251, который считывает со съемного энергонезависимого магнитного диска 252 или записывает на него, и оптический дисковод 255, который считывает со съемного энергонезависимого оптического диска 256, такого как CD-ROM или другой оптический носитель, или записывает на него. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители информации, которые могут быть включены в примерную вычислительную среду 200, включают в себя, но не в качестве ограничения, кассеты с магнитной лентой, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, твердотельное ОЗУ, твердотельное ПЗУ и т.п. Накопитель 241 на жестких дисках в типичном случае присоединен к системной шине 221 через интерфейс несъемного запоминающего устройства, такой как интерфейс 240, а магнитный дисковод 251 и оптический дисковод 255 обычно присоединены к системной шине 221 интерфейсом съемного запоминающего устройства, таким как интерфейс 250.
Накопители и дисководы 241, 251, 255 и ассоциированные с ними компьютерные носители информации, описанные выше и проиллюстрированные на фиг.2, обеспечивают хранение машиночитаемых инструкций, данных, структур данных, программных модулей, программ, программной прошивки или процедур для компьютерной системы 210. На фиг.2, например, накопитель 241 на жестких дисках проиллюстрирован в качестве хранящего операционную систему 244, прикладные программы 245, другие программные модули 246 и данные 247 программ. Заметим, что эти компоненты могут либо быть теми же самыми, либо отличными от операционной системы 234, прикладных программ 235, других программных модулей 236 и данных 237 программ. Операционной системе 244, прикладным программам 245, другим программным модулям и данным 247 программ даны другие ссылочные номера, чтобы проиллюстрировать что, как минимум, они являются другими копиями операционной системы 234, прикладных программ 235, других программных модулей 236 и данных 237 программ. Пользователь может ввести команды и информацию в вычислительную систему 210 через присоединенные устройства ввода, такие как клавиатура 262 и координатно-указательное устройство 261, обычно известное как мышь, шаровой манипулятор или сенсорная панель. Другие присоединенные устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер или подобное. Эти и другие устройства ввода часто присоединены к процессору 220 через интерфейс 260 пользовательского ввода, который присоединен к системной шине 221, но может быть присоединен посредством других структур интерфейсов и шин, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 291 или другой тип устройства визуального воспроизведения также присоединен к системной шине 221 посредством интерфейса, такого как видеоинтерфейс 290. В дополнение к монитору 291, вычислительная система 210 может также включать в себя другие периферийные устройства вывода, такие как громкоговорители 297 и печатающее устройство 296, которые могут быть присоединены через интерфейс 295 периферийного вывода.
Компьютерная система 210 может работать в сетевой среде, используя двунаправленные линии связи в виде коммуникационных соединений с одной или более удаленными компьютерными системами, такими как удаленная компьютерная система 280. Удаленная компьютерная система 280 может быть персональным компьютером, портативным компьютером, серверным компьютером, маршрутизатором, сетевым персональным компьютером, одноранговым устройством или другим общим узлом сети, и в типичном случае включает в себя многие или все из описанных выше элементов, относящихся к компьютерной системе 210, не смотря на то, что только запоминающее устройство 281 из состава удаленной компьютерной системы 280 проиллюстрировано на фиг.2. Двунаправленные линии связи в виде коммуникационных соединений, показанные на фиг.2, включают в себя локальную сеть (LAN) 271 и глобальную сеть (WAN) 273, но могут также включать в себя другие сети. Такие сети являются обычными в офисах, корпоративных вычислительных сетях, сетях интранет (локальных сетях, использующих технологии Интернет) и Интернете.
При соединении с возможностью осуществления связи с LAN 271, компьютерная система 210 присоединена к LAN 271 через сетевой интерфейс или адаптер 270. При соединении с возможностью осуществления связи с WAN 273, компьютерная система в типичном случае включает в себя модем 272 или другое средство для установления линии связи через WAN 273, такую как Интернет. Модем 272, который может быть внутренним или внешним, может быть присоединен к системной шине 221 посредством интерфейса 260 пользовательского ввода или другого подходящего средства. В сетевой среде программные модули, показанные касательно компьютерной системы 210, или их порции, могут храниться на удаленном запоминающем устройстве 281. В качестве примера, а не ограничения, фиг.2 иллюстрирует удаленные прикладные программы 285 как находящиеся на запоминающем устройстве 281. Должно быть очевидно, что показанные сетевые соединения являются примерными, и может быть использовано другое средство установления двунаправленной линии связи в виде коммуникационного соединения между компьютерами.
На фиг.3 изображено представление 300 псевдокода данных крупноформатной электронной таблицы, включающих в себя список 112 крупноформатной электронной таблицы, в соответствии с примерным вариантом осуществления настоящего изобретения. Как обсуждено ранее, блок 109 хранения крупноформатной электронной таблицы включает в себя списки 112 крупноформатной электронной таблицы, которые могут быть отображены с полезными данными блоком 106 отображения. В примерном варианте осуществления настоящего изобретения, списки 112 крупноформатной электронной таблицы сконфигурированы в XML-коде и, следовательно, в дальнейшем упоминаются как XML-списки 112.
XML обеспечивает конфигурируемые на индивидуальной основе теги (неотображаемые элементы разметки), которые дают возможность определения, проверки действительности, передачи и интерпретации данных среди множества систем. Специалисту в данной области техники должно быть понятно, что XML является производным от стандартного обобщенного языка разметки (SGML) и предусматривает широко распространенный формат для конфигурирования данных. В общем смысле, XML-теги являются командами, используемыми в пределах документа или кода, которые показывают, как порция документа или кода должна быть отформатирована или интерпретирована. XML-теги в типичном случае являются спаренными и включают начальный тег и конечный тег. Начальный тег часто представлен именем тега между символами «меньше» («<») и «больше» («>»). Конечный тег обычно идентичен начальному тегу за исключением того, что после символа «меньше» («<») есть прямая косая черта («/»). Для примера, а не ограничения, элемент 306 диапазона начинается с тега «<range>» («<диапазон>») и заканчивается тегом «</range>». Весь текст или код между начальным тегом «<range>» и конечным тегом «</range>» может быть интерпретирован как часть элемента 306 диапазона.
Более конкретно, фиг.3 отображает порцию крупноформатной электронной таблицы XML (XMLSS), которая описывает рабочий журнал крупноформатной электронной таблицы, включая XML-список 112, содержащийся в нем. Элемент 303 входа (например,<entry x2:id="listl">…</entry>-<входx2:идентификатор="список1">…</вход>) представляет одиночный XML-список 112 в пределах данных крупноформатной электронной таблицы. XML-список 112 может быть определен группой столбцов, упоминаемых как поля, которые могут быть представлены в XML-списке 112 элементом 312A-312F поля (например,<field>…</field>-<поле>…</поле>). Элементы 312A-312F поля, следовательно, представляют столбцы, являющиеся результатом отображения полезных данных в XML-список 112 блоком 106 отображения.
Поле может быть вычислено или отображено. Вычисленное поле может быть определено либо формулой, либо постоянным значением. Отображенное поле может быть определено путем к полезным данным. Как показано на фиг.3, путь поля может быть представлен в XML-списке 112 элементом 309B-309G xpath (например,<xpath>…</xpath>). Элемент 303 входа может также иметь путь (к примеру, иногда упоминаемый как «корневой путь») и может также быть представлен элементом 309A xpath. Путь поля является путем xpath 309B-309G, который является относительным путем по отношению к пути входа и, следовательно, полный путь к полю требует объединения пути входа с путем поля. Для примера, а не ограничения, путем поля, представленным элементом 309C xpath элемента 312B поля является «DEPARTMENTID» («Идентификатор отдела»). Полный путь поля, представленного элементом поля 312B, однако, требует комбинирования xpath записи, представленного элементом 309A xpath, с путем поля, представленным элементом 309C xpath, и, следовательно, имеет результатом полный путь «/CORP/DEPARTMENT/DEPARTMENTID».
Поле также может быть ассоциировано с конкретным типом данных или определения, таким как, но не в качестве ограничения, строка, переменная или целое число. Соответствующий полю тип данных или определения может быть представлен, как показано на фиг.3, элементом 315A-315F xsdtype. Используя вышеприведенный пример, типом данных или определения, предоставленным xsdtype 315B поля, представленного элементом 312B поля, является «STRING» («Строка»).
Специалисту в данной области техники должно быть понятно, что XML-список 112 может быть сконфигурирован в многочисленных компоновках и может содержать многообразие полей и путей. Следовательно, данные крупноформатной электронной таблицы, изображенные на фиг.3, предназначены только для иллюстративных целей и не ограничивают объема настоящего изобретения.
На фиг.4 показано представление 400 псевдокода полезных данных в соответствии с примерным вариантом осуществления настоящего изобретения. Как обсуждено выше, блок 115 хранения полезных данных включает в себя полезные данные, которые могут быть отображены в XML-список 112 данных крупноформатной электронной таблицы. В примерном варианте осуществления настоящего изобретения, полезные данные сконфигурированы в XML-коде. Полезные данные, в общем смысле, относятся к полям, определенным или описанным в XML-списке 112. Следовательно, пути, определенные в XML-списке 112, могут коррелировать с XML-тегами в пределах полезных данных.
Для примера, а не для ограничения, полезные данные, отображенные на фиг.4, относятся к XML-списку, определенному на фиг.3. Более точно, элементы 403, 406, 409, 410, 412, 415 полезных данных, показанные на фиг.4, соответствуют полным путям поля, показанным на фиг.3. Таблица 1 показывает корреляцию между полными путями поля по фиг.3 с элементами полезных данных по фиг.4.
Таблица 1
/CORP/DEPARTMENT/@NAME (Корпорация/Отдел/@Наименование)
<CORP>(<Корпорация>)<DEPARTMENT NAME="ENGINEERING">(<Отдел Наименование="Технический">)…</DEPARTMENT>(</Отдел>)<DEPARTMENT NAME="HR">(<Отдел Наименование="Отдел кадров">)…</DEPARTMENT>(</Отдел>)</CORP>(</Корпорация>)
/CORP/DEPARTMENT/DEPARTMENTID (Корпорация/Отдел/ИдентификаторОтдела)
<CORP>(<КОРПОРАЦИЯ>)<DEPARTMENT…>(</ОТДЕЛ…>)<DEPARTMENTID>1001</DEPARTMENTID>(<ИДЕНТИФИКАТОРОТДЕЛА>1001</ИДЕНТИФИКАТОРОТДЕЛА>)…</DEPARTMENT>(</ОТДЕЛ)<DEPARTMENT…>(<ОТДЕЛ…>)<DEPARTMENTID>1002</DEPARTMENTID>(<ИДЕНТИФИКАТОРОТДЕЛА>1002</ИДЕНТИФИКАТОРОТДЕЛА>)…</DEPARTMENT>(</ОТДЕЛ>)</CORP>(</КОРПОРАЦИЯ>)
/CORP/DEPARTMENT/MANAGERS/PERSON/@NAME (/КОРПОРАЦИЯ/ОТДЕЛ/РУКОВОДИТЕЛИ/ИНДИВИДУУМ/@ИМЯ)
<CORP>(<КОРПОРАЦИЯ>)<DEPARTMENT…>(<ОТДЕЛ…>)…<MANAGERS>(<РУКОВОДИТЕЛИ>)<PERSON NAME="JOHN">…</PERSON>(<ИНДИВИДУУМ ИМЯ="ДЖОН">…</ИНДИВИДУУМ>)<PERSON NAME="PETER">…</PERSON>(<ИНДИВИДУУМ ИМЯ="ПИТЕР">…</ИНДИВИДУУМ>)</MANAGERS>(</РУКОВОДИТЕЛИ>)</DEPARTMENT>(</ОТДЕЛ>)<DEPARTMENT…>(<ОТДЕЛ…>)…<MANAGERS>(<РУКОВОДИТЕЛИ>)<PERSON NAME="COREY">…</PERSON>(<ИНДИВИДУУМ ИМЯ="КОРИ">…</ИНДИВИДУУМ>)<PERSON NAME="PAT">…</PERSON>(<ИНДИВИДУУМ ИМЯ="ПЭТ">…</ИНДИВИДУУМ>)</MANAGERS>(</РУКОВОДИТЕЛИ>)</DEPARTMENT>(</ОТДЕЛ>)</CORP>(</КОРПОРАЦИЯ>)
/CORP/DEPARTMENT/MANAGERS/PERSON/PERSONID (/КОРПОРАЦИЯ/ОТДЕЛ/РУКОВОДИТЕЛИ/ИНДИВИДУУМ/ ИДЕНТИФИКАТОРИНДИВИДУУМА)
<CORP>(<КОРПОРАЦИЯ>)<DEPARTMENT…>(<ОТДЕЛ…>)…<MANAGERS>(<РУКОВОДИТЕЛИ>)<PERSON…><PERSONID>20001</PERSONID></PERSON>(<ИНДИВИДУУМ…><ИДЕНТИФИКАТОРИНДИВИДУУМА>20001</ИДЕНТИФИКАТОРИНДИВИДУУМА></ИНДИВИДУУМ>)<PERSON…><PERSONID>20002</PERSONID></PERSON>(<ИНДИВИДУУМ…><ИДЕНТИФИКАТОРИНДИВИДУУМА>20002</ИДЕНТИФИКАТОРИНДИВИДУУМА></ИНДИВИДУУМ>)</MANAGERS>(</РУКОВОДИТЕЛИ>)</DEPARTMENT>(</ОТДЕЛ>)<DEPARTMENT…>(<ОТДЕЛ…>)…<MANAGERS>(<РУКОВОДИТЕЛИ>)<PERSON…><PERSONID>20002</PERSONID></PERSON>(<ИНДИВИДУУМ…><ИДЕНТИФИКАТОРИНДИВИДУУМА>20002</ИДЕНТИФИКАТОРИНДИВИДУУМА></ИНДИВИДУУМ>)<PERSON…><PERSONID>20003</PERSONID></PERSON>(<ИНДИВИДУУМ…><ИДЕНТИФИКАТОРИНДИВИДУУМА>20003</ИДЕНТИФИКАТОРИНДИВИДУУМА></ИНДИВИДУУМ>)</MANAGERS>(</РУКОВОДИТЕЛИ>)</DEPARTMENT>(</ОТДЕЛ>)</CORP>(</КОРПОРАЦИЯ>)
/CORP/DEPARTMENT/CONTRACTORS/PERSON/@NAME (/КОРПОРАЦИЯ/ОТДЕЛ/ПОДРЯДЧИКИ/ИНДИВИДУУМ/@ИМЯ)
<CORP>(<КОРПОРАЦИЯ>)<DEPARTMENT…>(<ОТДЕЛ…>)…<CONTRACTORS>(<ПОДРЯДЧИКИ>)<PERSON NAME="DARREN">…</PERSON>(<ИМЯ ИНДИВИДУУМА="ДАРРЕН">…</ИНДИВИДУУМ>)</CONTRACTORS>(</ПОДРЯДЧИКИ>)</DEPARTMENT>(</ОТДЕЛ>)<DEPARTMENT…>(<ОТДЕЛ…>)…
<CONTRACTORS>(<ПОДРЯДЧИКИ>)<PERSON NAME="DENISE">…</PERSON>(<ИМЯ ИНДИВИДУУМА="ДЭНИС">…</ИНДИВИДУУМ>)</CONTRACTORS>(</ПОДРЯДЧИКИ>)</DEPARTMENT>(</ОТДЕЛ>)</CORP>(</КОРПОРАЦИЯ>)
/CORP/DEPARTMENT/CONTRACTORS/PERSON/PERSONID (/КОРПОРАЦИЯ/ОТДЕЛ/ПОДРЯДЧИКИ/ИНДИВИДУУМ/ИДЕНТИФИКАТОРИНДИВИДУУМА)
<CORP>(<КОРПОРАЦИЯ>)<DEPARTMENT…>(<ОТДЕЛ…>)…<CONTRACTORS>(<ПОДРЯДЧИКИ>)<PERSON…><PERSONID>20005</PERSONID></PERSON>(<ИНДИВИДУУМ…><ИДЕНТИФИКАТОРИНДИВИДУУМА>20005</ИДЕНТИФИКАТОРИНДИВИДУУМА></ИНДИВИДУУМ>)</CONTRACTORS>(</ПОДРЯДЧИКИ>)</DEPARTMENT>(</ОТДЕЛ>)<DEPARTMENT…>(<ОТДЕЛ…>)…<CONTRACTORS>(<ПОДРЯДЧИКИ>)<PERSON…><PERSONID>20006</PERSONID></PERSON>(<ИНДИВИДУУМ…><ИДЕНТИФИКАТОРИНДИВИДУУМА>20006</ИДЕНТИФИКАТОРИНДИВИДУУМА></ИНДИВИДУУМ>)</CONTRACTORS>(</ПОДРЯДЧИКИ>)</DEPARTMENT>(</ОТДЕЛ>)</CORP>(</КОРПОРАЦИЯ>)
Как показано в таблице 1, элементы 403A, 403B наименования отдела соответствуют полному пути поля «/CORP/DEPARTMENT/@NAME»; элементы 406A, 406B отдела соответствуют полному пути поля «/CORP/DEPARTMENT/DEPARTMENTID»; элементы 412A-412F имени индивидуума соответствуют полным путям поля «/CORP/DEPARTMENT/MANAGERS/PERSON/@NAME» и «/CORP/DEPARTMENT/C0NTRACTORS/PERSON/@NAME»; и элементы 415A-415F идентификатора индивидуума соответствуют полным путям поля «/CORP/DEPARTMENT/MANAGERS/PERSON/PERSONID» и «CORP/DEPARTMENT/CONTRACTORS/PERSON/PERSONID». В примерном варианте осуществления настоящего изобретения, символы «/@» в пути поля показывают, что поле является атрибутом, тогда как символ «/» в пути поля показывает, что поле является элементом. Таким образом, «NAME» является атрибутом поля «DEPARTMENT», как показано путем «/CORP/DEPARTMENT/@NAME», тогда как «DEPARTMENTID» является элементом поля «DEPARTMENT» как показано путем «/CORP/DEPARTMENT/DEPARTMENTID».
Специалисту в данной области техники должно быть понятно, что конфигурация полезных данных может зависеть от конфигурации XML-списка 112 или согласовываться с ней. Следовательно, полезные данные, представленные на фиг.4, предназначены только для иллюстративных целей и не ограничивают объема настоящего изобретения.
На фиг.5 показана блок-схема полезных данных в соответствии с примерным вариантом осуществления настоящего изобретения. Полезные данные, показанные на фиг.5, имеют сходство с полезными данными, обсужденными выше со ссылкой на фиг.4, за исключением того, что отсутствуют XML-теги элемента. Более точно, фиг.5 иллюстрирует иерархические характеристики путей поля данных крупноформатной электронной таблицы (см. фиг.3) и полезных данных, ассоциированных с ними.
В примерном варианте осуществления настоящего изобретения, блок 106 отображения может определять «порождающий» путь каждого пути поля в XML-списке 112 (описанном более полно ниже со ссылкой на фиг.7). Порождающий путь конкретного пути поля может быть определен следованием по пути поля на один шаг назад по этому пути. Другими словами, порождающий путь является отстоящим на один шаг назад в иерархии в сравнении с путем поля. Для примера, а не ограничения, путь поля «/CORP/DEPARTMENT/MANAGERS/PERSON/PERSONID/» может иметь порождающий путь «/CORP/DEPARTMENT/MANAGERS/PERSON». В дополнение, порождающий путь может быть вычислен для полей атрибута и элемента. Таким образом, путь поля атрибута «/a/b/@c» и путь поля элемента «/a/b/c» могут иметь один и тот же порождающий путь «/a/b».
Фиг.5 также иллюстрирует то, как по пути поля можно следовать до соответствующих полезных данных. Для примера, а не ограничения, блок 106 отображения может следовать пути поля «/CORP/DEPARTMENT/DEPARTMENTID» и обнаружить соответствующее значение «1001» и «1002». Наоборот, путь поля может быть определен из полезных данных. Для примера, а не ограничения, полезные данные «John» могут иметь соответствующий путь поля «/CORP/DEPARTMENT/MANAGERS/PERSON/@NAME».
На фиг.6 показана блок-схема отображенного списка 112 крупноформатной электронной таблицы в соответствии с примерным вариантом осуществления настоящего изобретения. Как описано выше, блок 106 отображения может отобразить полезные данные в XML-список 112 данных крупноформатной электронной таблицы. Хотя такое отображение не основано на схеме, результирующий отображенный список 112 крупноформатной электронной таблицы в значительной степени походит на результат «отображенного на основе схемы» списка крупноформатной электронной таблицы.
В примерном варианте осуществления настоящего изобретения блок 106 отображения может назначать «базовый» путь для XML-списка 112 (описано более полно ниже со ссылкой на фиг.7). В типичном случае, базовый путь является самым длинным путем из ранее сгенерированных порождающих путей (описаны выше со ссылкой на фиг.5). Если более чем один порождающий путь квалифицируется как самый длинный путь, то либо порождающий путь, который был сгенерирован первым, может быть назначен в качестве базового пути, либо каждый из порождающих путей, которые могут квалифицироваться в качестве самого длинного пути, может быть назначен в качестве ответвленного базового пути (описано более полно ниже со ссылкой на фиг.7).
Блок 106 отображения может использовать базовый путь для назначения узлов, таких как связующие узлы, XML-списка 112. В типичном случае, узлы могут быть приписаны к строке в отображенном XML-списке 112. Узлы могут действовать в качестве индекса для каждой строки XML-списка 112. Более конкретно, узлы могут указывать количество строк, которые имеются в преобразованном XML-списке 112.
Для примера, а не ограничения, порождающими путями полей, указанных на фиг.3, являются «/CORP/DEPARTMENT» (например, порождающий путь пути «/CORP/DEPARTMENT/@NAME»), «/CORP/DEPARTMENT» (например, порождающий путь пути «/CORP/DEPARTMENT/DEPARTMENTID»), «/CORP/DEPARTMENT/MANAGERS/PERSON» (например, порождающий путь пути «/CORP/DEPARTMENT/MANAGERS/PERSON/@NAME»), «/CORP/DEPARTMENT/MANAGERS/PERSON» (например, порождающий путь пути «/CORP/DEPARTMENT/MANAGERS/PERSON/PERSONID»), «CORP/DEPARTMENT/CONTRACTORS/PERSON» (например, порождающий путь пути «/CORP/DEPARTMENT/CONTRACTORS/PERSON/@NAME»), и «/CORP/DEPARTMENT/CONTRACTORS/PERSON» (например, порождающий путь пути «/CORP/DEPARTMENT/CONTRACTORS/PERSON/PERSONID»). Блок 106 отображения может назначить «/CORP/DEPARTMENT/MANAGERS/PERSON» (например, порождающий путь пути «/CORP/DEPARTMENT/MANAGERS/PERSON/@NAME»), и «/CORP/DEPARTMENT/CONTRACTORS/PERSON» (например, порождающий путь пути «/CORP/DEPARTMENT/CONTRACTORS/PERSON/@NAME») в качестве ответвленных базовых путей, поскольку они являются самыми длинными сгенерированными порождающими путями и не являются ни подмножеством друг друга, ни равны друг другу. Для каждого ответвленного базового пути блок 106 отображения следует ответвленному базовому пути, чтобы определять результирующие узлы. Значения строк 624, 627, 630, 633, 636, 639 и столбцов 603, 606, 609, 612, 615, 618 отображенного XML-списка 112 могут быть определены посредством следования каждому ответвленному базовому пути до каждого соответствующего пути поля.
На фиг.7A-7C показана блок-схема последовательности операций способа 700 отображения полезных данных в список 112 крупноформатной электронной таблицы в соответствии с примерным вариантом осуществления настоящего изобретения. Блок 106 отображения отображает полезные данные, принятые от блока 115 хранения полезных данных в XML-список, принятый от блока 109 хранения крупноформатной электронной таблицы, без использования схемы.
После начала на этапе 701 блок 106 отображения приступает к этапу 703, на котором блок 106 отображения принимает данные крупноформатной электронной таблицы от блока 109 хранения крупноформатной электронной таблицы. Данные крупноформатной электронной таблицы могут включать в себя XML-списки 112. Далее, на этапе 706 блок 106 отображения определяет, необходимо ли оценить какие-либо XML-списки 112. Если на этапе 706 блок 106 отображения определяет, что не требуется оценивание ни одного из XML-списков 112, то блок 106 отображения прекращает работу в соответствии со способом 700 на этапе 715. Если, однако, на этапе 706 блок 106 отображения определяет, что существуют XML-списки 112, которые должны быть оценены, то блок 106 отображения приступает к этапу 709, на котором блок 106 отображения определяет, необходимо ли оценить какие-либо пути поля в пределах XML-списка 112. Если на этапе 709 блок 106 отображения определяет, что не требуется оценивание ни одного из путей поля, то блок 106 отображения приступает к этапу 718, описанному ниже. Если, однако, на этапе 709 блок 106 отображения определяет, что существуют пути поля, которые необходимо оценить, то блок 106 отображения приступает к этапу 712, на котором блок 106 отображения генерирует порождающий путь для пути поля. Блок 106 отображения затем приступает к этапу 709, описанному выше.
На этапе 718 блок 106 отображения определяет, были ли сгенерированы какие-либо порождающие пути из путей поля XML-списка 112. Если на этапе 718 блок 106 отображения определяет, что ни один порождающий путь не был сгенерирован, то блок 106 отображения приступает к этапу 706, описанному выше. В противном случае, если на этапе 718 блок 106 отображения определяет, что порождающие пути были сгенерированы, то блок отображения приступает к этапу 721, на котором блок 106 отображения идентифицирует самые длинные порождающие пути (создает их перечень), которые не являются подмножествами друг друга. Затем, на этапе 724 блок 106 отображения определяет, существуют ли дубликаты в пределах перечня самых длинных порождающих путей. Если на этапе 724 блок 106 отображения определяет, что не существует ни одного дубликата в пределах перечня самых длинных порождающих путей, то блок 106 отображения переходит к этапу 730, описанному ниже. Если, однако, на этапе 724 блок 106 отображения определяет, что дубликаты существуют в пределах перечня самых длинных порождающих путей, то блок 106 преобразования приступает к этапу 727, на котором блок 106 преобразования удаляет все дубликаты в пределах перечня самых длинных порождающих путей.
Затем, на этапе 730, блок 106 отображения назначает каждый из самых длинных порождающих путей в качестве базовых путей (также упоминаемых ссылкой в настоящем описании, как «ответвленные базовые пути»), причем каждый базовый путь представляет отличную от других ветвь. Затем, на этапе 733, блок 106 отображения ассоциирует каждое поле XML-списка с одним или более ответвленными базовыми путями, так что порождающий путь поля является подмножеством ассоциированного ответвленного базового пути. Порождающий путь поля может быть подмножеством более чем одного ответвленного базового пути. Блок 106 отображения затем приступает к этапу 736, на котором блок 106 отображения определяет, необходимо ли еще оценить какой-либо ответвленный базовый путь. Если на этапе 736 блок 106 отображения определяет, что не требуется оценивания ни одного из ответвленных базовых путей, то блок 106 отображения прекращает работу в соответствии со способом 700 на этапе 745. Иначе, если на этапе 736 блок 106 отображения определяет, что еще существует ответвленный базовый путь, который необходимо оценить, то блок 106 отображения приступает к этапу 739, на котором блок 106 отображения оценивает ответвленный базовый путь по полезным данным, чтобы сформировать перечень связующих узлов. Посредством группирования каждого порождающего пути с одним или более ответвленными базовыми путями значение, если оно имеет место, каждого поля (столбца) XML-списка может быть получено из полезных данных посредством прохождения из связующего узла. Затем, на этапе 742, блок 106 отображения получает значения из полезных данных для всех полей (столбцов), ассоциированных с ответвленным базовым путем в пределах строки посредством следования пути от связующего узла для такой строки до каждого соответствующего пути поля. Если поле принадлежит порождающему пути, который не ассоциирован с ответвленным базовым путем, то значение поля остается пустым. Блок 106 отображения затем приступает к этапу 736, описанному выше.
Несмотря на то, что настоящее изобретение было описано подробно, понятно, что могут быть произведены вариации и модификации в пределах сущности и объема изобретения, которые изложены в настоящем описании и которые определены в прилагаемой формуле изобретения. Соответствующие структуры, материалы, действия и эквиваленты всех элементов «средство-плюс-функция», если они имеют место, в формуле изобретения, приведенной ниже, подразумеваются включающими в себя любую структуру, материал или действия для выполнения функций в совокупности с другими заявленными элементами, как заявлено в формуле изобретения.