Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

OpenFormula - это открытый стандарт для обмена пересчитанными формулами в электронных таблицах . OpenFormula входит в версию 1.2 стандарта OpenDocument . OpenFormula была предложена и первоначально разработана Дэвидом А. Уилером.

История [ править ]

Обсуждение необходимости [ править ]

OpenDocument 1.0 - это спецификация для обмена офисными документами, полностью способная описывать математические формулы , отображаемые на экране (посредством повторного использования стандарта MathML ). Он также полностью поддерживает обмен данными электронных таблиц , форматами, сводными таблицами и другой информацией, обычно включаемой в электронные таблицы. OpenDocument может обмениваться формулами электронных таблиц (формулы, которые пересчитываются в электронной таблице); формулы обмениваются значениями таблицы атрибутов: формула.

Однако многие считали, что синтаксис и семантика table: formula не определены достаточно подробно. Версия 1.0 спецификации определила формулы электронных таблиц с помощью набора простых примеров, которые показывают, например, как указать диапазоны и функцию SUM (). Некоторые критики утверждали, что необходима более подробная и точная спецификация функций электронных таблиц, включая синтаксис и семантику. [1] [2]Комитет OpenDocument утверждал, что в то время это выходило за рамки их компетенции. Другие утверждали, что, хотя спецификация менее конкретна, чем хотелось бы, цель довольно ясна (особенно потому, что формулы имеют тенденцию следовать многолетним традициям), а также потому, что подавляющее большинство электронных таблиц используют только небольшой набор функций ( такие как SUM), которые повсеместно поддерживаются всеми реализациями электронных таблиц.

Проект OpenFormula [ править ]

Один из внешних комментаторов OpenDocument, Дэвид А. Уиллер, выпустил первый проект спецификации формул в феврале 2005 года. Это положило начало процессу обсуждения с различными разработчиками и разработчиками электронных таблиц.

В октябре 2005 года Уиллер публично начал неформальный проект, поддерживаемый OpenDocument Fellowship, по созданию черновой спецификации формулы, основанной на первоначальном черновике и обсуждениях с тех пор с различными разработчиками. К январю 2006 года группа разработала обширную спецификацию, и разработчики начали изменять свои реализации, чтобы соответствовать проекту спецификации.

Подкомитет OASIS Formula [ править ]

В феврале 2006 года OASIS официально создал подкомитет по формулам, назначив его председателем Уиллера. После обсуждения подкомитет согласился использовать документ проекта OpenFormula в качестве базового документа. Таким образом, к февралю 2006 г. у OASIS был проект спецификации формулы с подробной структурой и определением более 100 функций.

Ответ Microsoft [ править ]

В 2005 году Брайан Джонс из Microsoft отметил, что OpenDocument не определяет детально формулы электронных таблиц. [3] Однако в то время конкурирующий проприетарный формат XML от Microsoft также не содержал такой подробной спецификации формул. [4]

Microsoft продолжала протестовать против того, что OpenDocument нельзя использовать, потому что он не определяет формат для формул электронных таблиц, в то время как его собственная спецификация продолжала опускать какие-либо спецификации формул до апреля 2006 года. В мае 2006 года Microsoft также начала определять формулы в своем формате XML, Спустя 15 месяцев после выхода первой версии OpenFormula и через три месяца после того, как OASIS опубликовал свой первый официальный проект своей спецификации.

Язык формул электронных таблиц Office Open XML теперь является частью международного стандарта ISO / IEC IS 29500: 2008.

Microsoft Office 2007 SP2 использует язык формул, определенный в ISO / IEC IS 29500: 2008 для электронных таблиц OpenDocument. Microsoft заявила, что рассматривает возможность добавления поддержки официального языка формул ODF (OpenFormula), как только будущая версия стандартной спецификации OpenDocument (ISO / IEC 26300) будет включать ее. [5]

Завершение работы [ править ]

В июне 2007 года было объявлено, что до сдачи на проверку обеспечения качества осталось четыре задачи. [6] Были понесены дальнейшие задержки, но многие разработчики реализовали спецификацию во время ее написания, при необходимости изменив свои приложения для соответствия черновику стандарта.

Наконец, спецификация OpenFormula была выпущена 29 сентября 2011 года как часть 2 версии 1.2 формата открытого документа ( http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2-part2.html). ).

Атрибуты OpenFormula [ править ]

