Interested Article - XProc
- 2021-02-28
- 1
XProc (от англ. XML Processing ) — официально утверждённая рекомендация комитета W3C по описанию на . Рекомендация была утверждена 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>
Реализации
- , поддерживается Норманом Уолшем (англ.)
- — реализация XProc от EMC (англ.)
- , реализация XProc от Innovimax (англ.)
- — реализация на языке Java 5 (на основе ) (англ.) (нем.)
См. также
Ссылки
- Сайты и ресурсы
- на сайте W3C (англ.)
- (англ.)
- , поддерживаемый Норманом Уолшем (англ.)
- Руководства и справочная документация
- (англ.)
- (англ.)
- (недоступная ссылка) — краткий курс с примерами (англ.)
- (недоступная ссылка) (нем.)
- (недоступная ссылка) (нем.)
- (нем.)
- (нем.)
- Разное
- — графический онлайн-редактор (англ.)
- 2021-02-28
- 1