XProc

Поделись знанием:
Перейти к: навигация, поиск
XProc
Расширение

.xpl

MIME-тип

application/xml

Разработчик

[www.w3.org/ World Wide Web Consortium]

Тип формата

Язык описания стилей

Расширен из

XML

Стандарт(ы)

[www.w3.org/TR/xproc 1.0 (предлагаемая рекомендация)]

XProc (от англ. XML Processing) — официально утверждённая рекомендация комитета W3C по описанию XML-конвейеров на языке преобразования XML. Рекомендация была утверждена 11 мая 2010 года.





Примеры кода

Ниже приведен пример XProc-файла:

<p:pipeline name="pipeline" xmlns:p="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="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>

Реализации

  • [norman.walsh.name/2008/projects/calabash Calabash], поддерживается Норманом Уолшем  (англ.)
  • [community.emc.com/community/edn/xmltech Calumet] — реализация XProc от EMC  (англ.)
  • [code.google.com/p/quixproc QuiXProc], реализация XProc от Innovimax  (англ.)
  • [yax.sourceforge.net/manual/index.html yax] — реализация на языке Java 5 (на основе [www.w3.org/TR/2006/WD-xproc-20061117/ черновика рекомендации])  (англ.)  (нем.)

См. также

Напишите отзыв о статье "XProc"

Ссылки

Сайты и ресурсы
  • [www.w3.org/XML/Processing/ The XML Processing Model Working Group] на сайте W3C  (англ.)
  • [www.w3.org/TR/xproc/ XProc: An XML Pipeline Language]  (англ.)
  • [xproc.org/ Веб-сайт Xproc.org], поддерживаемый Норманом Уолшем  (англ.)
Руководства и справочная документация
  • [www.xfront.com/xproc/ XFront. XProc Tutorial]  (англ.)
  • [www.dpawson.co.uk/xproc/ An introduction to Xproc: An XML Pipeline Language]  (англ.)
  • [exist.sourceforge.net/xproc/xproc.html XProc Introduction] — краткий курс с примерами  (англ.)
  • [fabday.fh-potsdam.de/~sasaki/student-papers/09/xproc/kaulbarsch-kohn-rahmlow-vorberg/XProc_0804.pdf XProc-Tutorial]  (нем.)
  • [fabday.fh-potsdam.de/~s8864/xproc/XProc_Pipeline_und_Dokumentation_XMLValidate.pdf Dokumentation zum Entwurf einer komplexeren XProc Pipeline]  (нем.)
  • [www.data2type.de/xml-xslt-xslfo/xproc/xproc-einfuehrung XProc-Tutorial]  (нем.)
  • [www.data2type.de/xml-xslt-xslfo/xproc/xproc-referenz XProc-Reference]  (нем.)
Разное
  • [feedscape.appspot.com/ WireIt — XProc Editor] — графический онлайн-редактор  (англ.)

Отрывок, характеризующий XProc

Наполеон кивнул головой и отошел от него.

В половине шестого Наполеон верхом ехал к деревне Шевардину.
Начинало светать, небо расчистило, только одна туча лежала на востоке. Покинутые костры догорали в слабом свете утра.
Вправо раздался густой одинокий пушечный выстрел, пронесся и замер среди общей тишины. Прошло несколько минут. Раздался второй, третий выстрел, заколебался воздух; четвертый, пятый раздались близко и торжественно где то справа.
Еще не отзвучали первые выстрелы, как раздались еще другие, еще и еще, сливаясь и перебивая один другой.
Наполеон подъехал со свитой к Шевардинскому редуту и слез с лошади. Игра началась.


Вернувшись от князя Андрея в Горки, Пьер, приказав берейтору приготовить лошадей и рано утром разбудить его, тотчас же заснул за перегородкой, в уголке, который Борис уступил ему.
Когда Пьер совсем очнулся на другое утро, в избе уже никого не было. Стекла дребезжали в маленьких окнах. Берейтор стоял, расталкивая его.
– Ваше сиятельство, ваше сиятельство, ваше сиятельство… – упорно, не глядя на Пьера и, видимо, потеряв надежду разбудить его, раскачивая его за плечо, приговаривал берейтор.
– Что? Началось? Пора? – заговорил Пьер, проснувшись.
– Изволите слышать пальбу, – сказал берейтор, отставной солдат, – уже все господа повышли, сами светлейшие давно проехали.
Пьер поспешно оделся и выбежал на крыльцо. На дворе было ясно, свежо, росисто и весело. Солнце, только что вырвавшись из за тучи, заслонявшей его, брызнуло до половины переломленными тучей лучами через крыши противоположной улицы, на покрытую росой пыль дороги, на стены домов, на окна забора и на лошадей Пьера, стоявших у избы. Гул пушек яснее слышался на дворе. По улице прорысил адъютант с казаком.
– Пора, граф, пора! – прокричал адъютант.
Приказав вести за собой лошадь, Пьер пошел по улице к кургану, с которого он вчера смотрел на поле сражения. На кургане этом была толпа военных, и слышался французский говор штабных, и виднелась седая голова Кутузова с его белой с красным околышем фуражкой и седым затылком, утонувшим в плечи. Кутузов смотрел в трубу вперед по большой дороге.
Войдя по ступенькам входа на курган, Пьер взглянул впереди себя и замер от восхищенья перед красотою зрелища. Это была та же панорама, которою он любовался вчера с этого кургана; но теперь вся эта местность была покрыта войсками и дымами выстрелов, и косые лучи яркого солнца, поднимавшегося сзади, левее Пьера, кидали на нее в чистом утреннем воздухе пронизывающий с золотым и розовым оттенком свет и темные, длинные тени. Дальние леса, заканчивающие панораму, точно высеченные из какого то драгоценного желто зеленого камня, виднелись своей изогнутой чертой вершин на горизонте, и между ними за Валуевым прорезывалась большая Смоленская дорога, вся покрытая войсками. Ближе блестели золотые поля и перелески. Везде – спереди, справа и слева – виднелись войска. Все это было оживленно, величественно и неожиданно; но то, что более всего поразило Пьера, – это был вид самого поля сражения, Бородина и лощины над Колочею по обеим сторонам ее.