Ключевые атрибуты спецификации и процесса разработки OpenFormula: [7]

  • Полностью открытый стандарт Спецификация соответствует всем общепринятым определениям «открытого стандарта», включая определения Брюса Перенса и Европейского Союза . Например, (1) как программное обеспечение с открытым исходным кодом, так и проприетарное программное обеспечение могут его реализовать, и (2) работа основана на консенсусе, а не на доминировании какого-либо одного поставщика.
  • Разработан многими разработчиками. OpenFormula разрабатывается представителями многих различных разработчиков, работающих вместе, включая OpenOffice.org и Sun StarOffice (Эйке Ратке), KDE Calligra Suite (ранее KOffice ) (Дэвид Фор и Томас Месир), Gnumeric (доктор Андреас Дж. Гельцов и Джоди Голдберг), IBM / Lotus 1-2-3 (Роб Вейр) и wikiCalc ( Дэн Бриклин , соавтор электронной таблицы).
  • Разработано опытными пользователями. Многие опытные пользователи (такие как Том Меткалф, ученый , специализирующийся в области астрофизики в ВС ) принимают участие. В группу входят несколько математиков, как пользователей, так и разработчиков.
  • Целенаправленное развитие. Подкомитет - это большая группа, специализирующаяся исключительно на формулах электронных таблиц и ни на чем другом.
  • Не торопился. OpenFormula основана на работе со спецификациями, которая была впервые выпущена 26 февраля 2005 г., а также на большом объеме исследований различных приложений.
  • Формат, ориентированный на будущее. Синтаксис был тщательно разработан, чтобы работать в будущем на неопределенный срок. Например, он позволяет произвольное количество столбцов, а также допускает произвольные имена значений.
  • Встроенные тестовые случаи. OpenFormula включает в себя большое количество тестовых примеров, которые проверяют и демонстрируют спецификацию, включая «крайние случаи», о которых люди часто забывают. Что еще более важно, они специально отформатированы, чтобы их можно было автоматически извлекать и помещать в тестовую электронную таблицу для тестирования приложений.
  • Строгие определения Контрольные примеры (отмеченные ранее) помогают сделать его гораздо более строгим. Кроме того, OpenFormula определяет типы для каждой функции (как прототипы каждой функции). Определения функций тщательно исследуются, например, YEARFRAC () имеет неуловимое поведение в високосные годы, которые были тщательно изучены и определены.
  • Не допускает ошибок . Спецификация тщательно написана, чтобы не требовать определенных ошибок только потому, что у кого-то есть ошибка. Например, Excel ошибочно полагает, что 1900 год был високосным, и, по крайней мере, черновая версия 1.3 спецификации Excel утверждает, что совместимые приложения должны совершать ту же ошибку, и требует, чтобы приложения не могли быть более эффективными, чем Excel, поддерживая даты до 1900 года. сравнивая множество различных независимых реализаций, группа OpenFormula часто может обнаружить, когда приложение делает ошибку, и гарантировать, что приложения не слишком ограничены.
  • Инновации из многих источников. OpenFormula охватывает функции Excel и OpenOffice.org, а также важные функции, которых нет ни в одном из них, а в других приложениях для работы с электронными таблицами, таких как Gnumeric и KSpread. Например, спецификация включает функции DECIMAL и BASE, которые являются гораздо лучшими способами обработки различных оснований, чем старые функции BIN2DEC (и т. Д.). Он также включает битовые операции, такие как BITAND. Эти источники включают Excel, OpenOffice.org Calc, Sun StarOffice Calc, KDE Calligra Sheets, GNOME Gnumeric, IBM / Lotus 1-2-3, Corel Word Perfect Suite Quattro Pro, wikiCalc и SheetToGo DocumentToGo. Подкомитет утверждает, что, включив инновации со всего мира в множество различных независимых приложений, они дают лучший результат, который является гораздо более всеобъемлющим.
  • Возможности для инноваций кем угодно . Для функций определены "пространства имен" для конкретных приложений. Это позволяет приложениям для работы с электронными таблицами добавлять новые функции без вмешательства в текущие стандартные функции, будущие стандартные функции или функции, определенные другими приложениями. В результате разные приложения могут добавлять новые функции, не мешая другим; после достижения консенсуса по поводу новой функции ее можно стандартизировать. Пространство имен основано на службе именования в Интернете (перевернутые доменные имена), поэтому ORG.OPENOFFICE.STYLE будет уникальной функцией OpenOffice.org.
  • Интернационализация . Спецификация не предполагает, что все используют "." как десятичная точка, и вообще не ограничивает пользовательский интерфейс. Именованные выражения могут иметь имена в локальных наборах символов.
  • Поддержка подмножества. Приложения могут реализовывать подмножество или надмножество. Чтобы не вводить пользователей в заблуждение, определены различные «группы», чтобы пользователи могли запрашивать определенные наборы возможностей.

Группы OpenFormula [ править ]

Одним из важных аспектов OpenFormula является то, что он предоставляет предопределенный набор «групп»; самые важные из этих групп - малые, средние и большие:

  • Небольшая группа включает чуть более 100 функций, включая функции для тригонометрии, базы данных, финансов и статистики. Подавляющее большинство электронных таблиц успешно обрабатываются приложениями, реализующими «малую» группу. По крайней мере, одно приложение для КПК (SheetToGo) имеет этот уровень возможностей, и wikiCalc добавил функции в небольшую группу специально для соответствия набору, определенному OpenFormula.
  • Средняя группа включает в себя все возможности небольшой группы и добавляет еще около 100 функций.
  • Большая группа включает в себя все возможности средней группы, добавляя еще около 130 функций, а также такие возможности, как комплексные числа.

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

Ссылки [ править ]

  1. ^ Уиллер, Дэвид А. (2004-11-01). «Предложение: Более подробная спецификация формул» . office-comment (список рассылки).
  2. ^ Ратке, Айке (2005-06-23). «OpenDocument для электронных таблиц (ответ Мортену Велиндеру)» . Архивировано из оригинала на 2012-09-10.
  3. ^ Джонс, Брайан (2005-10-04). «Комментарии Тима Брея об OpenDocument» .
  4. ^ Уиллер, Дэвид А. (2005-11-07). «К вашему сведению: формулы также не указаны в Microsoft XML» . openformula-Discussion (Список рассылки).
  5. ^ http://blogs.msdn.com/dmahugh/archive/2009/05/09/1-2-1.aspx
  6. ^ Ратке, Айке (2007-06-07). "Кто на борту?" . офис-формула (Список рассылки).
  7. ^ О OpenFormula

Внешние ссылки [ править ]

  • Спецификация OpenFormula , опубликованная как OASIS OpenDocument v1.2, часть 2
  • Подкомитет OASIS OpenDocument Formula , веб-сайт подкомитета, разрабатывающего спецификацию