Jump to content

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

(Перенаправлено с XDuce )
Преобразование XML в XML

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

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

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

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

XML в данные

[ редактировать ]

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

Истоки SGML

[ редактировать ]

Самые ранние языки преобразования появились еще до появления XML как профиля SGML и, таким образом, принимали входные данные в произвольном SGML, а не в конкретном XML. SGML-SGML К ним относятся формат определения процесса соединения (LPD), определенный как часть самого стандарта SGML; в SGML (но не XML) на файл LPD можно ссылаться из самого документа с помощью LINKTYPE декларация, аналогично DOCTYPE объявление, используемое для DTD . [1] Другие подобные языки преобразования, устраняющие некоторые недостатки LPD, включают язык семантики и спецификации стиля документа (DSSSL) и OmniMark . [2] Новые языки преобразования, как правило, ориентированы конкретно на XML и поэтому принимают только XML, а не произвольный SGML.

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

[ редактировать ]
  • XSLT : XSLT — самый известный язык преобразования XML. Рекомендация W3C XSLT 1.0 была опубликована в 1999 году вместе с XPath 1.0 и с тех пор широко применяется. XSLT 2.0 стал рекомендацией W3C с января 2007 года, и реализации спецификации, такие как Saxon 8, уже доступны.
  • XQuery : XQuery — полнофункциональный язык, несмотря на то, что в названии есть слово «query». Это стандарт де-факто, используемый 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 управляется данными (модель принудительной обработки), где определенные условия входного документа запускают выполнение шаблонов, а не выполнение кода в том порядке, в котором он написан.
  • XProc : XPoc — это язык конвейера XML. Рекомендации XProc 1.0 W3C были опубликованы в мае 2010 года.
  • Преобразование XML-документа : стандарт Microsoft для выполнения простых преобразований XML-документов. В первую очередь для создания файлов IIS Web.config (преобразования конфигурации), другие реализации позволяют использовать его для общих файлов конфигурации во время сборки (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. Написано на МЛ.
  • 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. [3]
  • LINQ to XML : LINQ to XML — это синтаксис .NET 3.5 и API программирования, доступные на C#, VB и некоторых других языках .NET. LINQ в первую очередь разработан как язык запросов, но он также поддерживает преобразования XML.

См. также

[ редактировать ]
  1. ^ Гольдфарб, Чарльз Ф. (1990). Раздел 12 — Объявления разметки: определение процесса связи . Оксфорд : Кларендон Пресс . стр. 433–449. ISBN  0-19-853737-9 . {{cite book}}: |work= игнорируется ( помогите )
  2. ^ Кимбер, В. Элиот. «Почему мне нужна функция SGML LINK» . CoverPages.org .
  3. ^ Фанчеллу, Дино; Нармонтас, Уильям (июнь 2014 г.). «Обработка XML в Scala». XML Лондон 2014 : 63–75. doi : 10.14337/XMLLondon14.Narmontas01 (неактивен 22 июня 2024 г.). ISBN  978-0-9926471-1-7 . {{cite journal}}: CS1 maint: DOI неактивен по состоянию на июнь 2024 г. ( ссылка )
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7aee3aa307e15271444d183a84bde0da__1719780840
URL1:https://arc.ask3.ru/arc/aa/7a/da/7aee3aa307e15271444d183a84bde0da.html
Заголовок, (Title) документа по адресу, URL1:
XML transformation language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)