Конвейер XML

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

В ПО, конвейер XML формируется при подключении процессов XML (Extensible Markup Language), особенно преобразования XML и проверки XML..

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

Содержание
  • 1 Линейные операции
    • 1.1 Микрооперации
    • 1.2 Операции с документами
    • 1.3 Последовательные операции
  • 2 Нелинейные
  • 3 конвейерные языки XML
    • 3.1 Стандарты
    • 3.2 В зависимости от продукта
  • 4 Детализация труб
  • 5 Стандартизация
  • 6 История
  • 7 См. Также
  • 8 Ссылки
  • 9 Внешние ссылки
    • 9.1 Стандарты
      • 9.1.1 Рекомендации
      • 9.1.2 Рабочие чертежи
    • 9.2 Для конкретного продукта
Линейные операции

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

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

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

  • Rename - переименовывает элементы или атрибуты без изменения содержимого
  • Replace - заменяет элементы или атрибуты
  • Insert - добавляет новый элемент данных в выходной поток в заданной точке
  • Удалить - удаляет элемент или атрибут (также известное как сокращение входного дерева)
  • Wrap - обертывает элементы дополнительными элементами
  • Reorder - изменяет порядок элементов

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

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

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

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

Они в основном представлены в XProc и помогает обрабатывать последовательность документов в целом

  • Счетчик - он берет последовательность документов и подсчитывает их
  • Преобразование идентичности - делает дословную копию входящей последовательности документов к выходу
  • split-sequence - принимает последовательность документов в качестве входных и направляет их на разные выходы в зависимости от правил сопоставления
  • wrap-sequence - принимает последовательность документов в качестве входных и обертывает их в один или несколько документов
Нелинейные

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

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

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

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

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

Стандарты

Для конкретного продукта

  • W3C XML Pipeline Definition Language указан в примечании W3C.
  • W3C XML Pipeline Language (XPL) Version 1.0 (Draft) указан в W3C Submission и является компонентом Orbeon Presentation Server OPS (сейчас называется Орбеон Формы). Эта спецификация обеспечивает реализацию более ранней версии языка. XPL позволяет объявлять сложные конвейеры с условными операторами, циклами, тройниками, агрегациями и суб-конвейерами. XProc - это примерно надмножество XPL.
  • Cocoon карты сайта позволяют, среди прочего, объявлять конвейеры XML. Карты сайта Cocoon - одна из самых ранних реализаций концепции XML-конвейера.
  • smallx XML Pipelines используются в проекте smallx.
  • ServingXML определяет словарь для выражения плоского XML, XML-flat, плоский-плоский и преобразования XML-XML в конвейерах.
  • Язык разметки цепей PolarLake, используемый средой выполнения PolarLake для определения конвейеров XML. Цепи - это наборы путей, через которые проходят фрагменты XML-потока (обычно как события SAX или DOM). Компоненты размещаются на путях для взаимодействия с потоком (и / или внешним миром) в процессе с низкой задержкой.
  • xmlsh - это язык сценариев, основанный на оболочках unix, который изначально поддерживает xml и текстовые конвейеры [1]
  • Stylus Studio XML Pipeline - это визуальная грамматика, которая определяет следующие операции: ввод, вывод, XQuery, XSLT, проверка, XSL-FO в PDF, преобразование в XML, преобразование из XML, Выберите, Предупреждение, Стоп.
Гранулярность конвейера

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

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

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

История
  • 1972 Дуглас Макилрой из Bell Laboratories добавляет оператор канала в командную оболочку UNIX. Это позволяет выходным данным одной программы оболочки напрямую поступать на вход другой программы оболочки без перехода на диск. Это позволило таким программам, как UNIX awk и sed быть специализированными, но при этом работать вместе [2]. Подробнее см. Pipeline (Unix).
  • 1993 Шон МакГрат разработал набор инструментов C ++ для обработки SGML.
  • 1998 выпускает первую версию Apache Cocoon, одна из первых программ, использующих конвейеры XML.
  • 1998 PolarLake build Операционная система XML, которая включает XML Конвейерная обработка.
  • Примечания 2002 года, представленные Норманом Уолшем и от Sun Microsystems, а также Заявка W3C, представленная в 2005 году и оттуда, были важными шагами к началу реальных усилий по стандартизации. Хотя ни одно из представлений напрямую не стало рекомендацией W3C, они были признаны ключевыми источниками вдохновения для рабочей группы по обработке XML W3C.
  • Сентябрь 2005 г. Начало работы группы по обработке XML W3C. Задачей этой рабочей группы было создание спецификации для языка конвейерной обработки XML.
  • август 2008 г., xmlsh, язык конвейера XML был объявлен на Balisage 2008
См. также
Ссылки
  1. ^«XProc: язык конвейера XML». W3.org. Проверено 14 июня 2013 г.
  2. ^«W3C XML Pipeline Definition Language».
  3. ^«XML Pipeline Language (XPL) Version 1.0 (Draft)». W3.org. Проверено 14 июня 2013 г.
  4. ^«XML Pipeline Definition Language Version 1.0». W3.org. 2002-02-28. Проверено 14 июня 2013 г.
  5. ^«Конвейеры XML: XPL и XProc». Орбеон. 22 мая 2007 г. Дата обращения 14 марта 2012 г.
  6. ^«XProc: язык конвейера XML». W3.org. Проверено 14 июня 2013 г.
  7. ^«Ранняя история и развитие Unix». Cm.bell-labs.com. Архивировано с оригинального 8 апреля 2015 г. Получено 14 июня 2013 г.
  8. ^«FAQ». Xpipe.sourceforge.net. 2001-12-09. Проверено 14 июня 2013 г.
Внешние ссылки

Стандарты

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

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

для конкретного продукта

Последняя правка сделана 2021-06-22 06:40:55
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте