XProc (от англ. XML Processing) — официально утверждённая рекомендация комитета W3C по описанию XML-конвейеров на языке преобразования XML. Рекомендация была утверждена 11 мая 2010 года.
Примеры кода
Ниже приведен пример XProc-файла: <p:pipeline name="pipeline" xmlns:p="http://www.w3.org/ns/xproc" version="1.0"> <p:input port="schemas" sequence="true"/>
<p:xinclude name="included"> <p:input port="source"> <p:pipe step="pipeline" port="source"/> </p:input> </p:xinclude>
<p:validate-with-xml-schema name="validated"> <p:input port="source"> <p:pipe step="included" port="result"/> </p:input> <p:input port="schema"> <p:pipe step="pipeline" port="schemas"/> </p:input> </p:validate-with-xml-schema> </p:pipeline>
Данный конвейер состоит из двух неделимых частей (шагов или этапов): XInclude (подключение) и Validate (проверка). Конвейер сам по себе обладает двумя входными параметрами: «source» (исходный документ) и «schemas» (список W3C XML-схем). Часть XInclude считывает исходный «source» конвейера и создает промежуточный документ. Часть Validate считывает входящие «schemas» конвейера и результат, полученный XInclude, затем создает итоговый документ. Результат проверки — это и есть результат работы конвейера.
Ниже представлен аналогичное описание укороченного XProc-конвейера: <p:pipeline name="pipeline" xmlns:p="http://www.w3.org/ns/xproc"> <p:input port="schemas" sequence="true"/>
<p:xinclude/>
<p:validate-with-xml-schema> <p:input port="schema"> <p:pipe step="pipeline" port="schemas"/> </p:input> </p:validate-with-xml-schema> </p:pipeline>
Реализации Calabash, поддерживается Норманом Уолшем Calumet — реализация XProc от EMC QuiXProc, реализация XProc от Innovimax yax — реализация на языке Java 5 (на основе черновика рекомендации)
См. также XSLT XPath
Ссылки Сайты и ресурсы The XML Processing Model Working Group на сайте W3C XProc: An XML Pipeline Language Веб-сайт Xproc.org, поддерживаемый Норманом Уолшем Руководства и справочная документация XFront. XProc Tutorial An introduction to Xproc: An XML Pipeline Language XProc Introduction — краткий курс с примерами XProc-Tutorial Dokumentation zum Entwurf einer komplexeren XProc Pipeline XProc-Tutorial XProc-Reference Разное WireIt — XProc Editor — графический онлайн-редактор
Категория:Стандарты W3C Категория:Стандарты на основе XML Категория:Языки программирования на основе XML Категория:Языки разметки Категория:Декларативные языки программирования Категория:Предметно-ориентированные языки программирования