XML - статьи


Применение логики работы с отсутствующими данными


После преобразования измененной схемы

schema_complex.xml результирующий файл

functions_complex.xslt (листинг 8) имеет много новых элементов для поддержки логики работы с отсутствующими данными. Во-первых, тип Xschema, выданный формульной функцией, меняется с xs:double на xs:double?. Последний допускает пустую последовательность - аналог пустого значения в XPath 2.0. Во-вторых, добавляется специальный код, который помогает присвоить "пустой" статус каждому аргументу и применять правило(а), позволяющие получить результирующий "пустой" статус всей функции. В файл functions_complex.xslt добавлены соответствующие комментарии.

Все это может выглядеть слишком сложным, но любой язык определения формул должен задавать логику их вычисления в таком формате, который обрабатывающее приложение способно проанализировать и применить и который должен быть доступен для чтения. Например, документ XBRL Formula Requirements признает необходимость гибкого кодирования такой логики и предлагает использовать для этого подмножество ECMAScript или XPath 1.0. Обрабатывающее приложение затем осуществит компиляцию этого скрипта в свой выполняемый код. Но в рассматриваемом случае чистого XSLT-подхода формульная функция в файле functions_complex.xslt просто использует вспомогательные функции и некоторые дополнительные коды, находящиеся в том же файле, для применения вычислительной логики.



Содержание раздела