Язык преобразования XML - XML transformation language
Преобразование данных |
---|
Концепции |
Языки трансформации |
Техники и трансформации |
Приложения |
Связанный |
Язык преобразования 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.
Смотрите также
- Фильтр (программное обеспечение)
- Фильтр (Unix)
- Веб-шаблон
- Система веб-шаблонов
- Шаблонизатор (веб)
- Тритий (язык программирования)