XProc

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
XProc
Расширение .xpl
MIME-тип application/xml
Разработчик World Wide Web Consortium
Тип формата Язык описания стилей
Расширен из XML
Стандарт(ы) 1.0 (предлагаемая рекомендация)

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>

Реализации

[править | править код]

Сайты и ресурсы

Руководства и справочная документация

Разное