ПРОГРАММИРУЕМОСТЬ ДЛЯ ХРАНИЛИЩА XML ДАННЫХ ДЛЯ ДОКУМЕНТОВ

1. Считываемый компьютером носитель информации, имеющий выполняемые компьютером инструкции для управления данными, ассоциированными с генерируемыми компьютером документами, посредством этапов, на которых:
сохраняют элементы структурированных данных, которые ассоциированы с документом, в хранилище данных, которое содержится отдельно от документа; и
предоставляют интерфейс прикладного программирования (API) для потребителей данных, для обеспечения возможности программного доступа потребителями данных к элементу структурированных данных; причем API обеспечивает возможность доступа к элементам структурированных данных в пределах хранилища данных, когда документ открыт и когда документ закрыт.
2. Считываемый компьютером носитель информации по п.1, дополнительно реализующий этап, на котором элемент структурированных данных структурируют в соответствии с расширяемым языком разметки (XML).
3. Считываемый компьютером носитель информации по п.2, в котором API, который обеспечивает возможность программного доступа к элементу структурированных данных потребителем данных, содержит этап, на котором обеспечивают доступ более чем для одного потребителя данных к одному и тому же элементу структурированных данных в один и тот же момент времени.
4. Считываемый компьютером носитель информации по п.3, дополнительно содержащий этап, на котором определяют, когда происходит изменение одного из элементов структурированных данных с использованием API; и, когда происходит изменение, уведомляют об этом изменении зарегистрированных потребителей данных; и определяют, когда зарегистрированные потребители данных либо принимают или отклоняют изменение.
5. Считываемый компьютером носитель информации по п.4, дополнительно содержащий этап, на котором отменяют изменения, когда один из зарегистрированных потребителей данных отклоняет это изменение, и передают изменения в хранилище данных, когда каждый из зарегистрированных потребителей данных принимает изменение.
6. Считываемый компьютером носитель информации по п.5, дополнительно содержащий этап, на котором используют API для ассоциирования элемента структурированных данных с файлом схемы XML, который используется для проверки элемента структурированных данных прежде, чем изменение будет передано в хранилище данных.
7. Считываемый компьютером носитель информации по п.2, в котором API предоставляет функцию регистрации для приема уведомления для уведомления об изменениях в отношении, по меньшей мере, одного из: изменения хранилища данных и изменения одного или более элементов структурированных данных; причем изменение может включать в себя удаление, добавление и модификацию по меньшей мере одного из хранилища данных и элемента структурированных данных.
8. Считываемый компьютером носитель информации по п.7, в котором API предоставляет интерфейс для добавления вершины к хранилищу данных; удаления вершины из хранилища данных; и замены вершины в хранилище данных.
9. Считываемый компьютером носитель информации по п.7, в котором API предоставляет интерфейс для заполнения хранилища данных с использованием существующего файла; и заполнения хранилища данных с использованием строки XML.
10. Считываемый компьютером носитель информации по п.7, в котором API предоставляет интерфейс для добавления пространства имен; поиска пространства имен; добавления схемы; удаления схемы; и перезагрузки схемы.
11. Считываемый компьютером носитель информации по п.7, в котором API предоставляет интерфейс для добавления потока; удаления потока; добавления поддерева; удаления поддерева; получения следующей одноуровневой вершины для текущего вершины; и получения предыдущей одноуровневой вершины для текущей вершины, получающей тип вершины.
12. Считываемый компьютером носитель информации по п.7, в котором API предоставляет интерфейс для получения значения вершины; и принудительного выполнения структуры.
13. Выполняемый компьютером метод управления данными, ассоциированными с документами, генерируемыми компьютером, содержащий этапы, на которых:
сохраняют элементы структурированных данных, которые ассоциированы с документами, с использованием хранилищ данных; при этом элемент структурированных данных является структурированным в соответствии с расширяемым языком разметки (XML); и
предоставляют интерфейс прикладного программирования (API) для потребителей данных, который обеспечивает возможность программного доступа к документам и к элементам структурированных данных, которые содержатся в хранилищах данных; и используют этот API для доступа к элементам структурированных данных, находящихся в хранилище данных, в то время как документ редактируют, и когда документ закрыт; и при этом потребители данных, когда они зарегистрированы, принимают уведомление об изменении, выполненном в отношении хранилищ данных.
14. Выполняемый компьютером метод по п.13, в котором использование API дополнительно содержит этап, на котором:
инициируют изменения в отношении одного из хранилищ данных, с использованием API;
предоставляют уведомления для зарегистрированных потребителей данных в отношении этого изменения;
определяют, когда ответ от одного из зарегистрированных потребителей данных представляет собой отклонение, и в случае, когда этот ответ представляет собой отклонение, отменяют изменение и любые побочные изменения;
определяют, когда все зарегистрированные потребители данных принимают изменение; и когда зарегистрированные потребители данных принимают изменение; необязательно проверяют изменения с использованием файла схемы XML, который предоставляется одним из потребителей данных через API; и передают изменения в одно или более хранилищ данных.
15. Выполняемый компьютером метод по п.14, в котором использование API дополнительно содержит этапы, на которых: предоставляют интерфейс программирования для получения значения для вершины; добавления вершины; удаления вершины; перемещения вершины; добавления схемы; удаления схемы; перезагрузки схемы; добавления пространства имен и удаления пространства имен.
16. Система управления данными, ассоциированная с генерируемыми компьютером документами, содержащая:
внешние потребители данных;
хранилище данных документа, которое выполнено с возможностью сохранения документов; и
хранилище данных, выполненное с возможностью сохранения элементов структурированных данных, которые ассоциированы с одним или более документами; причем хранилища данных включают в себя: хранилища данных XML; брокер API, выполненный с возможностью взаимодействия с внешними потребителями данных и внутренними потребителями данных; хранилище изменения, которое выполнено с возможностью хранения изменений, которые ассоциированы с изменением, которое выполнено в отношении элементов структурированных данных; и хранилище отмены, которое выполнено с возможностью отмены любых изменений, выполненных в результате изменения, которое было выполнено в отношении элементов структурированных данных; при этом брокер API предоставляет интерфейс программирования (API), который позволяет обеспечить программный доступ к документам и к элементу структурированных данных, которые содержатся в хранилищах данных; и, используя API, обеспечивают доступ к элементам структурированных данных в хранилищах данных, как в случае, когда документ открыт, так и в случае, когда документ закрыт.
17. Система по п.16, в которой хранилище данных дополнительно выполнено с возможностью:
приема изменения данных разметки расширяемого языка разметки (XML), применяемых к элементу структурированных данных;
считывания файла схемы XML, ассоциированного с элементом структурированных данных, на который направлены изменения данных разметки XML;
определения, являются ли данные XML разметки действительными в соответствии со считанным файлом схемы XML; и
запрета изменения данных XML разметки, если изменение данных XML разметки окажется не действительным в соответствии со считанным файлом схемы XML; и передачи изменения в одно или более хранилищ XML, когда изменение данных XML разметки является действительным в соответствии со считанным файлом схемы XML.
18. Система по п.16, в которой каждое из хранилищ данных XML содержит хранилище отмены и хранилище изменения.
19. Система по п.16, в которой API предоставляет интерфейс для добавления вершины к хранилищу данных; удаления вершины из хранилища данных; замены вершины в хранилище данных; и получения значения из хранилища данных.
20. Система по п.19, в которой API предоставляет интерфейс для добавления схемы; удаления схемы; и перезагрузки схемы.