RU2586872C2 - Удаление поврежденных стилей из документов расширяемого языка разметки - Google Patents

Удаление поврежденных стилей из документов расширяемого языка разметки Download PDF

Info

Publication number
RU2586872C2
RU2586872C2 RU2013110284/08A RU2013110284A RU2586872C2 RU 2586872 C2 RU2586872 C2 RU 2586872C2 RU 2013110284/08 A RU2013110284/08 A RU 2013110284/08A RU 2013110284 A RU2013110284 A RU 2013110284A RU 2586872 C2 RU2586872 C2 RU 2586872C2
Authority
RU
Russia
Prior art keywords
xml
styles
document
based document
damaged
Prior art date
Application number
RU2013110284/08A
Other languages
English (en)
Other versions
RU2013110284A (ru
Inventor
Сергей ГУНДОРОВ
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2013110284A publication Critical patent/RU2013110284A/ru
Application granted granted Critical
Publication of RU2586872C2 publication Critical patent/RU2586872C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

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

Description

УРОВЕНЬ ТЕХНИКИ
Расширяемый язык разметки (XML) является набором стандартизованных правил для кодирования электронных документов в машиночитаемом формате для упрощения, обобщения и использования в сети Интернет. Несмотря на то, что данный формат текстовых данных сконцентрирован на документах, однако он широко используется для представления произвольных структур данных, например в web-услугах. Существуют разные версии и вариации XML. Одним примером использования типа XML является стандартизованный формат файла XML Открытого Офиса (OOXML), который разработан Microsoft Corp., Редмонд, штат Вашингтон. OOXML включает в себя набор форматов файлов, которые могут использоваться для представления документов электронного офиса. Форматы определяют набор словарей разметки XML для документов обработки текстов, электронных таблиц и презентаций, как, впрочем, и специальные словари разметки XML для контента, такого как математические формулы, графики, библиографии и сопоставимого. Стандартизованный формат OOXML предназначен для обеспечения расширяемости и функциональной совместимости посредством предоставления возможности реализаций множеством авторов и на множестве платформ.
Часть определения стиля документа, в общем именуемая «таблицей стилей», является формой разделения представления и контента в программах обработки документов, которая хранит и применяет форматирование к тексту. Отдельные стили могут быть включены в шаблоны документов в качестве стилей по умолчанию или созданных пользователями с широким многообразием команд, которые диктуют, каким образом отформатирована выбранная часть данных. Таблицы стилей способствуют сохранению связности в публикациях таким образом, что общие элементы, такие как основная часть, заголовки, сноски, форматирование нумерации, цвет шрифта, цвет фона и т.п., всегда выглядят одинаково. Таблицы стилей также экономят время, позволяя автору применять формат к выбранным элементам за одну операцию вместо применения операции к каждому элементу.
При использовании в документах определений пользовательских стилей существует потенциальная угроза повреждения содержимого файла. В некоторых сценариях, когда содержимое копируется из нескольких документов с пользовательскими стилями, это может привести к повреждению файла по различным причинам, связанным с архитектурами документов. Пакет OOXML является сжатым (или сжимаемым) пакетом (package), который содержит документы XML и прочие ресурсы, такие как определения стилей, связанных с документом(ами). Доступ к содержимому пакета OOXML может быть осуществлен приложением или инструментом, не активируя приложение для редактирования самих документов.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Данный раздел «Сущность Изобретения» предоставлен в качестве ознакомления в упрощенном виде с подборкой концепций, которые дополнительно описаны ниже в разделе «Подробное Описание». Данное краткое изложение сущности изобретения не предназначено ни для установления ключевых признаков или неотъемлемых признаков изобретения, ни для использования в качестве средства при определении объема заявленного изобретения.
Варианты осуществления направлены на удаление неиспользуемых, продублированных или поврежденных стилей из основанных на XML файлов документов. Удаление может затрагивать часть документа, которая относится к пользовательским стилям, используя системный ввод-вывод, и может быть основано на анализе информации, которая содержится в сжимаемом пакете соответствующего файла документа. Так же может удаляться прочее поврежденное содержимое файла, такое как поврежденные диапазоны имен или неиспользуемые определения форматов, используя тот же подход.
Эти и прочие признаки и преимущества станут очевидными из прочтения нижеследующего подробного описания и просмотра связанных чертежей. Следует понимать, что как предшествующее общее описание, так и нижеследующее подробное описание являются пояснительными и не ограничивают аспекты в соответствии с тем, что заявлено.
ПЕРЕЧЕНЬ ЧЕРТЕЖЕЙ
Фиг.1 является схемой, иллюстрирующей примеры локального и удаленного алгоритмов удаления повреждений;
Фиг.2 иллюстрирует схему системы, отображающую главные компоненты алгоритма удаления повреждений;
Фиг.3 иллюстрирует отдельные модули в алгоритме удаления повреждений;
Фиг.4 концептуально иллюстрирует удаление поврежденных определений стилей из документа XML;
Фиг.5 является сетевой средой, в которой может быть реализована система в соответствии с вариантами осуществления;
Фиг.6 является структурной схемой характерной вычислительной рабочей среды, в которой могут быть реализованы варианты осуществления; и
Фиг.7 иллюстрирует логическую блок-схему для процесса удаления поврежденных стилей в документах XML в соответствии с вариантами осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
Как вкратце описано выше, неиспользуемые, продублированные или поврежденные стили могут быть удалены из части файлов XML, которая относится к стилям, используя компоненты системного ввода-вывода. Анализ информации, которая содержится в части пакета XML, может управлять удалением поврежденных частей. Также может удаляться прочее некорректное содержимое файла. В нижеследующем подробном описании делаются ссылки на сопроводительные чертежи, которые являются частью описания и которые показаны в качестве иллюстрации конкретных вариантов осуществления или примеров. В прилагаемых чертежах подобные цифровые обозначения представляют подобные элементы на протяжении нескольких фигур. Эти аспекты могут объединяться, могут использоваться другие аспекты, и могут быть выполнены структурные изменения, не отступая от сущности и объема настоящего изобретения. Вследствие этого нижеследующее подробное описание не должно рассматриваться в духе ограничения, а объем настоящего изобретения определяется прилагаемой формулой изобретения и ее эквивалентами.
Несмотря на то, что варианты осуществления будут описаны в общем контексте программных модулей, которые исполняются применительно к прикладной программе, которая исполняется в операционной системе на персональном компьютере, специалистам в соответствующей области техники следует понимать, что аспекты также могут быть реализованы в сочетании с прочими программными модулями.
Как правило, программные модули включают в себя процедуры, программы, компоненты, структуры данных и прочие типы структур, которые выполняют конкретные задачи или реализуют определенные абстрактные типы данных. Более того, специалистам в соответствующей области техники следует иметь в виду, что варианты осуществления могут быть воплощены на практике при помощи других конфигураций компьютерных систем, включая переносные устройства, многопроцессорные системы, программируемую или основанную на микропроцессоре потребительскую электронику, мини-компьютеры, компьютеры класса мэйнфрейм и сопоставимые вычислительные устройства. Варианты осуществления также могут быть воплощены на практике в распределенных вычислительных средах, в которых задачи выполняются удаленными устройствами обработки данных, которые связаны посредством сети связи. В распределенной вычислительной среде программные модули могут размещаться как на локальных, так и удаленных запоминающих устройствах.
Варианты осуществления могут быть реализованы в качестве реализуемого компьютером процесса (способа), вычислительной системы или промышленного изделия, такого как компьютерный программный продукт или машиночитаемый носитель информации. Компьютерный программный продукт может быть компьютерным носителем данных, который читается компьютерной системой и на котором закодирована компьютерная программа, которая содержит инструкции, предписывающие компьютерной или вычислительной системе выполнить характерный процесс(ы). Машиночитаемый носитель данных может быть, например, реализован посредством одного или более из временной компьютерной памяти, постоянной памяти, накопителя на жестком диске, накопителя на флэш-памяти, гибкого диска, компакт-диска и сопоставимых носителей данных.
В данном техническом описании под понятием «платформа» может пониматься сочетание компонентов программного и аппаратного обеспечения для управления функционированием компьютера и сети. Примеры платформ включают в себя, но не в ограничительном смысле, размещенную услугу, исполняемую множеством серверов, приложение, исполняемое одним сервером, или сопоставимые системы. Понятие «сервер» в целом относится к вычислительному устройству, исполняющему одну или более программ программного обеспечения, как правило, в сетевой среде. Тем не менее, сервер также может быть реализован в качестве виртуального сервера (программ программного обеспечения), исполняемого на одном или более вычислительных устройствах, рассматриваемых в сети в качестве сервера. Дополнительные подробности применительно к этим технологиям и примеры функционирования представлены ниже.
Фиг.1 является схемой, иллюстрирующей примеры локального и удаленного алгоритмов удаления повреждений. На схеме 100 исполняемый локально алгоритм 112 может осуществлять доступ к документам XML, которые локально хранятся на компьютере 110. Компьютером может быть любое вычислительное устройство, такое как настольный компьютер, ноутбук, переносной компьютер, сотовый телефон, интеллектуальный телефон, PDA или аналогичные устройства. Алгоритм может оценивать повреждение определений пользовательских стилей и удалять их (например, удалять определения пользовательских стилей). Также алгоритм может оставлять используемые определения стилей после определения тех, которые используются документом, чтобы предотвратить повреждение документа из-за количества стилей, которое превышает заранее определенное пороговое значение. Аналогичным образом, локальный алгоритм 122 может исполняться на компьютере 120 класса лэптоп и т.д.
Локальные алгоритмы могут быть предоставлены вычислительным устройствам (110, 120) разнообразными способами, такими как посредством загрузки из сети, установки вручную (например, используя портативное запоминающее устройство) или сопоставимыми способами. В соответствии с некоторыми вариантами осуществления несколько экземпляров локального алгоритма могут исполняться для обработки нескольких документов. В каждом случае необязательно активировать приложение, связанное с документом (например, приложение работы с электронными таблицами, приложение обработки текстов и т.д.), поскольку алгоритм может осуществлять доступ к частям, которые относятся к стилям, не открывая документ.
В других вариантах осуществления алгоритм удаления может размещаться на удаленном сервере 140. Локальные компьютеры 110 и 120 могут осуществлять доступ к документам на сервере документов через сеть(и) 130, как, например, в web-услуге совместного использования документов. Совместно используемые документы могут включать в себя электронные таблицы, документы обработки текстов, презентации и т.д., структурированные в качестве документов XML. Таким образом, документы могут храниться в пакетах, содержащих документы XML и прочие ресурсы, такие как определения стилей, связанные с документом(ами). Удаленный алгоритм может периодически или по запросу сканировать документы и удалять поврежденные пользовательские стили, не открывая соответствующие документы.
Фиг.2 иллюстрирует схему системы, отображающую главные компоненты алгоритма удаления повреждений. На схеме 200 обработчик 220 документов может быть фильтрующим приложением для быстрой обработки документов XML. Такой модуль может открывать множество документов XML, включая, но не в ограничительном смысле, электронные таблицы, диаграммы, документы обработки текстов и презентации. Обработчик 220 документов может быстро открывать документы посредством использования системного I/O.
Инструмент 230 формирования стилей может быть графическим набором инструментов для использования модуля базового приложения, а именно синтаксического анализатора 210 файла. Инструмент 230 формирования стилей может представлять пользователю интерфейс с тем, чтобы пользователь имел возможность графического взаимодействия с синтаксическим анализатором файла. Модуль 240 поддержки пакета может определять допустимость запрашиваемого пользователем или запрашиваемого системой пакета XML и открывать пакет в байтовом потоке. Синтаксический анализатор 210 файла может программным путем удалять неиспользуемые, продублированные или поврежденные стили из части пакета XML, которая относится к стилям, не активируя «толстого» клиента (полнофункциональное приложение, которое связано с конкретным типом документа), на основе анализа информации, которая содержится в частях пакета XML соответствующих файлов.
Фиг.3 иллюстрирует отдельные модули в алгоритме удаления повреждений. Модуль 300 синтаксического анализатора файла может реализовывать характерный алгоритм удаления повреждений, основанный на определении пользовательского стиля, в соответствии с некоторыми вариантами осуществления. Компонент 320 модуля 300 синтаксического анализатора файла получает информацию о стилях из частей пакета XML, которые относятся к стилям, применительно к документу, не активируя приложение «толстого» клиента, в то время как другой компонент 330 может копировать содержимое файла из одного экземпляра файла в другой. Впрочем, изменения могут выполняться над тем же самым файлом, который хранится в памяти. Модуль 300 синтаксического анализатора файла может удалять (310) неиспользуемые стили посредством сканирования всех частей, которые относятся к стилям, содержащихся в пакете XML (например, посредством компонента 320), сопоставляя стили, которые определены в документе, с частями, которые содержатся в пакете, и идентифицируя неиспользуемые и/или продублированные стили. Продублированные стили также могут удаляться.
Модуль 300 синтаксического анализатора файла также может осуществлять проверку (312) в отношении исправляемых стилей из числа пользовательских стилей. Стили по умолчанию (в противоположность пользовательским стилям), также именуемые как встроенные стили, менее восприимчивы к повреждению, однако в некоторых случаях они также могут быть повреждены. Поврежденные встроенные стили, как правило, не могут быть удалены с помощью объектной модели клиентского приложения, однако к ним может быть осуществлен доступ и они могут быть исправлены с помощью алгоритма, который описывается в данном документе. В соответствии с другими вариантами осуществления компонент модуля 300 синтаксического анализатора файла может приводить (314) все стили в нормальное состояние посредством перенастройки стилей в формат по умолчанию. Еще один компонент может предоставлять возможность для опционального отображения (316) документа.
Модуль 300 синтаксического анализатора файла также может предоставлять пользователю информацию о стилях в целях обеспечения обратной связи или конфигурации. Кроме того, информация о стилях может использоваться, как рассмотрено выше, в процессе автоматического принятия решения алгоритмом в отношении того, оставить либо отбросить используемые пользовательские стили.
Фиг.4 концептуально иллюстрирует удаление поврежденного определения стиля из документа XML. Алгоритм удаления, реализуемый синтаксическим анализатором 420 файла, может сканировать документ 410 с несколькими определениями стилей, некоторые из которых могут быть поврежденными, неиспользуемыми или продублированными. Как только идентифицированы поврежденные, неиспользуемые и/или продублированные стили, синтаксический анализатор 420 файла может предпринять попытку их удаления, что приводит в результате к документу 430 со скорректированными определениями стилей. Если удаление недопустимо или не выполнено, то синтаксический анализатор 420 файла может задать документу формат по умолчанию со стилями по умолчанию клиентского приложения посредством выполнения операции приведения в нормальное состояние.
Операции копирования и вставки между документами могут увеличить количество пользовательских стилей в итоговом документе, поскольку форматирование копируемых данных также переносится в новый документ. Может существовать заранее определенное предельное количество пользовательских стилей для каждого клиентского приложения. Если количество пользовательских стилей превышает предельное значение, то документ становится поврежденным и переходит в неисправимое состояние. Заранее определенное предельное значение пользовательских стилей до того, как произойдет неисправимое повреждение, может быть относительно высоким (например, 65534 для некоторых приложений работы с электронными таблицами). Тем не менее, в среде с совместным использованием документов, в которой данные в документе непрерывно модифицируются, копируются, вставляются несколькими пользователями, такое предельное значение может быть достигнуто за относительно короткий интервал времени. Для предотвращения возникновения разочарования пользователя и траты времени и энергии на повторное создание документа(ов) алгоритм удаления повреждений может исполняться в фоновом режиме такой услуги совместного использования документов, непрерывно сокращая количество определений стилей, связанных с каждым документом, посредством удаления поврежденных, неиспользуемых или продублированных стилей.
Алгоритм может использовать библиотеку системного ввода/вывода (I/O) для прямого доступа к файлам XML. Библиотеки системного I/O обеспечивают прямой доступ к поврежденным файлам. Это может исключить потребность в открытии поврежденного файла в ассоциированном приложении, таком как приложение обработки текстов, приложение работы с электронными таблицами, приложение работы с диаграммами, приложение просмотра или приложение работы с презентациями, с тем чтобы привести в порядок стили или другое содержимое.
В соответствии с некоторыми вариантами осуществления алгоритм удаления повреждений в документе XML может быть автономным исполняемым в командной строке файлом. В соответствии с другими вариантами осуществления алгоритм может быть реализован в качестве независимого приложения с графическим интерфейсом пользователя. В соответствии с дополнительными вариантами осуществления алгоритм может быть реализован в качестве библиотеки на стороне сервера, объединенной с приложениями на стороне сервера для автоматической коррекции документов (например, функция или набор инструментов на стороне сервера).
Рассмотренные выше системы и реализации алгоритма удаления повреждений стилей служат в целях иллюстрации, а не накладывают ограничение на варианты осуществления. Поврежденные, неиспользуемые или продублированные стили могут удаляться из структурированных документов, таких как документы XML, с помощью других модулей, процессов и конфигураций, используя рассмотренные здесь принципы.
Фиг.5 является характерной сетевой средой, в которой могут быть реализованы варианты осуществления. Алгоритм удаления повреждений в пользовательских стилях может быть реализован посредством программного обеспечения, исполняемого на одном или более серверах 544 или одном сервере 546 (например, web-сервере), таком как размещенная услуга. Платформа может осуществлять связь с приложениями «тонкого» клиента на отдельных вычислительных устройствах, таких как интеллектуальный телефон 543, компьютер 542 класса лэптоп или настольный компьютер 541 (клиентские устройства) через сеть(и) 540.
Как рассмотрено выше, сервер документов может исполнять алгоритм на стороне сервера для обработки документов, которые хранятся на сервере. Пользователь может запустить алгоритм удаления повреждений на конечном устройстве (любом из клиентских устройств 541-543 или интеллектуальном телефоне, компьютере, интеллектуальной автомобильной консоли и т.д.). Алгоритм может удалять неиспользуемые или поврежденные стили из документов XML автоматически или по запросу.
Клиентские устройства 541-543 могут обеспечивать доступ к приложениям, исполняемым на удаленном сервере(ах) (например одном из серверов 544), как рассмотрено ранее. Сервер(ы) могут извлекать или сохранять соответствующие данные из/в хранилища 549 данных напрямую или через сервер 548 базы данных.
Сеть(и) 540 может быть выполнена с любой топологией серверов, клиентов, поставщиков интернет-услуг и средств связи. Система в соответствии с вариантами осуществления может обладать статической или динамической топологией. Сеть(и) 540 может быть выполнена в виде безопасных сетей, таких как корпоративная сеть, небезопасной сети, такой как беспроводная открытая сеть, или Интернет. Сеть(и) 540 также может координировать связь через другие сети, такие как Телефонная Коммутируемая Сеть Общего Пользования (PSTN) или сотовые сети. Кроме того, сеть(и) 540 может включать в себя беспроводные сети малого радиуса действия, такие как Bluetooth и аналогичные. Сеть(и) 540 обеспечивает связь между описанными здесь узлами. В качестве примера, а не ограничения, сеть(и) 540 может включать в себя беспроводные среды связи, такие как акустические, радиочастотные, инфракрасные или другие беспроводные среды связи.
Множество других конфигураций вычислительных устройств, приложений, источников данных и систем распределения данных может использоваться для реализации алгоритма удаления повреждений из документов XML. Кроме того, рассмотренные на фиг.5 сетевые среды служат лишь в целях иллюстрации. Варианты осуществления не ограничиваются характерными приложениями, модулями и процессами.
Фиг.6 и связанное с ней рассмотрение предназначены для обеспечения краткого, общего описания приемлемой вычислительной среды, в которой могут быть реализованы варианты осуществления. Со ссылкой на фиг.6 проиллюстрирована структурная схема характерной вычислительной рабочей среды для приложения в соответствии с вариантами осуществления, такой как вычислительное устройство 600. В базовой конфигурации вычислительное устройство 600 может быть клиентским устройством, исполняющим инструмент приведения в порядок документов с помощью удаления поврежденных стилей, и включает в себя, по меньшей мере, один процессор 602 и системную память 604. Вычислительное устройство 600 также может включать в себя множество процессоров, которые работают совместно при исполнении программ. В зависимости от конкретной конфигурации и типа вычислительного устройства, системная память 604 может быть временной (такой как RAM), постоянной (такой как ROM, флэш-память и т.д.) или неким сочетанием их обоих. Системная память 604, как правило, включает в себя операционную систему 605, приемлемую для управления функционированием платформы, такую как операционная система WINDOWS® от MICROSOFT CORPORATION, Редмонд, штат Вашингтон. Системная память 604 также может включать в себя одно или более приложений программного обеспечения, таких как программные модули 606, инструмент 622 работы со стилями и модуль 624 синтаксического анализатора файла.
Инструмент 622 работы со стилями может быть частью услуги, которая удаляет пользовательский стиль на основе повреждения в файлах XML на клиентской машине, серверах или других устройствах. Модуль 624 синтаксического анализатора файла может удалять поврежденные, неиспользуемые или продублированные стили из документов XML. Данная базовая конфигурация проиллюстрирована на фиг.6 компонентами, которые обведены пунктирной линией 608.
Вычислительное устройство 600 может обладать дополнительными функциями или функциональными возможностями. Например, вычислительное устройство 600 также может включать в себя дополнительные запоминающие устройства (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или лента. Такое дополнительное хранилище проиллюстрировано на фиг.6 посредством съемного хранилища 609 и несъемного хранилища 610. Машиночитаемый носитель данных может включать в себя временный или постоянный, съемный или несъемный носитель информации, реализованный любым способом или по любой технологии для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули и прочие данные. Системная память 604, съемное хранилище 609 и несъемное хранилище 610 являются примерами машиночитаемых носителей данных. Машиночитаемый носитель данных включает в себя, но не ограничивается, RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, универсальный цифровой диск (DVD) или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках, или другие магнитные запоминающие устройства, или любой другой носитель информации, который может использоваться для хранения требуемой информации и доступ к которому может быть осуществлен посредством вычислительного устройства 600. Вычислительное устройство 600 также может иметь устройство(а) 612 ввода, такое как клавиатура, манипулятор типа мышь, перо, устройство голосового ввода, устройство тактильного ввода и сопоставимые устройства ввода. Также в состав может быть включено устройство(а) 614 вывода, такое как дисплей, громкоговорители, принтер и другие типы устройств вывода. Эти устройства хорошо известны в соответствующей области техники, и их дальнейшее рассмотрение не требуется.
Вычислительное устройство 600 также может содержать соединения 616 связи, которые позволяют устройству осуществлять связь с другими устройствами 618, как например, через беспроводную сеть в распределенной вычислительной среде, спутниковую линию связи, сотовую линию связи или сопоставимые механизмы. Другие устройства 618 могут включать в себя компьютерное устройство(а), которое исполняет приложения связи, другие серверы каталогов или политик, и сопоставимые устройства. Соединение(я) 616 связи является одним примером сред связи. Среды связи могут содержать в себе машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна или другой механизм транспортировки, и включают в себя любое средство доставки информации. Понятие «модулированный сигнал данных» означает сигнал, который обладает одной или более своими характеристиками, которые устанавливаются или изменяются таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среды связи включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные, инфракрасные и прочие беспроводные среды.
Характерные варианты осуществления также включают в себя способы. Эти способы могут быть реализованы несколькими путями, включая структуры, описанные в данном документе. Один такой путь заключается в реализации посредством машинных операций со стороны устройств типов, описанных в данном документе.
Другой опциональный путь заключается в том, что применительно к одной или более из отдельных операций способов они должны выполняться совместно с одним или более людьми-операторами, которые выполняют некоторые из них. Эти люди-операторы не обязательно должны находиться рядом друг с другом, но каждый может находиться рядом с машиной, которая выполняет часть программы.
Фиг.7 иллюстрирует логическую блок-схему для процесса 700 удаления поврежденных стилей в документах XML в соответствии с вариантами осуществления. Процесс 700 может быть реализован алгоритмом на стороне клиента или алгоритмом на стороне сервера как части сервера хранения документов.
Процесс 700 начинается с операции 710, которая может проверять то, что пакет является пакетом XML, идентифицируя файл как пакет XML, и определять, является ли пакет XML допустимым. Допустимость пакета XML может определять, может ли применяться алгоритм для коррекции какого-либо повреждения стиля в документе. Алгоритм может определять допустимость файла XML посредством проверки того, обладает ли файл всеми частями, которые определены стандартом для пакетирования документов XML. На операции 720 алгоритм может считывать информацию о стилях из частей пакета, которые относятся к стилям, не открывая соответствующий документ(ы) в приложении «толстого» клиента. Собранная информация о стилях может использоваться для сопоставления на операции 730 стилей с частями документа, определяя на операции 740 неиспользуемые, поврежденные и продублированные стили.
Другой точкой принятия решения для алгоритма может быть количество стилей. Как упомянуто ранее, может существовать предельное значение для количества пользовательских стилей, которые могут использоваться в документе. Если это предельное значение превышено, то весь документ может быть поврежден и неисправим. Таким образом, алгоритм может корректировать повреждения посредством удаления неиспользуемых и/или продублированных стилей, как впрочем, и поврежденных, на операции 750. В качестве альтернативы, алгоритм может возвращать документ назад к стилям по умолчанию. Алгоритм также может идентифицировать и удалять другое поврежденное содержимое, подобное поврежденным диапазонам имен, и удалять их. В случае другого содержимого подход аналогичен тому, который используется для стилей: могут быть считаны определения частей; может быть определено, повреждена ли часть; если часть не повреждена, может быть идентифицировано содержимое, которое требуется удалить (например, тестирование на дубликаты, тестирование на то, используется ли в документе часть содержимого, и разметка как используемой и/или неиспользуемой). Затем пользователям может быть предоставлена возможность принятия решения по пути приведения в порядок, например, оставить или удалить определения, помеченные как неиспользуемые.
Операции, включенные в процесс 700, приведены в качестве иллюстрации. Процесс удаления повреждений в соответствии с вариантами осуществления может быть реализован посредством аналогичных процессов с меньшим количеством или с дополнительными этапами, как впрочем, и в другой очередности операций, используя описанные здесь принципы.
Приведенное выше техническое описание, примеры и данные обеспечивают полное описание для производства и использования композиции вариантов осуществления. Несмотря на то, что изобретение было описано языком, который специфичен для структурных признаков и/или методологических действий, следует понимать, что объект изобретения, который определен в прилагаемой формуле изобретения, не обязательно ограничивается конкретными описанными здесь признаками и действиями. Скорее конкретные описанные здесь признаки и действия рассмотрены в качестве характерных форм реализации формулы изобретения и вариантов осуществления.

Claims (19)

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

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/877,860 US8281236B2 (en) 2010-09-08 2010-09-08 Removing style corruption from extensible markup language documents
US12/877,860 2010-09-08
PCT/US2011/046898 WO2012033584A2 (en) 2010-09-08 2011-08-08 Removing style corruption from extensible markup language documents

Publications (2)

Publication Number Publication Date
RU2013110284A RU2013110284A (ru) 2014-09-20
RU2586872C2 true RU2586872C2 (ru) 2016-06-10

Family

ID=45585679

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013110284/08A RU2586872C2 (ru) 2010-09-08 2011-08-08 Удаление поврежденных стилей из документов расширяемого языка разметки

Country Status (7)

Country Link
US (1) US8281236B2 (ru)
EP (1) EP2614447A4 (ru)
CN (1) CN102360350B (ru)
RU (1) RU2586872C2 (ru)
SG (1) SG188256A1 (ru)
WO (1) WO2012033584A2 (ru)
ZA (1) ZA201301388B (ru)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011156624A2 (en) 2010-06-09 2011-12-15 Regents Of The University Of Minnesota Dual mode ultrasound transducer (dmut) system and method for controlling delivery of ultrasound therapy
WO2012142455A2 (en) 2011-04-14 2012-10-18 Regents Of The University Of Minnesota Vascular characterization using ultrasound imaging
JP2014206967A (ja) * 2013-03-18 2014-10-30 株式会社Genusion 記憶装置
WO2015013196A2 (en) 2013-07-23 2015-01-29 Regents Of The University Of Minnesota Ultrasound image formation and/or reconstruction using multiple frequency waveforms
US9372681B1 (en) * 2013-10-02 2016-06-21 Google Inc. Redirection of a document URL to a natively-operating application
US9665546B1 (en) 2015-12-17 2017-05-30 International Business Machines Corporation Real-time web service reconfiguration and content correction by detecting in invalid bytes in a character string and inserting a missing byte in a double byte character
US11458337B2 (en) 2017-11-28 2022-10-04 Regents Of The University Of Minnesota Adaptive refocusing of ultrasound transducer arrays using image data
US11596812B2 (en) 2018-04-06 2023-03-07 Regents Of The University Of Minnesota Wearable transcranial dual-mode ultrasound transducers for neuromodulation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7152055B2 (en) * 1999-12-14 2006-12-19 Sun Microsystems, Inc. Method and system for reducing document file size by deleting unused and duplicate template data
RU2328032C2 (ru) * 2002-06-27 2008-06-27 Майкрософт Корпорейшн Система и способ проверки правильности документов xml и выдачи сообщения о нарушениях схемы
US7673231B2 (en) * 2005-06-24 2010-03-02 Sun Microsystems, Inc. Optimized markup language processing using repeated structures in markup language source

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230173B1 (en) * 1995-07-17 2001-05-08 Microsoft Corporation Method for creating structured documents in a publishing system
US6463440B1 (en) * 1999-04-08 2002-10-08 International Business Machines Corporation Retrieval of style sheets from directories based upon partial characteristic matching
US6589291B1 (en) * 1999-04-08 2003-07-08 International Business Machines Corporation Dynamically determining the most appropriate location for style sheet application
US6567826B1 (en) 2000-06-23 2003-05-20 Microsoft Corporation Method and system for repairing corrupt files and recovering data
US20040205491A1 (en) * 2001-05-30 2004-10-14 Aravinda Korala Software and method for self-service applications
US7017162B2 (en) * 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
AU2002359821A1 (en) * 2001-12-21 2003-07-15 Xmlcities, Inc. Extensible stylesheet designs using meta-tag and/or associated meta-tag information
KR20050011745A (ko) * 2002-04-19 2005-01-29 컴퓨터 어소시에이츠 싱크, 인코포레이티드 추론 서비스 제공 시스템 및 방법
WO2003094007A1 (en) * 2002-05-02 2003-11-13 Sarvega, Inc. System and method for transformation of xml documents using stylesheets
CN1653419A (zh) * 2002-05-17 2005-08-10 皇家飞利浦电子股份有限公司 在浏览器上呈现第一媒体类型内容
US7117429B2 (en) * 2002-06-12 2006-10-03 Oracle International Corporation Methods and systems for managing styles electronic documents
US20040001087A1 (en) * 2002-06-27 2004-01-01 Warmus James L. Methods and apparatus for electronic distribution of customized content via a broadcast signal
US20080077870A1 (en) * 2004-01-09 2008-03-27 Suzanne Napoleon Method and apparatus for producing structured sgml/xml student compositions
US7617444B2 (en) 2004-12-20 2009-11-10 Microsoft Corporation File formats, methods, and computer program products for representing workbooks
US20060259854A1 (en) * 2005-05-10 2006-11-16 Microsoft Corporation Structuring an electronic document for efficient identification and use of document parts
US20070022128A1 (en) * 2005-06-03 2007-01-25 Microsoft Corporation Structuring data for spreadsheet documents
US7496612B2 (en) * 2005-07-25 2009-02-24 Microsoft Corporation Prevention of data corruption caused by XML normalization
US7428582B2 (en) * 2005-12-29 2008-09-23 American Express Travel Related Services Company, Inc Semantic interface for publishing a web service to and discovering a web service from a web service registry
US20080077879A1 (en) * 2006-09-25 2008-03-27 Black Andre B Interface with multiple rows of tabs having tabs at fixed relative positions
US7669089B2 (en) * 2006-11-01 2010-02-23 Microsoft Corporation Multi-level file representation corruption
CN100458791C (zh) * 2006-12-26 2009-02-04 中国南方电网有限责任公司 电力系统多区域网络模型拼接方法
WO2008097801A2 (en) * 2007-02-05 2008-08-14 Skyway Software, Inc. Method and system for creating, deploying, and utilizing a service
US7895598B2 (en) * 2007-06-15 2011-02-22 Microsoft Corporation Page and device-optimized cascading style sheets
WO2009018177A2 (en) * 2007-07-27 2009-02-05 Deluxe Digital Studios, Inc. Methods and systems for use in customizing displayed content associated with a portable storage medium
US8339641B2 (en) * 2008-12-30 2012-12-25 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for processing packaged print data streams
US8788928B2 (en) * 2009-07-15 2014-07-22 Clandscale, Inc. System and methodology for development of stream processing applications utilizing spreadsheet interface
US11102325B2 (en) * 2009-10-23 2021-08-24 Moov Corporation Configurable and dynamic transformation of web content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7152055B2 (en) * 1999-12-14 2006-12-19 Sun Microsystems, Inc. Method and system for reducing document file size by deleting unused and duplicate template data
RU2328032C2 (ru) * 2002-06-27 2008-06-27 Майкрософт Корпорейшн Система и способ проверки правильности документов xml и выдачи сообщения о нарушениях схемы
US7673231B2 (en) * 2005-06-24 2010-03-02 Sun Microsystems, Inc. Optimized markup language processing using repeated structures in markup language source

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Quarrell, Peter J., "Excel workbook analysis to deal with an urgent problem", [он-лайн] [найдено 31.08.2015] в Интернет: URL: http://www.rowingservice.com/quarrell/QAid, c. 13. *

Also Published As

Publication number Publication date
WO2012033584A2 (en) 2012-03-15
CN102360350B (zh) 2013-08-21
US8281236B2 (en) 2012-10-02
EP2614447A4 (en) 2017-11-22
WO2012033584A3 (en) 2012-05-03
US20120060086A1 (en) 2012-03-08
EP2614447A2 (en) 2013-07-17
RU2013110284A (ru) 2014-09-20
ZA201301388B (en) 2014-04-30
CN102360350A (zh) 2012-02-22
SG188256A1 (en) 2013-04-30

Similar Documents

Publication Publication Date Title
RU2586872C2 (ru) Удаление поврежденных стилей из документов расширяемого языка разметки
US7991747B1 (en) System and method for managing data loss due to policy violations in temporary files
JP6463393B2 (ja) テナント移行にわたるテナント・データのリカバリ
US7200668B2 (en) Document conversion with merging
US7478170B2 (en) Generic infrastructure for converting documents between formats with merge capabilities
US7340534B2 (en) Synchronization of documents between a server and small devices
US8689176B2 (en) Management of template versions
US20100281362A1 (en) Maintaining Undo and Redo Capability across Metadata Merges
US20060036939A1 (en) Support for user-specified spreadsheet functions
IL227218A (en) Format data using an example
US20140279919A1 (en) Hierarchical system manager rollback
US10867118B2 (en) Method and system for implementing a collaboration platform for structured objects in a document
US11030345B2 (en) Sharing regulated content stored on non-regulated storage platforms
US9569516B2 (en) Method and device for executing an enterprise process
US9021389B1 (en) Systems and methods for end-user initiated data-loss-prevention content analysis
US20120310893A1 (en) Systems and methods for manipulating and archiving web content
US9361210B2 (en) Capturing domain validations and domain element initializations
JP2005339549A (ja) データをラップするための方法およびシステム
US9116905B1 (en) System and method for cataloging data
US9619332B2 (en) Method and system for efficiently managing content on an information handling device
US20160321226A1 (en) Insertion of unsaved content via content channel
US11989541B2 (en) Deployment migration tool with decoding capabilities
EP4220473B1 (en) Method and system for validation of calculation code against calculation specification
US20210194501A1 (en) Method for compressing behavior event in computer and computer device therefor
KR102067619B1 (ko) 데이터 백업 방법과 이를 이용하는 데이터 백업 장치 및 사용자 단말

Legal Events

Date Code Title Description
HZ9A Changing address for correspondence with an applicant
MM4A The patent is invalid due to non-payment of fees

Effective date: 20190809