Язык преобразования XML - XML transformation language

Преобразование XML в XML

Язык преобразования XML является языком программирования , разработанный специально для преобразования входного XML - документа в выходном документ , который удовлетворяет некоторую конкретную цель.

Есть два частных случая трансформации:

  • XML в XML : выходной документ является XML-документом.
  • XML в данные : выходной документ представляет собой поток байтов .

XML в XML

Поскольку преобразование XML в XML выводит XML-документ, цепочки преобразования XML в XML образуют конвейеры XML .

XML в данные

Преобразование XML (расширяемый язык разметки) в данные содержит несколько важных случаев. Наиболее примечательным из них является преобразование XML в HTML (язык разметки гипертекста) , поскольку документ HTML не является документом XML.

Существующие языки

  • XSLT : XSLT - самый известный язык преобразования XML. Рекомендация XSLT 1.0 W3C была опубликована в 1999 году вместе с XPath 1.0, и с тех пор она широко применяется. XSLT 2.0 стал рекомендацией W3C с января 2007 года, и уже доступны реализации спецификации, такие как Saxon 8 .
  • XQuery : XQuery - это полнофункциональный язык, несмотря на наличие «запроса» в названии. Это стандарт де-факто, используемый Microsoft, Oracle, DB2, MarkLogic и т. Д., Он является основой модели веб-программирования XRX и имеет рекомендации W3C для версий 1.0. XQuery не написан на XML, как XSLT, поэтому его синтаксис намного легче. Язык основан на XPath 2.0 . Программы XQuery не могут иметь побочных эффектов , как и XSLT, и предоставляют почти те же возможности (например: объявление переменных и функций, повторение последовательностей, использование типов схемы W3C), даже несмотря на то, что синтаксис программы сильно отличается. XQuery управляется логикой с использованием FOR, WHERE и композиции функций (например, fn: concat ("<html>", generate-body (), "</html>")). В отличие от этого, XSLT управляется данными (модель обработки push), где определенные условия входного документа запускают выполнение шаблонов, а не кода, выполняемого в том порядке, в котором он написан.
  • XProc : XProc - это язык конвейера XML. Рекомендация XProc 1.0 W3C была опубликована в мае 2010 года.
  • Преобразование XML-документа : стандарт Microsoft для выполнения простых преобразований XML-документов. В первую очередь для создания файлов IIS Web.config (Config Transforms), другие реализации позволяют использовать его для общих файлов конфигурации в качестве времени сборки (Slow Cheetah) или из командной строки (CTT).
  • STX : STX (Streaming Transformations for XML) основан на XSLT, но был разработан для обеспечения однопроходного процесса преобразования, который никогда не препятствует потоковой передаче. Реализации доступны на Java ( Joost ) и Perl ( XML :: STX ).
  • XML Script : XML Script - это императивный язык сценариев, созданный на основе Perl и использующий синтаксис XML. XML Script поддерживает XPath и его собственный DSLPath для выбора узлов из входного дерева.
  • FXT : FXT - это функциональный инструмент преобразования XML, реализованный в Standard ML .
  • XDuce : XDuce - это типизированный язык с упрощенным синтаксисом по сравнению с XSLT. Он написан на ML.
  • CDuce : CDuce расширяет XDuce до универсального языка функционального программирования , см. Домашнюю страницу CDuce .
  • XACT : XACT - это система на основе Java для программирования преобразований XML. Примечательные особенности включают шаблоны XML как неизменяемые значения и статический анализ для обеспечения безопасности типов с использованием типов схем XML ( домашняя страница XACT ).
  • XFun : XFun - это функциональный язык X-Fun для определения преобразований между деревьями данных XML и предоставления инструкций по измельчению. X-Fun можно понимать как расширение языка XStream Фриша с измельчением вывода, в то время как сопоставление с образцом заменяется навигацией по дереву с выражениями XPath. ( [1] )
  • XStream : XStream - это простой язык функционального преобразования для документов XML на основе CAML. Преобразования XML, написанные в XStream, оцениваются в потоковой передаче: когда это возможно, части вывода вычисляются и создаются, пока входной документ все еще анализируется. Таким образом, некоторые преобразования могут быть применены к огромным XML-документам, которые даже не помещаются в памяти. Компилятор XStream распространяется на условиях лицензии на бесплатное программное обеспечение CeCILL .
  • Xtatic : Xtatic применяет методы из XDuce в C # , см. Домашнюю страницу Xtatic .
  • HaXml : HaXml - это библиотека и набор инструментов для написания преобразований XML в Haskell . Также см. Эту статью о HaXml, опубликованную в 1999 году, и эту статью IBM developerWorks . См. Также более свежие версии HXML и Haskell XML Toolbox ( HXT ), которые основаны на идеях HaXml и HXML, но используют более общий подход к обработке XML.
  • XMLambda : XMLambda (XMλ) описана в статье Эрика Мейера и Марка Шилдса от 1999 года . Реализации нет. См. Домашнюю страницу XMLambda .
  • FleXML : FleXML - это язык обработки XML, впервые реализованный Кристофером Роузом. Его подход заключается в добавлении действий к XML DTD, определяющих инструкции обработки для любого подмножества правил DTD.
  • Scala : Scala - это функциональный и объектно-ориентированный язык общего назначения со специальной поддержкой преобразования XML в форме сопоставления с образцом XML, литералов и выражений, а также стандартных библиотек XML.
  • LINQ to XML : LINQ to XML - это синтаксис .NET 3.5 и программный API, доступный на C #, VB и некоторых других языках .NET. LINQ в первую очередь разработан как язык запросов, но он также поддерживает преобразования XML.

Смотрите также

Ссылки