XML - статьи



              

Создание XSLT из формул


Ниже приводится список компонентов, необходимых для создания XSLT-функций из формул схемы. Список состоит из файлов с "говорящими" именами. Файлы примеров представлены в виде исходных кодов и будут обсуждаться чуть дальше, а ниже объясняется их роль.

  • Файл Schema.xml определяет структуру финансового отчета в терминах исходных и вычисленных элементов. Вычисленный элемент включает использованную формулу; эта формула ссылается на другие элементы схемы (исходные или вычисленные).
  • В файле Instance.xml исходным элементам, определенным в файле schema.xml, присваиваются конкретные данные. Данные элемента - это одно или более значений, каждое со своим контекстом (периодом). Этот файл также содержит контексты.
  • Файл Compiler.xslt пишется вручную. Он преобразует формулы файла schema.xml в XSLT-файл с именем functions.xslt, где каждая формула становится эквивалентной XSLT-функцией. Файл назван компилятором (compiler), потому что можно провести аналогию с разбором файла schema.xml и генерацией эквивалентных вызываемых XSLT-функций. В результате, каждый файл schema.xml будет компилирован в эквивалентный файл functions.xslt.
  • Для того чтобы применить формулы, конечному пользователю нужно, чтобы из файла schema.xml создавался совместимый с ним файл instance.xml, а также файл functions.xslt. Функции этих файлов будут вызываться из их собственных XSLT. В исходных кодах файла host.xslt показывается, как используются функции файла functions.xslt.

    Взаимодействие этих компонентов показано на рис. 1, который демонстрирует, что XSLT имеет две четко выраженные роли во всем процессе: он используется для компиляции при создании файла functions.xslt, а также для численных расчетов при последующем использовании этого файла. Компиляция должна повторяться после любых изменений в формуле и обычно не имеет временных ограничений. Однако, осуществление численных расчетов, которые могут выполняться в приложении для браузера, персонального компьютера или сервера, должно быть максимально производительным.




    Содержание  Назад  Вперед