Jump to content

XML-конвейер

В программном обеспечении конвейер XML формируется при процессов XML (расширяемого языка разметки), особенно преобразований XML и проверок XML соединении .

Например, при наличии двух преобразований T 1 и T 2 их можно соединить так, что входной XML-документ преобразуется посредством T 1 , а затем выходные данные T 1 подаются в качестве входного документа в T 2 . Простые конвейеры, подобные описанному выше, называются линейными ; один входной документ всегда проходит одну и ту же последовательность преобразований для создания одного выходного документа.

Линейные операции

[ редактировать ]

Линейные операции можно разделить как минимум на две части.

Микрооперации

[ редактировать ]

Они работают на внутреннем уровне документа.

  • Переименовать — переименовывает элементы или атрибуты без изменения содержимого.
  • Заменить — заменяет элементы или атрибуты.
  • Вставить — добавляет новый элемент данных в выходной поток в указанной точке.
  • Удалить — удаляет элемент или атрибут (также известный как обрезка входного дерева).
  • Wrap — оборачивает элементы дополнительными элементами.
  • Reorder - меняет порядок элементов

Операции с документами

[ редактировать ]

Они принимают входной документ целиком

  • Преобразование идентичности — делает дословную копию входных данных на выходе.
  • Сравнить - нужно два документа и сравнить их.
  • Преобразование — выполнить преобразование входного файла с использованием указанного файла XSLT . Должна быть указана версия 1.0 или 2.0.
  • Разделить — возьмите один XML-документ и разделите его на отдельные документы.

Последовательные операции

[ редактировать ]

Они в основном представлены в XPoc и помогают управлять последовательностью документа в целом.

  • Подсчет — берет последовательность документов и подсчитывает их.
  • Преобразование идентичности - делает дословную копию входной последовательности документов на выходе.
  • Split-Sequence — принимает последовательность документов в качестве входных данных и направляет их на разные выходы в зависимости от правил соответствия.
  • Wrap-Sequence — принимает последовательность документов в качестве входных данных и упаковывает их в один или несколько документов.

Нелинейный

[ редактировать ]

Нелинейные операции на трубопроводах могут включать в себя:

  • Условные обозначения — когда данное преобразование выполняется, если условие выполняется, в то время как другое преобразование выполняется в противном случае.
  • Циклы — когда преобразование выполняется на каждом узле набора узлов, выбранного из документа, или преобразование выполняется до тех пор, пока условие не станет ложным.
  • Тройники — когда документ подвергается нескольким преобразованиям, которые могут происходить параллельно.
  • Агрегации — когда несколько документов объединяются в один документ.
  • Обработка исключений — когда сбои в обработке могут привести к обработке альтернативного конвейера.

Некоторые стандарты также классифицируют преобразования как макро (изменения, влияющие на весь файл) или микро (влияющие только на элемент или атрибут).

Языки конвейера XML

[ редактировать ]

Языки конвейеров XML используются для определения конвейеров. Программа, написанная на языке конвейера XML, реализуется с помощью программного обеспечения, известного как механизм конвейера XML, который создает процессы, соединяет их вместе и, наконец, выполняет конвейер. Существующие языки конвейеров XML включают:

Стандарты

[ редактировать ]

Специфический для продукта

[ редактировать ]
  • Язык определения конвейера XML W3C указан в примечании W3C. [2]
  • Язык конвейера XML W3C (XPL), версия 1.0 (проект) [3] [4] указывается в представлении W3C и компоненте OPS Orbeon Presentation Server (теперь называемом Orbeon Forms). Эта спецификация обеспечивает реализацию более ранней версии языка. XPL позволяет объявлять сложные конвейеры с условиями, циклами, тройниками, агрегатами и подконвейерами. XPoc — это примерно расширенная версия XPL. [5]
  • Cocoon Карты сайта , помимо прочего, позволяют объявлять конвейеры XML. Карты сайта Cocoon — одна из первых реализаций концепции XML-конвейера.
  • XML-конвейеры smallx используются проектом smallx.
  • ServingXML определяет словарь для выражения преобразований «плоский XML», «плоский XML», «плоский-плоский» и XML-XML в конвейерах.
  • Язык разметки цепей PolarLake , используемый средой выполнения PolarLake для определения конвейеров XML . Цепи — это наборы путей, по которым передаются фрагменты XML (обычно в виде событий SAX или DOM). Компоненты размещаются на путях для взаимодействия с потоком (и/или внешним миром) в процессе с низкой задержкой.
  • xmlsh — это язык сценариев, основанный на оболочках Unix, который изначально поддерживает XML и текстовые конвейеры [1]
  • Stylus Studio XML-конвейер — это визуальная грамматика, которая определяет следующие операции: ввод, вывод, XQuery, XSLT, проверка, XSL-FO в PDF, преобразование в XML, преобразование из XML, выбор, предупреждение, остановка.

Зернистость трубы

[ редактировать ]

Различные реализации XML Pipeline поддерживают разную степень детализации потока.

  • Документ: Целые документы проходят по каналу как атомарные единицы. Документ может находиться только в одном месте одновременно. Хотя обычно в канале может находиться несколько документов одновременно.
  • Событие: события узлов элемента/текста могут проходить по разным путям. Документ может одновременно проходить через множество компонентов.

Стандартизация

[ редактировать ]

До мая 2010 года не существовало широко используемого стандарта для языков конвейеров XML. Однако с введением стандарта W3C XProc в качестве Рекомендации W3C в мае 2010 г. [6] можно ожидать широкого распространения.

См. также

[ редактировать ]
  1. ^ «XProc: конвейерный язык XML» . W3.org . Проверено 14 июня 2013 г.
  2. ^ «Язык определения конвейера XML W3C» .
  3. ^ «Конвейерный язык XML (XPL) версии 1.0 (проект)» . W3.org . Проверено 14 июня 2013 г.
  4. ^ «Язык определения конвейера XML версии 1.0» . W3.org. 28 февраля 2002 г. Проверено 14 июня 2013 г.
  5. ^ «Конвейеры XML: XPL и XPoc» . Орбеон. 22 мая 2007 года . Проверено 14 марта 2012 г.
  6. ^ «XProc: конвейерный язык XML» . W3.org . Проверено 14 июня 2013 г.
  7. ^ «Ранняя история и эволюция Unix» . www.bell-labs.com. Архивировано из оригинала 8 апреля 2015 года . Проверено 14 июня 2013 г.
  8. ^ "ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ" . Xpipe.sourceforge.net. 09.12.2001 . Проверено 14 июня 2013 г.
[ редактировать ]

Стандарты

[ редактировать ]

Рекомендации

[ редактировать ]

Рабочие проекты

[ редактировать ]

Специфический продукт

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f4fddcd70bfdf6284656e38f979a28b9__1718036220
URL1:https://arc.ask3.ru/arc/aa/f4/b9/f4fddcd70bfdf6284656e38f979a28b9.html
Заголовок, (Title) документа по адресу, URL1:
XML pipeline - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)