RU2328032C2 - Система и способ проверки правильности документов xml и выдачи сообщения о нарушениях схемы - Google Patents
Система и способ проверки правильности документов xml и выдачи сообщения о нарушениях схемы Download PDFInfo
- Publication number
- RU2328032C2 RU2328032C2 RU2003119091/09A RU2003119091A RU2328032C2 RU 2328032 C2 RU2328032 C2 RU 2328032C2 RU 2003119091/09 A RU2003119091/09 A RU 2003119091/09A RU 2003119091 A RU2003119091 A RU 2003119091A RU 2328032 C2 RU2328032 C2 RU 2328032C2
- Authority
- RU
- Russia
- Prior art keywords
- xml
- native
- error
- node
- parallel tree
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/131—Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/221—Parsing markup language streams
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Изобретение относится к способам проверки правильности документа расширяемого языка разметки (XML) и выдачи сообщения о нарушениях схемы в режиме реального времени. Техническим результатом является обеспечение проверки правильности документа XML и сообщения о нарушениях схемы в режиме реального времени, когда пользователь редактирует документ. Поддерживается параллельное дерево, которое включает в себя узлы, соответствующие элементам «неродного» XML документа XML. Когда изменения происходят в документе XML, отмечаются элементы «неродного» XML, соответствующие изменениям. Узлы, соответствующие отмеченным элементам «неродного» XML, проверяются на правильность по отношению к схеме XML, которая соответствует разметке «неродного» XML. Об элементах и узлах, соответствующих ошибкам в разметке «неродного» XML, затем сообщают пользователю согласно индикаторам отображения в документе XML и параллельном дереве. 3 н. и 17 з.п. ф-лы, 8 ил.
Description
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
В последние годы языки разметки достигли широкой популярности. Один из видов языка разметки, расширяемый язык разметки (XML), является универсальным языком, который обеспечивает способ идентификации, обмена и обработки различных видов данных. Например, XML используется для создания документов, которые могут использоваться разнообразными прикладными программами. Элементы файла XML имеют связанное пространство имен и схему.
В XML пространство имен обычно используется для однозначного определения каждого класса документа XML. Каждый документ XML может использовать пространство имен для того, чтобы позволить процессам легко идентифицировать тип XML, связанного с документом. Уникальные пространства имен могут также помочь дифференцировать элементы разметки, которые исходят из различных источников и случается имеют то же самое имя.
Схемы XML обеспечивают способ описания и проверки правильности (проверки на допустимость) данных в среде XML. Схема устанавливает, какие элементы и атрибуты используются для описания содержимого в документе XML, где допустим каждый из элементов и какие элементы могут появляться в пределах других элементов. Использование схем гарантирует, что файл структурирован непротиворечивым способом. Схемы могут создаваться пользователем и в общем случае поддерживаются с помощью связанного языка разметки, такого как XML. Используя редактор XML, который поддерживает схему, пользователь может воздействовать на файл XML и генерировать документы XML, которые придерживаются созданной пользователем схемы.
Обычно, когда неправильный (недопустимый) элемент или тэг вставляются в документ XML, редактор XML не позволяет пользователю продолжать составлять документ XML, пока он не устранит ошибку. В таком случае редактор XML просто запрещает внесение редакционных изменений в документ XML, которые являются ошибочными относительно схемы, так что редактор не обеспечивает редактирование в свободном стиле. Другой возможностью для редакторов является предоставление пользователю возможности создавать весь документ XML и затем впоследствии проверять правильность (допустимость) всего документа XML. Ошибки, встречающиеся при проверке правильности всего документа XML, затем должны быть найдены и исправлены.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение направлено на обеспечение проверки правильности документа расширяемого языка разметки (XML) и на сообщение о нарушениях схемы в режиме реального времени, когда пользователь редактирует документ. Текстовый процессор имеет связанный с ним расширяемый язык разметки («родной» (собственный) XML). Когда пользователь связывает файл схемы «неродного» (несобственного) XML с документом XML, текстовый процессор использует схему «неродного» XML со средством проверки правильности для проверки правильности элементов «неродного» XML в документе XML. Когда пользователь вставляет элементы «неродного» XML из данной схемы в документ XML, текстовый процессор поддерживает параллельное дерево в качестве объекта средства проверки правильности. Данное дерево включает в себя узлы, которые соответствуют элементам «неродного» XML, вставленным в документ XML. Параллельное дерево помогает предотвратить вступление в противоречие разметки «родного» XML с разметкой «неродного» XML в пределах документа XML. Хотя разметка «неродного» XML сосуществует с разметкой «родного» XML в пределах того же самого документа XML, параллельное дерево позволяет проверить правильность разметки «неродного» XML отдельно и независимо от разметки «родного» XML.
В одном из вариантов осуществления каждый раз, когда элемент «неродного» XML вставляется в документ XML, соответствующий узел создается в параллельном дереве в соответствующем местоположении в зависимости от контекста того, как был вставлен элемент «неродного» XML. Соответственно, каждый раз, когда элемент «неродного» XML удаляется из документа XML, соответствующий узел удаляется из параллельного дерева.
В добавлении к отслеживанию элементов «неродного» XML параллельное дерево также отслеживает текстовое содержимое элементов «неродного» XML. Содержимое элементов «неродного» XML существует в документе XML, а не в параллельном дереве, но параллельное дерево, однако, поддерживает связь с элементами. Когда необходимо, содержимое отыскивается с помощью параллельного дерева для целей проверки правильности параллельного дерева. Процесс проверки правильности может затем проверить правильность структурных отношений параллельного дерева среди узлов, так же как ограничений типа содержимого, которые каждый узел налагает на его текстовое содержимое.
Параллельное дерево отражает изменения в документе XML в реальном времени и дает возможность проверки правильности в режиме реального времени разметки «неродного» XML. Когда возникает момент неактивного состояния после изменения в разметке «неродного» XML или в текстовом содержимом документа XML, поддерево параллельного дерева, соответствующее области документа XML, где произошли изменения, проверяется с помощью средства (механизма) проверки правильности. Если существует одна или более ошибок при изменении «неродного» XML или текстового содержимого, то средство (механизм) проверки правильности уведомляет текстовый процессор об ошибках. Текстовый процессор затем выделяет ошибки и в пределах документа XML, и в пределах параллельного дерева согласно командам пользовательского интерфейса для обработки таких ошибок.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 показывает примерное вычислительное устройство, которое может использоваться в одном из примерных вариантов осуществления настоящего изобретения.
Фиг.2 - структурная схема, показывающая пример среды для реализации настоящего изобретения.
Фиг.3 показывает пример структурной схемы документа XML и параллельного дерева в соответствии с настоящим изобретением.
Фиг.4 показывает пример структурной схемы документа XML и параллельного дерева, которые включают в себя ошибки, в соответствии с настоящим изобретением.
Фиг.5 - логическая схема последовательности операций примера процесса проверки правильности документа XML и выдачи сообщения об ошибках в соответствии с настоящим изобретением.
Фиг.6 - логическая схема последовательности операций примера процесса определения местоположения и обработки изменений в пределах документа XML в соответствии с настоящим изобретением.
Фиг.7 - логическая схема последовательности операций примера процесса проверки правильности документа XML в соответствии с настоящим изобретением.
Фиг.8 - логическая схема последовательности операций примера процесса отображения ошибок в документе XML и в параллельном дереве в соответствии с настоящим изобретением.
ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНОГО ВАРИАНТА ОСУЩЕСТВЛЕНИЯ
По всему описанию и формуле изобретения следующие термины имеют значения, явно указанные ниже, если контекст явно не диктует иное значение.
Термины «язык разметки» или «ЯР» относятся к языку для специальных кодов внутри документа, которые определяют, как части документа должны интерпретироваться приложением. В файле текстового процессора элементы разметки могут быть связаны с определенным форматированием, которое определяет, как содержимое элемента должно быть отображено или размещено. В других документах, таких как другие документы XML, разметка может быть направлена на описание данных, не обращаясь к рассмотрению отображения.
Термины ««родной» (собственный) расширяемый язык разметки» или ««родной» (собственный) XML» относятся к элементам языка разметки, которые связаны с приложением текстового процессора, и к схеме, связанной с приложением текстового процессора.
Термины ««неродной» (несобственный) расширяемый язык разметки» или ««неродной» (несобственный) XML» относятся к элементам языка разметки, которые создали пользователь или другое приложение, которые придерживаются схемы, отличающейся от схемы «родного» XML.
Термин «элемент» относится к основному модулю документа XML. Элемент может содержать атрибуты, другие элементы, содержимое и другие стандартные блоки для документа XML.
Термин «тэг» относится к команде, вставленной в документ, которая описывает элементы в документе XML. Каждый элемент обычно имеет не более чем два тэга: начальный тэг и конечный тэг. Может существовать пустой элемент (без содержимого), в этом случае разрешается один тэг.
Содержимое между тэгами считают «дочерними» элементами элемента (или «элементами-потомками»). Следовательно, другие элементы, внедренные в содержимое элемента, называют «дочерними» элементами или «дочерними» вершинами или элементом. Текст, внедренный непосредственно в содержимое элемента, считают «дочерними текстовыми узлами» элемента. «Дочерние» элементы и текст в пределах элемента вместе составляют «содержимое» этого элемента.
Термин «атрибут» относится к дополнительному свойству, установленному равным определенному значению и связанному с элементом. Элементы могут иметь произвольное количество значений параметров атрибута, связанных с ними, что включает в себя отсутствие параметров. Атрибуты используются для связывания с элементом дополнительной информации, которая не включена в содержимое элемента.
ИЛЛЮСТРАТИВНАЯ ОПЕРАЦИОННАЯ СРЕДА
Обращаясь к фиг.1, одна из примерных систем для осуществления изобретения включает в себя вычислительное устройство, такое как вычислительное устройство 100. Основная конфигурация включает в себя те компоненты, которые расположены в пределах пунктирной линии 108. В основной конфигурации вычислительное устройство 100 в типовом случае включает в себя по меньшей мере один процессор 102 и системную память 104. В зависимости от точной конфигурации и типа вычислительного устройства системная память 104 может быть энергозависимой (такой как оперативная память (ОП)), энергонезависимой (такой как постоянное запоминающее устройство (ПЗУ), флэш-память и т.д.) или некоторой их комбинацией. Системная память 104 типично включает в себя операционную систему 105, одно или более приложений 106 и может включать в себя данные 107 программ. В одном из вариантов осуществления приложения 106 включают в себя приложение 120 текстового процессора, имеющее редактор XML 122. В такой конфигурации приложение 120 текстового процессора способно открывать и редактировать документы XML в среде свободного редактирования. Хотя настоящее изобретение показано в контексте использования приложения 120 текстового процессора, оно имеет равную применимость для других типов приложений, как будет очевидно специалистам.
Вычислительное устройство 100 может иметь дополнительные особенности или функциональные возможности. Например, вычислительное устройство 100 может также включать в себя дополнительные устройства хранения данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или магнитная лента. Такие дополнительные запоминающие устройства показаны на фиг.1 съемным запоминающим устройством 109 и несъемным запоминающим устройством 110. Компьютерные носители данных могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, воплощенные с помощью любого способа или технологии для хранения информации, такой как считываемые компьютером команды, структуры данных, модули программ или другие данные. Системная память 104, съемное запоминающее устройство 109 и несъемное запоминающее устройство 110 - все являются примерами компьютерных носителей данных. Компьютерные носители данных включают в себя ОП, ПЗУ, электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ), флэш-память или память другой технологии, компакт-диски (CD-ROM), цифровые универсальные диски (DVD) или другие оптические запоминающие устройства, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитном диске или другие магнитные запоминающие устройства или любой другой носитель, который может использоваться для хранения требуемой информации и к которому может обращаться вычислительное устройство 100, но не ограничены ими. Любые такие компьютерные носители данных могут быть частью устройства 100. Вычислительное устройство 100 может также иметь устройство (а) 112 ввода данных, такие как клавиатура, мышь, перо, устройство ввода голосовых данных, сенсорное устройство ввода данных и т.д. Оно может также включать в себя устройство (а) 114 вывода, такие как дисплей, динамики, принтер и т.д. Эти устройства хорошо известны из предшествующего уровня развития техники и нет необходимости обсуждать их подробно.
Вычислительное устройство 100 может также содержать коммуникационные подключения 116, которые позволяют устройству связываться с другими вычислительными устройствами 118, например, по сети. Коммуникационное подключение 116 является одним из примеров средств связи. Средства связи могут типично воплощаться с помощью считываемых компьютером команд, структур данных, модулей программ или других данных в модулируемом сигнале данных, таком как несущая, или может использовать другой механизм транспортировки, и включают в себя любые средства доставки информации. Термин «модулированный сигнал данных» означает сигнал, который имеет одну или более из своих характеристик, которые устанавливаются или изменяются таким образом, чтобы кодировать информацию в сигнале. Для примера, а не в качестве ограничения, средства связи включают в себя проводные средства связи, такие как проводная сеть или непосредственное проводное подключение, и беспроводные средства связи, такие как акустические, радиочастотные (РЧ), инфракрасные и другие беспроводные средства связи. Считается, что термин «считываемый компьютером носитель» включает в себя и носитель данных, и средство связи.
Фиг.2 - структурная схема, показывающая примерную среду для применения настоящего изобретения. Показанная на фиг.2 примерная среда 200 включает в себя текстовый процессор 120, документ 210 XML, схему 215 «неродного» (несобственного) XML, средство 225 (механизм) проверки правильности XML и структуры 230 данных. Структуры 230 данных включают в себя информацию 235 об ошибке, параллельное дерево 220 и данные 240 синхронизации.
В одном из вариантов осуществления текстовый процессор 120 имеет свое собственное пространство имен и схему для использования с документами XML, связанными с текстовым процессором 120. Набор тэгов и атрибутов, которые определяются схемой для текстового процессора 120, может определять формат документа XML до такой степени, что он упоминается как его собственный язык разметки, язык разметки текстового процессора («родной» XML). «Родной» XML поддерживается с помощью текстового процессора 120 и может придержаться правил других языков разметки, хотя создает дополнительно собственные правила. «Родной» XML обеспечивает язык разметки, который включает в себя много отображаемой информации, которая обычно связана с обработкой текстов, например, форматирование текста (например, полужирный, курсив, подчеркивание), форматирование абзаца (например, интервал между строками, выравнивание и т.п.), табличное форматирование (например, строки и столбцы таблицы) и т.п. «Родной» XML может в таком случае использоваться вместе с определяемой пользователем схемой, которая добавляет документу более самостоятельную структуру.
В соответствии с настоящим изобретением элементы «родного» XML и «неродного» XML могут сосуществовать в документе 210 XML и могут проверяться на правильность отдельно. Элементы «неродного» XML связаны со схемой 215 «неродного» XML. При проверке правильности элементы «неродного» XML исследуются относительно того, соответствуют ли они схеме 215 «неродного» XML. Как описано выше, схема устанавливает, какие теги и атрибуты используются для описания содержимого в документе XML, где разрешается каждый из тэгов, какие типы содержимого могут появляться в элементах и какие элементы могут появляться в других элементах, гарантируя, что документ структурирован одним и тем же образом. Соответственно, элементы «неродного» XML являются правильными, когда они структурированы так, как сформулировано в схеме 215 «неродного» XML. Проверка правильности элементов «неродного» XML описана ниже дополнительно при описании фиг.7.
Средство (механизм) 225 проверки правильности XML является модулем, который конфигурируется для поддержания дерева элементов и для проверки правильности дерева элементов по отношению к некоторой схеме. Вкратце, средству 225 проверки правильности XML может передаваться объект, который определяет дерево элементов, например объект, который соответствует элементам в пределах документа 210 XML, указатель на схему, такую как схема «неродного» XML 215, и возможно, содержимое одного или более элементов дерева элементов. С помощью этой информации средство 225 проверки правильности XML проверяет правильность дерева элементов по отношению к схеме и сообщает запрашиваемому процессу о любых нарушениях.
Во время выполнения текстовый процессор 120 поддерживает несколько структур 230 данных, которые могут участвовать в проверке правильности элементов «неродного» XML в соответствии с одним из воплощений настоящего изобретения. Параллельное дерево 220 является деревом элементов, которое включает в себя узлы, соответствующие каждому элементу «неродного» XML в пределах документа 210 XML. В одном из вариантов осуществления параллельное дерево 220 имеет информацию о каждом элементе и содержимом документа 210 XML, и документ 210 XML имеет информацию об узлах параллельного дерева 220. Соответственно, пользователь может выделить узел в параллельном дереве 220 и элементы, соответствующие этому узлу, также выделяются в документе 210 XML. Точно так же выделение части документа 210 XML также приводит к выделению соответствующего(их) узла(лов) параллельного дерева 220. Примерное параллельное дерево описано дополнительно ниже при описании фиг.3.
Информация (данные) 235 об ошибках включают в себя данные, возвращенные в текстовый процессор 120 от средства 225 проверки правильности XML, когда ошибка произошла по отношению к элементам, проверенным на правильность с помощью средства 225 проверки правильности XML. Данные 235 об ошибках может также включать в себя информацию для отображения уведомления об ошибках текстовым процессором 120. В одном из вариантов осуществления текстовый процессор 120 сообщает о четырех отдельных типах ошибок, когда ошибка является результатом проверки на правильность. Четыре типа ошибок включают в себя ошибку местоположения, ошибку недопустимого содержимого, ошибку отсутствия содержимого и ошибку недопустимого атрибута. Также могут использоваться другие различные типы ошибок по сравнению с описанными четырьмя. Определение типа ошибки упрощает анализ, который должен быть выполнен для исправления ошибки. Данные 235 об ошибках могут также включать в себя дополнительную информацию, относящуюся к ошибке, такую как предложение о том, как можно исправить ошибку, которая может быть отображена пользователю. Отображение и зависимость информации об ошибке описаны дополнительно далее со ссылками на фиг.8.
Данные 240 синхронизации включают в себя данные для синхронизации параллельного дерева 220 с документом 210 XML в реальном времени. В одном из вариантов осуществления данные 240 синхронизации включают в себя таблицу идентификаторов, которые связаны с каждым элементом в пределах документа 210 XML. Идентификаторы однозначно определяют каждый элемент в пределах документа 210 XML, и поэтому также однозначно определяют каждый узел в пределах параллельного дерева 220. Данные 240 синхронизации помогают при синхронизации изменений, произошедших в пределах документа 210 XML, с параллельным деревом 220, включая добавление или удаление узлов в пределах параллельного дерева 220. Примерный процесс, который включает в себя этапы добавления узла к параллельному дереву 220, описан со ссылками на фиг.6.
Фиг.3 показывает пример документа 210 XML и параллельное дерево 220, которые могут поддерживаться в соответствии с настоящим изобретением. Документ 210 XML включает в себя и элементы «родного» XML, и элементы «неродного» XML. Элемент в языке разметки обычно включает в себя открывающий тэг (обозначенный с помощью «<» и «>»), некоторое содержимое и закрывающий тэг (обозначенный с помощью « </» и «>»). В этом примере теги, связанные со схемой «родного» XML, включают в себя «w:» в пределах тэга (например, элемент 302), а теги, связанные со схемой «неродного» XML, включает в себя «r:» в пределах тэга (например, элемент 304). Считается, что теги, связанные с «родным» XML, связываются с пространством имен текстового процессора. Напротив, теги, которые связаны с «неродным» XML, упоминаются как связываемые с другим пространством имен, в этом примере - с пространством имен «resume» (продолжение). Элементы документа 210 XML могут дополнительно включать в себя содержимое. Например, элемент «Work» (работа) содержится в элементе «objective» (цель), и «123 Main» (123 Главная) содержится в элементе «street» (улица). Элемент «address» (адрес) включает в себя элемент «street». Эти элементы определяются согласно схеме «неродного» XML, соответствующей пространству имен «resume» (например, схема «resume»), которое было предварительно обеспечено пользователем или другим приложением. Префиксы «w:» и «r:» служат стенографическим примечанием для XML для этих соответствующих пространств имен.
Параллельное дерево 220 включает в себя узел (например, узлы 322, 324, 326) для каждого элемента «неродного» XML в пределах документа 210 XML. В одном из вариантов осуществления параллельное дерево 220 поддерживается средством 225 проверки правильности отдельно от текстового процессора 120 (см. фиг.2). Параллельное дерево 220 модифицируется в режиме реального времени, когда документ 210 XML изменяется. Параллельное дерево 220 позволяет текстовому процессору 120 по существу игнорировать элементы «родного» XML, поскольку оно проверяет правильность документа 210 XML по отношению к схеме «неродного» XML 215. Другими словами, элементы «неродного» XML фактически прозрачны (не заметны) для элементов «неродного» XML, когда параллельное дерево 220 обеспечивается для средства проверки правильности для проверки правильности. Затем параллельное дерево 220 может проверяться на правильность отдельно от любых элементов «родного» XML, как описано ниже дополнительно в связи с фиг.7.
Как показано, параллельное дерево 220 включает в себя содержимое, связанное с каждым элементом «неродного» XML. В другом варианте осуществления содержимое не копируется в параллельное дерево 220 до тех пор, пока параллельное дерево не передают на средство 225 проверки правильности для проверки правильности. В еще одном варианте осуществления содержимое, которое копируется в параллельное дерево 220, ограничивается тем содержимым, которое связано с частью параллельного дерева 220, которая будет проверяться на правильность. Проверка правильности параллельного дерева 220 описана дополнительно вместе с описанием фиг.7.
Фиг.4 изображает структурную схему примера документа 410 XML и параллельного дерева 420, которые включают в себя ошибки. Документ 410 XML и параллельное дерево 420 подобны документу 210 XML и параллельному дереву 220, показанным на фиг.3, однако ошибка (относительно схемы «неродного» XML 215) была добавлена к разметке «неродного» XML. Ошибка представлена ошибочным элементом 432, который является почтовым индексом. В соответствие со схемой 215 «неродного» XML элемент «zip» (почтовый индекс) является «дочерним» элементом элемента «address», или элементом одного уровня с элементом «street». Однако, в иллюстрированном примере, элемент «zip» является недопустимым, так как элемент «zip» был размещен, как «дочерний» элемент элемента «street». В соответствии с изобретением параллельное дерево 420 отражает, что элемент «zip» был вставлен как «дочерний» элемент элемента «street». Соответственно, когда параллельное дерево 420 (или некоторое соответствующее поддерево, которое включает в себя элемент «street») проверяется на правильность по отношению к схеме 215 «неродного» XML, возвращается ошибка. В этом примере текстовый процессор 120 идентифицирует ошибку в пределах документа 410 XML с помощью подчеркивания, однако для указания ошибки могут использоваться другие индикаторы отображения.
Параллельное дерево 420 также включается в индикацию ошибки, где значок 442 показывает, что узел 422 «zip» имеет соответствующую ошибку. В другом варианте осуществления другие индикаторы отображения могут использоваться в пределах параллельного дерева 420 для указания присутствия ошибки, связанной с узлом. Согласно показанному примеру, щелкая правой кнопкой мыши на подчеркнутом(ых) элементе(ах) (например, ошибочный элемент 432) в пределах документа 410 XML генерируют отображение 430 ошибки (например, меню, выводимое по щелчку правой кнопкой мыши). Отображение 430 ошибки указывает подробную информацию об ошибке, например, тип ошибки. Отображение 430 ошибки может также включать в себя предлагаемые действия для пользователя в попытке исправить ошибку. Предлагаемые действия могут быть интерактивны, давая возможность пользователю выбрать из списка возможных решений для существующей ошибки.
Кроме того, располагая указатель над значком 442, можно отобразить другую информацию для пользователя, такую как подсказка 440. «Подсказка» обычно относится к не являющемуся интерактивным элементу отображения, который обеспечивает пользователя дополнительной информацией. Например, показанная подсказка обеспечивает текстовое уведомление, что «элемент «zip» (почтовый индекс) не может быть внутри элемента «street» (улица)». В одном из вариантов осуществления или значок 442, или ошибочный элемент 432 могут быть выбраны или на них может быть наведен указатель мыши для того, чтобы отобразить или отображение 430 ошибки или подсказку 440. Примерный процесс, относящийся к отображению индикаторов ошибки в пределах документа 410 XML и параллельного дерева 420, описан при обсуждении фиг.8.
ОБНАРУЖЕНИЕ, ПРОВЕРКА ПРАВИЛЬНОСТИ И ВЫДАЧА СООБЩЕНИЯ ОБ ОШИБКАХ
Фиг.5 - логическая схема последовательности операций примерного процесса проверки правильности документа XML и выдачи сообщения о нарушениях схемы в соответствии с настоящим изобретением. Процесс 500 начинается на этапе 501, где документ XML редактируется и где произошло изменение. «Изменение» относится к вставке, изменению или удалению элементов XML в пределах документа XML или изменения текстового содержимого элементов «неродного» XML. В ответ на это изменение обработка продолжается на этапе 502.
На этапе 502 в пределах документа XML определяется местоположение того изменения, которое произошло с документом XML. Некоторые изменения, такие как добавление новых элементов, могут потребовать дополнительную обработку для добавления соответствующих узлов к параллельному дереву. Примерный процесс определения местоположения и обработки изменений в пределах документа XML описан далее со ссылками на фиг.6. Обработка продолжается на этапе 503.
На этапе 503 часть документа XML, которая была изменена, помечается как «загрязненная». Пометка «загрязненный» относится к тем частям документа XML, которые еще должны проверяться на правильность или чья правильность больше не гарантируется из-за изменения. Идентификатор или другой индикатор может быть связан с частью документа XML, где произошло изменение. В одном из вариантов осуществления «родительский» элемент любого элемента, который был изменен, удален или добавлен, маркируются как «загрязненный». Когда процесс 500 переходит к проверке правильности «загрязненной» части, средство проверки правильности проверяет правильность «родительского» элемента и «дочерних» элементов этого «родительского» элемента. Обработка продолжается в соответствии с этапом 504.
На этапе 504 узлы параллельного дерева, соответствующие той части документа XML, которая была изменена, также маркируются как «загрязненные». Идентификатор или другой индикатор может быть связан с узлами параллельного дерева, соответствующим тем местам, где произошло изменение. В одном из вариантов осуществления уникальный идентификатор, который связан с каждым элементом в пределах документа XML и каждым узлом параллельного дерева, маркируется как «загрязненный», таким образом одновременно отмечая как «загрязненные» и часть документа XML, и узлы параллельного дерева. Обработка продолжается на этапе 505 принятия решения.
На этапе 505 принятия решения происходит определение, достиг ли пользователь, создающий или редактирующий документ XML, момента неактивного состояния или превышения времени ожидания. Неактивное состояние относится к моменту времени, когда пользователь в настоящее время не обеспечивает ввода пользовательской информации в текстовый процессор. Превышение времени ожидания относится к ситуации, когда неактивное состояние не возникло в течение предопределенного времени. Если прошло достаточное время, то возникнет условие превышения времени ожидания. Обработка зацикливается на этапе 505 до тех пор, пока не возникнет неактивное состояние или условие превышения времени ожидания. Когда достигнуто неактивное состояние или возникает условие превышения времени ожидания, обработка продолжается на этапе 506.
На этапе 506 «загрязненный» узел или узлы параллельного дерева проверяются на правильность с помощью средства проверки правильности. Параллельное дерево является объектом средства проверки правильности или связано с ним, так что дерево не должно быть передано к средству проверки правильности для проверки правильности. Примерный процесс проверки правильности «загрязненного(ых)» узла(лов) параллельного дерева описан далее со ссылками на фиг.7. Обработка продолжается на этапе 507 принятия решения.
На этапе 507 принятия решения определяют, существует ли ошибка в элементах «неродного» XML документа XML согласно информации об ошибке, возвращенной средством проверки правильности. Средство проверки правильности возвращает данные об ошибке в текстовый процессор, которые указывают правильность каждого узла в пределах параллельного дерева, проанализированного средством проверки правильности. В одном из вариантов осуществления данные об ошибке включают в себя тип ошибки, которая произошла в текстовом процессоре. Если ошибок нет, то обработка переходит к этапу 509, где обработка заканчивается. Если ошибка существует, то обработка продолжается на этапе 508.
На этапе 508 пользователь уведомляется об ошибке в проверяемых элементах «неродного» XML согласно индикаторам отображения в пределах документа XML и в пределах параллельного дерева. Примерный процесс выдачи пользователю сообщения о произошедших ошибках описан далее со ссылками на фиг.8. Обработка продолжается на этапе 509, где обработка заканчивается.
Фиг.6 представляет логическую схему последовательности операций примера процесса определения местоположения и обработки изменений в пределах документа XML в соответствии с настоящим изобретением. Процесс 600 начинается на этапе 601, когда процесс 500, показанный на фиг.5, переходит к этапу 502. Обработка продолжается на этапе 602.
На этапе 602 определяется «родительский» элемент той части документа XML, которая изменилась. Например, на фиг.4 элемент «street» в документе 410 XML является «родительским» элементом элемента 432 «zip». В одном из вариантов осуществления «родительский» элемент определяется таким образом, чтобы поддерево параллельного узла, которое включает в себя «родительский» и «дочерние» элементы этого «родительского» элемента, могло быть маркировано как «загрязненное». Проверка правильности этого «родительского» элемента и его дочерних элементов гарантирует, что весь документ XML правилен, потому что в типовом варианте изменение не должно влиять на правильность других элементов, кроме непосредственно «родительского» элемента измененного узла. Определение «родительского» элемента также помогает при синхронизации параллельного дерева с документом XML. «Родительский» элемент может в таком случае использоваться как индикатор местоположения изменений в пределах документа XML. В одном из вариантов осуществления идентификатор, связанный с «родительским» элементом измененного элемента, сохраняется в данных 240 синхронизации, показанных на фиг.2. Обработка продолжается на этапе 603.
В соответствии с этапом 603 самый близкий элемент одного уровня изменяемого элемента(ов) определяется с помощью текстового процессора. Например, на фиг.3 элемент «objective» и элемент «address» считают элементами одного уровня. Определение самого близкого элемента одного уровня помогает при синхронизации параллельного дерева с документом XML. Самый близкий элемент одного уровня обеспечивает второй индикатор местоположения изменений в документе XML. В одном из вариантов осуществления идентификатор, связанный с «родительским» элементом измененного элемента, сохраняется в данных 240 синхронизации, показанных на фиг.2. В другом варианте осуществления также определяется, находится ли самый близкий элемент одного уровня выше или ниже элемента, изменяемого в документе XML. Обработка продолжается в соответствии с этапом 604 принятия решения.
На этапе 604 принятия решения определяют, требует ли изменение создания нового узла в параллельном дереве. Новый узел требуется, когда новый элемент «неродного» XML генерируется в документе XML. Новый узел создается в режиме реального времени для поддержания синхронизации документа XML и параллельного дерева. Когда новый узел не требуется, обработка переходит к этапу 609, откуда обработка возвращается на этап 503 процесса 500. Однако, если требуется новый узел, то обработка переходит к этапу 605.
На этапе 605 создается идентификатор, который соответствует новому элементу в документе XML. Идентификатор однозначно идентифицирует элемент в пределах документа XML. Обработка продолжается на этапе 606.
На этапе 606 в пределах параллельного дерева генерируется узел, который не имеет «родительской» вершины. Узел, не имеющий «родительской» вершины, в настоящее время не идентифицируется «родительской» вершиной в пределах параллельного дерева. Обработка продолжается на этапе 607.
На этапе 607 идентификатор, относящийся к элементу, сгенерированному в пределах документа XML, связывается с узлом, не имеющим «родительского» узла. Связь идентификатора с узлом, не имеющим «родительской» вершины, позволяет текстовому процессору соотнести узел с позицией нового элемента в пределах документа XML. В одном из вариантов осуществления «родительский» элемент и самый близкий элемент одного уровня были определены для нового элемента в пределах документа XML, и соответственно, также определяются «родительская» вершина и самый близкий узел одного уровня в пределах параллельного дерева. Обработка продолжается на этапе 608.
На этапе 608 «родительской» вершине в пределах параллельного дерева, которая соответствует «родительскому» элементу нового элемента в пределах документа XML, дается команда для принятия узла, не имеющего «родительской» вершины. Новый узел затем отображается в правильной позиции в пределах параллельного дерева, синхронизируя документ XML и параллельное дерево. Обработка продолжается в соответствии с этапом 609, откуда обработка возвращается на этап 503 процесса 500.
Фиг.7 изображает логическую схему последовательности операций примерного процесса проверки правильности документа XML в соответствии с настоящим изобретением. Процесс 700 начинается на этапе 701, когда процесс 500, показанный на фиг.5, переходит к этапу 506. Обработка продолжается на этапе 702.
На этапе 702 содержимое, связанное с элементами «неродного» XML, которые будут проверяться на правильность, копируются в параллельное дерево. В одном из вариантов осуществления первоначально параллельное дерево не включает в себя содержимое документа XML. Если бы параллельное дерево включало в себя содержимое, то объем памяти, требуемый для параллельного дерева, был бы почти равен объему памяти, требуемому для документа XML. Копирование содержимого в параллельное дерево непосредственно перед проверкой правильности минимизирует объем памяти, требуемый для параллельного дерева. В другом варианте осуществления содержимое, скопированное в параллельное дерево, ограничивается содержимым, связанным с элементами «неродного» XML, отмеченными как «загрязненные». Обработка продолжается на этапе 703.
На этапе 703 узел(лы), отмеченный(е) как «загрязненный(е)», и связанное с ними содержимое проверяется на правильность по отношению к схеме «неродного» XML с помощью средства проверки правильности. Схема «неродного» XML устанавливает, какие теги и атрибуты используются для описания содержимого в элементах «неродного» XML документа XML, где разрешается каждый из тэгов, какое содержимое является приемлемым и какие элементы могут появляться в пределах других элементов. Параллельное дерево XML является правильным, когда оно придерживается схемы «неродного» XML. После завершения проверки правильности обработка переходит к этапу 704.
На этапе 704 содержимое, которое параллельное дерево включает в себя для целей проверки правильности, удаляется из параллельного дерева. Удаление содержимого из параллельного дерева дополнительно минимизирует объем памяти, требуемый для параллельного дерева. Обработка продолжается на этапе 705, откуда обработка возвращается к этапу 507 процесса 500, показанного на фиг.5.
На фиг.8 представлена логическая схема последовательности операций примерного процесса отображения ошибок в документе XML и параллельном дереве в соответствии с настоящим изобретением. Процесс 800 начинается на этапе 801, когда процесс 500 показанный на фиг.5, переходит на этап 508, и было определено, что ошибки существуют в пределах элементов «неродного» XML документа XML. Обработка продолжается на этапе 802.
На этапе 802 элемент(ы), определяемый(е) средством проверки правильности как имеющий(ие) ошибки, подчеркивается в документе XML. Следует признать, что другие индикаторы отображения (например, выделение жирным шрифтом, выделение курсивом, волнистые линии и т.д.) могут использоваться для определения элементов в пределах документа XML, как имеющие ошибки. Обработка продолжается на этапе 803.
На этапе 803 помечается узел(лы) параллельного дерева, соответствующий ошибочному элементу(ам) документа XML. В одном из вариантов осуществления рядом с узлом помещается значок для того, чтобы показать, что соответствующий узлу элемент содержит ошибку. В одном из вариантов осуществления значок зависит от типа ошибки, которая произошла в связи с ошибочным элементом. Обработка продолжается на этапе 804 принятия решения.
На этапе 804 происходит определение, щелкнул ли пользователь правой кнопкой мыши на ошибке, выделенной в документе XML. Если щелчка правой кнопкой мыши не происходит, то обработка переходит к этапу 806. Однако, если щелчок правой кнопкой мыши происходит, то обработка продолжается на этапе 805.
На этапе 805 в ответ на щелчок правой кнопкой мыши пользователю представляется отображение ошибки, которое дает подробную информацию относительно произошедшей ошибки и инструкцию для исправления ошибки. В другом варианте осуществления ввод другой пользовательской информации, а не щелчок правой кнопкой мыши, может использоваться для начала отображения ошибки. Отображение ошибки описано дополнительно выше при описании фиг.4. Обработка продолжается на этапе 806 принятия решения.
На этапе 806 принятия решения определяют, располагает ли пользователь указатель мыши над значком в параллельном дереве. Если пользователь не расположил указатель мыши над ошибкой, то обработка переходит к этапу 808, откуда обработка возвращается к этапу 509 процесса 500, показанного на фиг.5. Когда указатель мыши располагается над значком, обработка продолжается на этапе 807.
На этапе 807 отображается всплывающая подсказка пользователю в ответ на наведение указателя мыши на значок в параллельном дереве. В одном из вариантов осуществления текст подсказки обеспечивает простое утверждение, которое описывает ошибку, которая произошла. Например, если некоторый элемент должен включать в себя содержимое, текст подсказки может читаться как «этот элемент не может быть пуст». В одном из вариантов осуществления другая вводимая пользователем информация, а не наведение указателя мыши на значок, может использоваться для отображения подсказки. Примеры значка и подсказки показаны на фиг.4. Обработка продолжается на этапе 808, откуда обработка возвращается к этапу 509 процесса 500, показанного на фиг.5.
Вышеприведенные описание, примеры и данные обеспечивают законченное описание изготовления и использования состава изобретения. Поскольку множество вариантов осуществления изобретения могут быть сделаны без отрыва от объекта и формы изобретения, данное изобретение определяется прилагаемой формулой изобретения.
Claims (20)
1. Способ проверки правильности и выдачи уведомления о нарушениях схемы для документа на расширяемом языке разметки (XML), при этом документ XML включает в себя родной (собственной) XML и неродной (несобственной) XML, данный способ содержит этапы:
определяют местоположение изменения элемента неродного XML в пределах документа XML,
маркируют часть документа XML для того, чтобы показать, что изменение произошло по отношению к этой части документа XML,
маркируют узел в параллельном дереве, ассоциированном с неродным XML, чтобы показать, что произошло изменение для неродного XML, причем данный узел соответствует той части документа XML, где произошло изменение, и при этом параллельное дерево выборочно включает в себя элементы неродного XML и не включает элемент родного XML, при этом элемент родного XML ассоциирован с соответствующей схемой родного XML, а элемент неродного XML ассоциирован с соответствующей схемой неродного XML;
проверяют правильность узла параллельного дерева по отношению к соответствующей схеме неродного XML, так что проверяется правильность части XML документа, в которой имело место изменение элемента неродного XML;
определяют, существует ли ошибка в элементе неродного XML, исходя из данных об ошибке, доставленных в ответ на проверку правильности узла, и
отображают уведомление об ошибке в пределах документа XML и параллельного дерева, если ошибка произошла.
2. Способ по п.1, в котором этап определения местоположения изменений элементов неродного XML дополнительно содержит этапы:
идентифицируют родительский элемент для каждого элемента неродного XML, в котором произошло изменение, и
идентифицируют самый близкий элемент, имеющий этот же родительский элемент, для каждого элемента неродного XML, в котором произошло изменение.
3. Способ по п.1, дополнительно содержащий генерацию нового узла в параллельном дереве, когда новый элемент неродного XML генерируется в документе XML.
4. Способ по п.3, в котором генерация нового узла дополнительно содержит этапы:
создают идентификатор, который соответствует новому элементу неродного XML, так что родительский элемент и элемент, имеющий этот же родительский элемент, для упомянутого нового элемента неродного XML могут быть определены из упомянутого идентификатора,
создают не имеющий родительской вершины узел в параллельном дереве,
связывают упомянутый идентификатор с не имеющим родительской вершины узлом, и
дают команду родительской вершине, соответствующей родительскому элементу, чтобы она стала родительским узлом для не имеющего родительской вершины узла.
5. Способ по п.1, в котором проверка правильности узлов параллельного дерева дополнительно содержит этапы:
копируют контент в параллельное дерево, причем этот контент связан с той частью документа XML, где произошло изменение,
проверяют правильность узлов, которые включают в себя упомянутый контент, по отношению к соответствующей схеме неродного XML, и
удаляют упомянутый контент из параллельного дерева, так что объем памяти для параллельного дерева минимизируется.
6. Способ по п.5, в котором проверка правильности узлов, которые включают в себя контент, по отношению к соответствующей схеме неродного XML включает в себя исследование параллельного дерева с помощью средства проверки правильности XML согласно схеме неродного XML.
7. Способ по п.1, в котором перед проверкой правильности узла параллельного дерева дополнительно содержится этап определения возникновения условия превышения времени ожидания или неактивного состояния.
8. Способ по п.1, в котором отображение уведомления об ошибке дополнительно содержит этапы:
указывают часть документа XML, где произошла ошибка, согласно первому индикатору отображения, и
указывают узлы параллельного дерева, которые соответствуют той части документа XML, где произошла ошибка, согласно второму индикатору отображения.
9. Способ по п.8, в котором ввод пользовательской информации, соответствующей по меньшей мере одному из первого индикатора отображения и второго индикатора отображения, производит отображение ошибки, которое выдает информацию, относящуюся к ошибке, и позволяет выполнять интерактивные действия в отношении ошибки.
10. Способ по п.8, в котором ввод пользовательской информации, соответствующей по меньшей мере одному из первого индикатора отображения и второго индикатора отображения, вызывает подсказку, которая обеспечивает текстовую информацию, относящуюся к ошибке.
11. Считываемый компьютером носитель, имеющий выполняемые компьютером программные компоненты для осуществления проверки правильности документа на расширяемом языке разметки (XML), содержащий:
первый программный компонент для генерации документа на расширяемом языке разметки (XML), который включает в себя первый тип элементов, связанных с первой схемой XML, и второй тип элементов, связанных со второй схемой XML, причем упомянутый первый компонент выполнен с возможностью представления отображения, показывающего, что по меньшей мере один из первого типа элементов нарушает первую схему XML,
второй компонент для выборочного сохранения узлов, которые связаны со вторым типом элементов и второй схемой XML и исключения узлов, которые связаны с первым типом элементов и первой схемой XML, причем каждый узел связан с соответствующим элементом, созданным первым программным компонентом, причем первый программный компонент и второй программный компонент синхронизируются, и
третий программный компонент для проверки правильности элементов, связанных с упомянутыми узлами, причем третий компонент настраивается так, чтобы возвращать данные об ошибке первому программному компоненту в ответ на нарушение проверки правильности, причем эти элементы проверяются на правильность в ответ на изменение в элементах, связанных с упомянутыми узлами.
12. Считываемый компьютером носитель по п.11, дополнительно содержащий четвертый программный компонент, соответствующий данным об ошибке, который генерируется, когда вводимая пользователем информация взаимодействует с индикатором, который отображается в пределах по меньшей мере одного из документа XML и второго программного компонента.
13. Считываемый компьютером носитель по п.12, в котором четвертый программный компонент дополнительно выполнен с возможностью отображать информацию, относящуюся к ошибке, соответствующую данным об ошибке, которая включает в себя по меньшей мере одно из типа ошибки, инструкций для исправления ошибки и формулировки ошибки.
14. Считываемый компьютером носитель, имеющий выполняемые компьютером команды для проверки правильности и выдачи уведомления о нарушениях схемы документа на расширяемом языке разметки (XML), при этом документ XML включает в себя родной XML и неродной XML, а упомянутые команды содержат этапы:
определяют изменение в элементе неродного XML в пределах документа XML,
создают новый узел в параллельном дереве, если изменение соответствует созданию нового элемента неродного XML в пределах документа XML, при этом параллельное дерево выборочно включает в себя элементы неродного XML и не включает элемент родного XML, при этом элемент родного XML ассоциирован с соответствующей схемой родного XML, а элемент неродного XML ассоциирован с соответствующей схемой неродного XML;
маркируют часть документа XML, которая затронута изменением,
маркируют узел в параллельном дереве для того, чтобы показать, что произошло изменение, причем данный узел соответствует той части документа XML, которую затрагивает изменение,
проверяют правильность отмеченного узла параллельного дерева по отношению к соответствующей схеме, так что проверяется правильность части XML документа, в которой имело место изменение элемента неродного XML;
определяют, существует ли ошибка в элементе неродного XML, исходя из информации об ошибке, выданной в ответ на проверку правильности узла, и
если да, то отображают уведомление об ошибке в документе XML и параллельном дереве.
15. Считываемый компьютером носитель по п.14, в котором определение изменений в элементах неродного XML дополнительно содержит этапы:
идентифицируют родительский элемент для каждого элемента неродного XML, в котором произошло изменение, и
идентифицируют самый близкий элемент, имеющий этот же родительский элемент, для каждого элемента неродного XML, в котором произошло изменение.
16. Считываемый компьютером носитель по п.14, в котором генерация нового узла дополнительно содержит этапы:
создают идентификатор, который соответствует новому элементу неродного XML, так что родительский элемент и элемент, имеющий этот же родительский элемент для этого нового элемента «неродного» XML, могут быть определены из упомянутого идентификатора,
создают не имеющий родительской вершины узел в параллельном дереве,
связывают упомянутый идентификатор с не имеющим родительской вершины узлом, и
дают указание родительской вершине, соответствующей родительскому элементу, чтобы она стала родительским узлом для не имеющего родительской вершины узла.
17. Считываемый компьютером носитель по п.14, в котором проверка правильности узлов параллельного дерева дополнительно содержит этапы:
копируют контент в параллельное дерево, при этом контент соответствует упомянутой части документа XML,
проверяют правильность узлов, которые включают в себя упомянутый контент, по отношению к соответствующей схеме неродного XML, и
удаляют упомянутый контент из параллельного дерева, так что объем памяти для параллельного дерева минимизируется.
18. Считываемый компьютером носитель по п.14, в котором отображение уведомления об ошибке дополнительно содержит этапы:
индицируют часть документа XML, где произошла ошибка, согласно первому индикатору отображения, и
индицируют узлы параллельного дерева, которые соответствуют той части документа XML, где произошла ошибка, согласно второму индикатору отображения.
19. Считываемый компьютером носитель по п.18, в котором ввод пользовательской информации, соответствующей по меньшей мере одному из первого индикатора отображения и второго индикатора отображения, вызывает отображение ошибки, которое обеспечивает интерактивную информацию, относящуюся к ошибке.
20. Считываемый компьютером носитель по п.18, в котором ввод пользовательской информации, соответствующей по меньшей мере одному из первого индикатора отображения и второго индикатора отображения, вызывает подсказку, которая обеспечивает текстовую информацию относительно ошибки.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/184,565 US7373595B2 (en) | 2002-06-27 | 2002-06-27 | System and method for validating an XML document and reporting schema violations |
US10/184,565 | 2002-06-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2003119091A RU2003119091A (ru) | 2005-02-10 |
RU2328032C2 true RU2328032C2 (ru) | 2008-06-27 |
Family
ID=27733956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2003119091/09A RU2328032C2 (ru) | 2002-06-27 | 2003-06-26 | Система и способ проверки правильности документов xml и выдачи сообщения о нарушениях схемы |
Country Status (15)
Country | Link |
---|---|
US (1) | US7373595B2 (ru) |
EP (1) | EP1376389A3 (ru) |
JP (1) | JP2004046849A (ru) |
KR (1) | KR100833538B1 (ru) |
CN (1) | CN1329823C (ru) |
AU (1) | AU2003204868A1 (ru) |
BR (1) | BR0302084A (ru) |
CA (1) | CA2433243A1 (ru) |
MX (1) | MXPA03005875A (ru) |
MY (1) | MY137429A (ru) |
NO (1) | NO20032945L (ru) |
PL (1) | PL360865A1 (ru) |
RU (1) | RU2328032C2 (ru) |
TW (1) | TW200413960A (ru) |
ZA (1) | ZA200304859B (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2586872C2 (ru) * | 2010-09-08 | 2016-06-10 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Удаление поврежденных стилей из документов расширяемого языка разметки |
Families Citing this family (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6162705A (en) * | 1997-05-12 | 2000-12-19 | Silicon Genesis Corporation | Controlled cleavage process and resulting device using beta annealing |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US6883168B1 (en) * | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US7346848B1 (en) * | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US6948135B1 (en) | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
KR100511785B1 (ko) * | 2002-12-20 | 2005-08-31 | 한국전자통신연구원 | 멀티미디어 컨텐츠 기술 메타데이터 저작 시스템 및 저작방법 |
US7415672B1 (en) * | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7370066B1 (en) * | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7275216B2 (en) * | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
US6908058B2 (en) * | 2003-03-28 | 2005-06-21 | Suncast Corporation | Hose reel cart with elevated crank handle |
US7296017B2 (en) * | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7913159B2 (en) * | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US7251777B1 (en) | 2003-04-16 | 2007-07-31 | Hypervision, Ltd. | Method and system for automated structuring of textual documents |
US7409673B2 (en) * | 2003-06-24 | 2008-08-05 | Academia Sinica | XML document editor |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7334187B1 (en) * | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US7657832B1 (en) * | 2003-09-18 | 2010-02-02 | Adobe Systems Incorporated | Correcting validation errors in structured documents |
GB2407423A (en) * | 2003-10-23 | 2005-04-27 | Matsushita Electric Ind Co Ltd | Schema driven authoring tool |
US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
US7430711B2 (en) * | 2004-02-17 | 2008-09-30 | Microsoft Corporation | Systems and methods for editing XML documents |
US7774620B1 (en) | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
WO2006004946A2 (en) * | 2004-06-30 | 2006-01-12 | Reactivity, Inc. | Accelerated schema-based validation |
KR100636177B1 (ko) * | 2004-09-20 | 2006-10-19 | 삼성전자주식회사 | 정책 기반 확장성 생성 언어 문서 출력 관리 방법 및 시스템 |
US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
US7512840B2 (en) * | 2004-10-01 | 2009-03-31 | Diebold, Incorporated | System and method for providing graphical representation and development of a processing application |
US8487879B2 (en) | 2004-10-29 | 2013-07-16 | Microsoft Corporation | Systems and methods for interacting with a computer through handwriting to a screen |
US7836392B2 (en) * | 2004-11-10 | 2010-11-16 | Sap Aktiengesellschaft | Layout information for data component |
US7711676B2 (en) * | 2004-11-12 | 2010-05-04 | Sap Aktiengesellschaft | Tracking usage of data elements in electronic business communications |
US7818342B2 (en) * | 2004-11-12 | 2010-10-19 | Sap Ag | Tracking usage of data elements in electronic business communications |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7721190B2 (en) * | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US7865519B2 (en) * | 2004-11-17 | 2011-01-04 | Sap Aktiengesellschaft | Using a controlled vocabulary library to generate business data component names |
US7797673B2 (en) | 2004-12-16 | 2010-09-14 | The Mathworks, Inc. | Applying coding standards in graphical programming environments |
US7559020B2 (en) * | 2004-12-30 | 2009-07-07 | Microsoft Corporation | Methods and systems for preserving unknown markup in a strongly typed environment |
US7937651B2 (en) * | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
US7571429B2 (en) | 2005-01-18 | 2009-08-04 | Sharp Laboratories Of America, Inc. | System and method for error reporting |
US8996991B2 (en) | 2005-02-11 | 2015-03-31 | Fujitsu Limited | System and method for displaying an acceptance status |
US7500184B2 (en) | 2005-02-11 | 2009-03-03 | Fujitsu Limited | Determining an acceptance status during document parsing |
US7725834B2 (en) * | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US7673228B2 (en) | 2005-03-30 | 2010-03-02 | Microsoft Corporation | Data-driven actions for network forms |
US8010515B2 (en) | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
US20070011665A1 (en) * | 2005-06-21 | 2007-01-11 | Microsoft Corporation | Content syndication platform |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
US7617448B2 (en) * | 2005-09-06 | 2009-11-10 | Cisco Technology, Inc. | Method and system for validation of structured documents |
US20070061467A1 (en) * | 2005-09-15 | 2007-03-15 | Microsoft Corporation | Sessions and session states |
US7774321B2 (en) * | 2005-11-07 | 2010-08-10 | Microsoft Corporation | Partial XML validation |
US8001459B2 (en) * | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US8037408B2 (en) * | 2005-12-22 | 2011-10-11 | Sap Ag | Systems and methods of validating templates |
US7533111B2 (en) * | 2005-12-30 | 2009-05-12 | Microsoft Corporation | Using soap messages for inverse query expressions |
US9495356B2 (en) * | 2006-03-30 | 2016-11-15 | International Business Machines Corporation | Automated interactive visual mapping utility and method for validation and storage of XML data |
JPWO2007114182A1 (ja) * | 2006-03-31 | 2009-08-13 | 株式会社ジャストシステム | データ入力装置、方法、及びプログラム |
US7992081B2 (en) * | 2006-04-19 | 2011-08-02 | Oracle International Corporation | Streaming validation of XML documents |
US7821667B2 (en) * | 2006-08-10 | 2010-10-26 | Microsoft Corporation | Validation of print configuration documents |
US9535912B2 (en) * | 2006-09-15 | 2017-01-03 | Oracle International Corporation | Techniques for checking whether a complex digital object conforms to a standard |
US8060620B2 (en) * | 2006-10-05 | 2011-11-15 | Microsoft Corporation | Profile deployment using a generic format |
US20080092037A1 (en) * | 2006-10-16 | 2008-04-17 | Oracle International Corporation | Validation of XML content in a streaming fashion |
US20080114797A1 (en) * | 2006-11-14 | 2008-05-15 | Microsoft Corporation | Importing non-native content into a document |
US7921370B1 (en) * | 2006-11-29 | 2011-04-05 | Adobe Systems Incorporated | Object-level text-condition indicators |
EP1933242A1 (en) * | 2006-12-11 | 2008-06-18 | Sitecore A/S | A method for ensuring internet content compliance |
US7716164B2 (en) * | 2006-12-29 | 2010-05-11 | Sap Ag | Layout information for data element |
US8341514B2 (en) * | 2007-01-31 | 2012-12-25 | Microsoft Corporation | Using static data in a markup language |
US7865823B2 (en) * | 2007-06-28 | 2011-01-04 | Intel Corporation | Method and apparatus for schema validation |
US8108768B2 (en) * | 2007-07-20 | 2012-01-31 | International Business Machines Corporation | Improving efficiency of content rule checking in a content management system |
CN101359497A (zh) * | 2007-07-30 | 2009-02-04 | 科立尔数位科技股份有限公司 | 时间标记的检测及表示方法与记录其数据结构的记录媒体 |
US8880564B2 (en) * | 2007-10-11 | 2014-11-04 | Microsoft Corporation | Generic model editing framework |
JP5165998B2 (ja) * | 2007-11-14 | 2013-03-21 | 日本電信電話株式会社 | コンテンツ診断装置,コンテンツ診断プログラム |
US8719693B2 (en) * | 2008-02-22 | 2014-05-06 | International Business Machines Corporation | Method for storing localized XML document values |
US8020051B2 (en) * | 2008-10-20 | 2011-09-13 | Sap Ag | Message handling in a service-oriented architecture |
TWI385537B (zh) * | 2009-05-04 | 2013-02-11 | Univ Nat Taiwan | 標示語言文件存取的輔助方法及裝置 |
US8200702B2 (en) * | 2009-09-30 | 2012-06-12 | International Business Machines Corporation | Independently variably scoped content rule application in a content management system |
US20110314043A1 (en) * | 2010-06-17 | 2011-12-22 | Microsoft Corporation | Full-fidelity representation of xml-represented objects |
CA2711855A1 (en) | 2010-08-25 | 2010-11-03 | Ibm Canada Limited - Ibm Canada Limitee | Secure third party scripting environment |
US20120221319A1 (en) * | 2011-02-28 | 2012-08-30 | Andrew Trese | Systems, Methods and Media for Translating Informational Content |
US10140320B2 (en) | 2011-02-28 | 2018-11-27 | Sdl Inc. | Systems, methods, and media for generating analytical data |
US9984054B2 (en) | 2011-08-24 | 2018-05-29 | Sdl Inc. | Web interface including the review and manipulation of a web document and utilizing permission based control |
US9224010B2 (en) | 2011-09-01 | 2015-12-29 | International Business Machines Corporation | Secure document creation from potentially unsecure source templates |
US8739026B2 (en) | 2011-09-06 | 2014-05-27 | Hewlett-Packard Development Company, L.P. | Markup language schema error correction |
US20130091423A1 (en) * | 2011-10-11 | 2013-04-11 | Siemens Aktiengesellschaft | Method and Apparatus for Checking a Structure Conformity for a Piece Of Development Documentation with at Least One Development Document |
US9916306B2 (en) | 2012-10-19 | 2018-03-13 | Sdl Inc. | Statistical linguistic analysis of source content |
CN103914467B (zh) * | 2012-12-31 | 2017-07-14 | 鼎捷软件股份有限公司 | 数据变化标记装置 |
US9524307B2 (en) * | 2013-03-14 | 2016-12-20 | Microsoft Technology Licensing, Llc | Asynchronous error checking in structured documents |
US9501456B2 (en) * | 2013-03-15 | 2016-11-22 | Altova Gmbh | Automatic fix for extensible markup language errors |
US10592068B1 (en) | 2014-03-27 | 2020-03-17 | Amazon Technologies, Inc. | Graphic composer for service integration |
US10747390B1 (en) * | 2014-03-27 | 2020-08-18 | Amazon Technologies, Inc. | Graphical composer for policy management |
US10552513B1 (en) * | 2015-01-08 | 2020-02-04 | Vmware, Inc. | Computer system entity rendering system |
CN105354020A (zh) * | 2015-09-30 | 2016-02-24 | 武汉钢铁(集团)公司 | 一种Json格式数据解析方法及数据接收端 |
JP6365518B2 (ja) * | 2015-11-30 | 2018-08-01 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、画像形成装置 |
US10031766B2 (en) | 2016-03-08 | 2018-07-24 | Mastercard International Incorporated | Systems and methods for processing extensible markup language data during runtime |
KR101903039B1 (ko) * | 2016-11-21 | 2018-10-01 | (주)솔트웍스 | 문서 통합 관리 시스템을 위한 동기화 장치 |
CN108959095B (zh) * | 2018-07-12 | 2021-11-23 | 中国工程物理研究院计算机应用研究所 | 基于XML Schema验证XML文档的方法 |
WO2024092553A1 (en) * | 2022-11-02 | 2024-05-10 | Huawei Cloud Computing Technologies Co., Ltd. | Methods and systems for model generation and instantiation of optimization models from markup documents |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778402A (en) * | 1995-06-07 | 1998-07-07 | Microsoft Corporation | Method and system for auto-formatting a document using an event-based rule engine to format a document as the user types |
US5829004A (en) * | 1996-05-20 | 1998-10-27 | Au; Lawrence | Device for storage and retrieval of compact contiguous tree index records |
US6558431B1 (en) * | 1998-09-11 | 2003-05-06 | Macromedia, Inc. | Storing valid and invalid markup language in strict and relaxed tables respectively |
US6964010B1 (en) * | 1998-12-14 | 2005-11-08 | International Business Machines Corporation | Formatted-item list control |
US7111233B1 (en) * | 2000-03-09 | 2006-09-19 | Electronic Data Systems Corporation | Method and system for applying XML schema |
US6675355B1 (en) * | 2000-03-16 | 2004-01-06 | Autodesk, Inc. | Redline extensible markup language (XML) schema |
GB0018042D0 (en) * | 2000-07-21 | 2000-09-13 | Monsell Edm Ltd | Method of and software for recordal and validation of changes to markup language files |
US20010029604A1 (en) * | 2001-04-27 | 2001-10-11 | Jacob Dreyband | Descriptive data construct mapping method and apparatus |
US20040205592A1 (en) * | 2001-08-23 | 2004-10-14 | Xmlcities, Inc. | Method and apparatus for extensible stylesheet designs |
US7281206B2 (en) * | 2001-11-16 | 2007-10-09 | Timebase Pty Limited | Maintenance of a markup language document in a database |
US7024626B2 (en) * | 2001-11-30 | 2006-04-04 | Apple Computer, Inc. | System and method of producing user interface information messages |
US6540142B1 (en) * | 2001-12-17 | 2003-04-01 | Zih Corp. | Native XML printer |
US7962925B2 (en) * | 2002-02-22 | 2011-06-14 | Oracle International Corporation | System and method for XML data binding |
US7890865B2 (en) * | 2002-05-09 | 2011-02-15 | Microsoft Corporation | Methods and apparatuses for providing message information in graphical user interfaces based on user inputs |
US7251697B2 (en) * | 2002-06-20 | 2007-07-31 | Koninklijke Philips Electronics N.V. | Method and apparatus for structured streaming of an XML document |
-
2002
- 2002-06-27 US US10/184,565 patent/US7373595B2/en not_active Expired - Fee Related
-
2003
- 2003-06-17 MY MYPI20032265A patent/MY137429A/en unknown
- 2003-06-20 AU AU2003204868A patent/AU2003204868A1/en not_active Abandoned
- 2003-06-23 JP JP2003178496A patent/JP2004046849A/ja active Pending
- 2003-06-23 ZA ZA200304859A patent/ZA200304859B/xx unknown
- 2003-06-24 TW TW092117176A patent/TW200413960A/zh unknown
- 2003-06-25 CN CNB031452205A patent/CN1329823C/zh not_active Expired - Fee Related
- 2003-06-25 PL PL03360865A patent/PL360865A1/xx unknown
- 2003-06-25 CA CA002433243A patent/CA2433243A1/en not_active Abandoned
- 2003-06-26 KR KR1020030041891A patent/KR100833538B1/ko not_active IP Right Cessation
- 2003-06-26 NO NO20032945A patent/NO20032945L/no not_active Application Discontinuation
- 2003-06-26 EP EP03014396A patent/EP1376389A3/en not_active Withdrawn
- 2003-06-26 RU RU2003119091/09A patent/RU2328032C2/ru not_active IP Right Cessation
- 2003-06-26 BR BR0302084-3A patent/BR0302084A/pt not_active IP Right Cessation
- 2003-06-26 MX MXPA03005875A patent/MXPA03005875A/es not_active Application Discontinuation
Non-Patent Citations (1)
Title |
---|
OLIVER NÖ LLE« XInterfaces– a new schema language for XML», University of Freiburg et al, 12.06.2002, http://xml.coverpages.org/xmlPapers2002Q2.html, размещенная на сайте 17.06.2002, реферат, разделы 1.2, 1.3, 2.1, таблица 2.1; разделы 2.2, 2.3, фиг.2.1 на с.11; разделы 3.3, 3.5, 4.1, 4.2, 4.3, 4.5, 4.6, 4.7, 4.9, 4.12, 5.1.1, 5.1.3, 5.2.1, 5.2.2, 5.3.1, 5.3.3, 5.4, фиг.5.2 на с.54, разделы 5.4.1, 5.4.2, 5.5.1, 5.5.2, 6.2, 6.3, 7.2. MURATA M. "Prototipycal implementation of "Divvide and Vali-date", 07.03.2001, http://www.xml.gr.jp/relax/divideAndValidate.html. ENGLISH J. "RE: Question about Namespaces and DTDs", 25.07.2000, http://lists.xml.org/archives/xml-dev/200007/msg00795.html. RU 2136038 C1 (КАТЕРПИЛЛАР ИНК.), 27.08.1999. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2586872C2 (ru) * | 2010-09-08 | 2016-06-10 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Удаление поврежденных стилей из документов расширяемого языка разметки |
Also Published As
Publication number | Publication date |
---|---|
CN1472645A (zh) | 2004-02-04 |
CA2433243A1 (en) | 2003-12-27 |
US20040006744A1 (en) | 2004-01-08 |
MY137429A (en) | 2009-01-30 |
RU2003119091A (ru) | 2005-02-10 |
NO20032945D0 (no) | 2003-06-26 |
AU2003204868A1 (en) | 2004-01-22 |
KR20040002736A (ko) | 2004-01-07 |
PL360865A1 (en) | 2003-12-29 |
BR0302084A (pt) | 2004-09-08 |
TW200413960A (en) | 2004-08-01 |
EP1376389A2 (en) | 2004-01-02 |
MXPA03005875A (es) | 2005-02-14 |
EP1376389A3 (en) | 2007-07-11 |
KR100833538B1 (ko) | 2008-05-29 |
JP2004046849A (ja) | 2004-02-12 |
US7373595B2 (en) | 2008-05-13 |
NO20032945L (no) | 2003-12-29 |
CN1329823C (zh) | 2007-08-01 |
ZA200304859B (en) | 2004-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2328032C2 (ru) | Система и способ проверки правильности документов xml и выдачи сообщения о нарушениях схемы | |
US7657832B1 (en) | Correcting validation errors in structured documents | |
KR101213812B1 (ko) | 워드 프로세서 문서를 제공하는 워드 프로세싱애플리케이션 | |
RU2351007C2 (ru) | Система и способ поддержки "несобственного" xml в "собственном" xml в документе текстового процессора | |
US7275209B1 (en) | Mixed content flexibility for XML editors | |
US7752224B2 (en) | Programmability for XML data store for documents | |
US7197510B2 (en) | Method, system and program for generating structure pattern candidates | |
JP5072845B2 (ja) | 文書用のxmlデータストアのためのプログラム可能性 | |
US20070271510A1 (en) | Error checking web documents | |
US20080262833A1 (en) | Document Processing Device and Document Processing Method | |
US20080005659A1 (en) | Data Processing Device, Document Processing Device, and Document Processing Method | |
US20080010588A1 (en) | Document Processing Device and Document Processing Method | |
US20090083300A1 (en) | Document processing device and document processing method | |
WO2021022703A1 (zh) | 软件项目重构方法、装置、计算机装置及存储介质 | |
US7827195B2 (en) | Document management device and document management method | |
US20080005662A1 (en) | Server Device and Name Space Issuing Method | |
US20080208790A1 (en) | Document Processing Device, and Document Processing Method | |
US20080250311A1 (en) | Document Processing Device, and Document Processing Method | |
US20080010587A1 (en) | Document Processing Device and Document Processing Method | |
US20090287994A1 (en) | Document processing device and document processing method | |
US20080005085A1 (en) | Server Device and Search Method | |
US20090199084A1 (en) | Document processing device and document processing method | |
US20070273936A1 (en) | Document Processing Device, And Document Processing Method | |
US20080262832A1 (en) | Document Processing Device, and Document Processing Method | |
US20090083620A1 (en) | Document processing device and document processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20130627 |