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

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

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

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

XML в XML [ править ]

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

XML в данные [ править ]

Преобразование XML (Extensible Markup Language) в данные содержит несколько важных случаев. Наиболее заметным из них является преобразование 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 можно понимать как расширение языка Frisch 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. [1]
  • LINQ to XML : LINQ to XML - это синтаксис .NET 3.5 и программный API, доступный на C #, VB и некоторых других языках .NET. LINQ в первую очередь разработан как язык запросов, но он также поддерживает преобразования XML.

См. Также [ править ]

  • Фильтр (программное обеспечение)
  • Фильтр (Unix)
  • Веб-шаблон
  • Система веб-шаблонов
  • Шаблонизатор (Интернет)
  • Тритий (язык программирования)

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

  1. ^ Fancellu, Дино; Нармонтас, Уильям (июнь 2014 г.). «Обработка XML в Scala» . XML London 2014 : 63–75. DOI : 10,14337 / XMLLondon14.Narmontas01 . ISBN 978-0-9926471-1-7.