stringtranslate.com

XProc

XProc — это язык преобразования XML для обработки документов в конвейерах: объединение преобразований и других шагов вместе для достижения желаемых результатов. Он может обрабатывать документы в XML , HTML , JSON , текстовом и двоичном формате .

Текущая (стабильная) версия — 3.0. [1] В то время как XProc 1.0 [2] является рекомендацией W3C , XProc 3.0 — это стандарт, разработанный группой сообщества W3C XProc Next. [3]

Его основные характеристики:

Пример

Ниже представлен (очень) простой конвейер XProc:

<p:declare-step xmlns:p= "http://www.w3.org/ns/xproc" version= "3.0" >   <p:входной порт= "источник" /> <p:выходной порт= "результат" />    <p:add-attribute attribute-name= "timestamp" attribute-value= "{current-dateTime()}" /> <p:delete match= "@data" />    </p:declare-шаг>

Итак, если вы предоставите этому конвейеру следующий XML-документ:

<example data= "321" > <item data= "123" > Некоторые данные... </item> </example>    

Выходит так:

<example timestamp= "2024-09-11T15:05:22.82+02:00" > <item> Некоторые данные... </item> </example>   

Точная дата и время, записанные в timestampатрибуте, конечно же, зависят от даты и времени выполнения конвейера.


Понимание и изучение XProc

Страница обучения на сайте XProc [4] содержит ссылки на все учебные и справочные материалы, о которых знает группа сообщества XProc. Есть специальный раздел 101 с вводными учебными материалами.


История

Идеи чего-то, какого-то языка программирования для обработки существовали с самого начала XML, в конце двадцатого века. Но только в конце 2005 года W3C создал рабочую группу под названием XML Processing Model Working Group . Это привело к рекомендации XProc 1.0 от 11 мая 2010 года. [2]

Были предприняты различные попытки создать работающие процессоры XProc 1.0. Единственными двумя в настоящее время доступными продуктами с открытым исходным кодом, реализующими полный стандарт 1.0, являются XML Calabash [5] и MorganaXProc. [6]

После выпуска версии 1.0 рабочая группа XProc продолжила обсуждение следующей версии. Были выдвинуты идеи для версии 2.0. Она была основана на не-XML синтаксисе, что не вызвало большой поддержки со стороны сообщества. Вовлеченность в рабочую группу ослабла, и в 2016 году она прекратила свое существование.

В июне 2017 года была основана группа XProc Next Community Group [3] , которая начала работать над новой версией, теперь полностью основанной на XML. Поскольку это был совершенно другой подход, чем инициатива 2.0, номер версии был увеличен до 3.0. Стабильная версия была выпущена 12 сентября 2022 года. [1]

В 2024 году рабочая группа начала работу над небольшим обновлением до версии 3.1.


Реализации

Следующие процессоры поддерживают стандарт XProc 3.0:


Старые версии

Следующие процессоры поддерживают стандарт XProc 1.0. Было несколько других реализаций XProc 1.0, но они были либо неполными, либо не поддерживаются.


Логотип

Логотип XProc Kanava
Логотип XProc Kanava

Это логотип XProc. Его создала Бетан Тови-Уолш. Рыба называется Канава , что по-фински означает трубопровод.


Ссылки

  1. ^ ab Сайт XProc
  2. ^ ab Спецификация XProc 1.0
  3. ^ ab XProc следующая группа сообщества
  4. ^ Страница обучения XProc 3.0
  5. ^ ab Процессор XML Calabash 1.0
  6. ^ ab Процессор Morgana XProc 1.0
  7. ^ Процессор MorganaXProc-IIIse XProc
  8. ^ Процессор XML Calabash 3.0