Мир XML огромен и постоянно растет,
он населен множеством стандартов и технологий, которые
связаны друг с другом самым причудливым образом. Поэтому тем,
кто только начинает свое знакомство с XML, может оказаться
непросто ориентироваться в наиболее важных аспектах XML,
тем же, кто уже использует XML —следить за новинками
и изменениями. Автор этой серии статей, посвященной
XML-стандартам, Юч Огбуджи на этот раз рассказывает
о технологиях обработки XML.
С момента своего появления язык XML зарекомендовал себя
с самой лучшей стороны, поэтому довольно быстро получил широкое
распространение. Он оказался чрезвычайно полезной технологией,
которая, однако, может оказаться весьма непростой для
понимания —если попытаться рассмотреть все, что попадает под
определение «XML». В этой серии статей автор кратко рассмотрит
наиболее важные, по его мнению, XML-технологии
и расскажет, какое место в мире XML занимает каждая
из них. Кроме того, в конце каждого раздела, посвященного
той или иной из обсуждаемых технологий, читатель
Чтение— один из важнейших видов речевой деятельности, тесно связанный как с произношением, так и с пониманием речи. Также «чтение»— это способность воспринимать, понимать информацию, записанную (передаваемую) тем или иным способом, воспроизводить техническими устройствами. сможет найти
список
Список— письменный перечень, число, состав; документ, содержащий перечень каких-либо сведений; в переносном смысле— буквальное, точное воспроизведение, копия; рукописная копия древнего памятника письменности. рекомендуемых учебных пособий и других справочных
материал
Материал— вещество или смесь веществ, из которых изготавливается что-либо или которые способствуют каким-либо действиям. В последнем случае уточняют, что это вспомогательный или расходный материал.ов, которые могут оказаться полезными при ее изучении
и апробировании.
Все технологии, представленные в этих статьях, являются
стандартами, хотя само это слово довольно
двусмысленно. Дело в том, что имеется множество всевозможных
стандартов, и многие из них часто оказываются
предназначенными для одной и той же предметной области,
что приводит к их «конкуренции». При определении стандарта
автор статьи будет стоять на позиции прагматизма, считая
стандартом любую спецификацию, которая признана представительной
выборкой поставщиков или рекомендована авторитетной независимой
от них организацией.
Первая
статья этой серии была посвящена базовым XML-технологиям
(в ней также была приведена
информация об различных органах стандартизации
и о видах разрабатываемых спецификаций). В этой
статье будут рассмотрены стандарты
Стандарт (от англ.standard— норма, образец) в широком смысле слова— образец, эталон, модель, принимаемые за исходные для сопоставления с ними др. подобных объектов., относящиеся к обработке
XML, а в следующей —ряд наиболее важных приложений
XML (или словарей).
Языки программирования для XML С момента своего
появления язык XML пользовался огромной популярность Популярность(от лат.populares, от populus — народ) — высокая степень востребованности чего-либо или кого-либо в определенной области жизни человека, например: популярность сетевых игр. На возникновение популярности в некоторых случаях влияет мода, и наоборот. Так же, как и мода, популярность привязана к определенному и, как правило, небольшому отрезку времени. Популярность зачастую смешивают с известностью, хотя это не одно и то же.ю у
программистов. Ниже приведены некоторые полезные ресурсы,
которые посвящены различным языкам, с помощью которых можно
совершенствовать XML-технологии.
Технология
Java: Страница alphaworks XML на сайте IBM (); страница XML на
сайте Apache (); некоммерческая
страница технологии Java и XML на сайте Sun ()
C/C++:
<Разработчики C/C++: наполните свою инструментальную
панель XML () (developerWorks,
сентябрь 2001г.)
Python:
Специальная группа, занимающаяся обработкой XML в
Python (); колонка на XML.com; <Современное состояние
Python-XML ();
сайт Юча Огбуджи Akara, посвященный обработке XML в Python
()
Perl:
<Разработчики Perl: наполните свою инструментальную панель XML
() (developerWorks,
июнь 2001г.); проект Perl-XML (); колонка на XML.com; .
Другие:
Классы PHP XML (); ; .
|
XSLT
В спецификации «Преобразования расширяемого языка стилей»
() [Рекомендация W3C] определяется
язык, используемый для описания преобразований входного
XML-документа в выходное дерево. Выходное дерево может,
например, принять форму HTML-документа или другого XML-формата и,
таким образом, XSLT может считаться языком, предназначенным для
преобразования XML в форму представления традиционного браузера
или для обработки XML-файлов с помощью скриптов. Это
преобразование представляет собой XML-документ, определенный
в отдельном словаре, а для обращения к исходному
документу и выполнения общих операций обработки используются
выражения спецификации XPath (рассмотренной ранее). Специальные
инструкции устанавливают правила обработки (XSLT является
декларативным языком) и управляют процессом создания выходного
дерева.
Спецификация XSLT 1.0 пользуется исключительной
популярностью, и с помощью языка XSLT можно решить
большинство
Большинство — большая часть чего-либо. Под большинством в редких случаях имеют ввиду абсолютное большинство, то есть более половины какой-либо группы. Обычно большинство означает количественное преимущество одной части над другой. К примеру, треть и четверть. типичных задач обработки XML. Если читатель знаком
с XML, то ему не составит труда изучить основы XSLT,
хотя для полного овладения этим языком потребуются некоторые усилия.
XSLT обладает хорошо спроектированным механизмом расширений,
а его декларативная модель обработки допускает многократное
использование кода. В спецификации «Ассоциирование таблиц
стилей с XML-документами, версия 1.0» ()
[Рекомендация W3C] описывается стандартный способ связывания
XML-документа с документом таблицы стилей XSLT. Спецификация
XSLT была
на многие языки.
Как уже было указано выше, XSLT располагает великолепным
механизмом расширения
Расширение имени файла (англ.filename extension, часто говорят просто расширение файла или расширение)— последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с помощью которых пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле., с помощью которого можно определять
дополнительные функциональные возможности, используя какой-либо
язык. Однако, что еще более приятно, часто самому не нужно
писать расширения, поскольку многие из них уже написаны.
В спецификации
[Общественный стандарт] определен стандартный набор таких
расширений, основной особенностью которых является стремление
избежать зависимость от какой-либо конкретной реализации.
При создании EXSLT была предпринята попытка охватить большинство
наиболее востребованных расширений, как, например, обработка дат,
регулярные выражения и математические операции.
В большинстве реализаций EXSLT используется один или несколько
модулей EXSLT.
Хотя спецификация [находится
в стадии разработки] была подвергнута принципиальной доработке
с учетом коллективного опыта использования XSLT 1.0, и эта
версия XSLT не лишена изъянов, будучи тесно связанной
с языком XPath 2.0, который, по мнению автора, имеет
существенные недостатки.
Рекомендуемые обучающие руководства и учебные пособия
- Краткое «Учебное пособие по XSLT» ()
на ресурсе W3Schools.
- Более подробное «Учебное пособие по XSLT» ()
на ресурсе ZVON.
- В рубрике developerWorks на сайте IBM опубликовано
несколько учебных пособий по XSLT, в том числе:
- «Создание многоцелевого
Web-контента с помощью XSLT» () (март 2003г.).
- «Преобразование
XML-документов» () (май 2000г.).
- «Разработка
на Python/XML с помощью 4Suite, часть 2: 4XPath
и 4XSLT» ()
(октябрь
Октябрь (лат.October)— десятый месяц Григорианского календаря. Восьмой месяц староримского года, начинавшегося до реформы Цезаря с марта. Название получил от лат.octo— восемь. В связи с переходом на зимнее время является самым длинным месяцем года (745 часов) . 2001г.), которое содержит введение в XSLT.
- Статья «EXSLT на примерах» () — это отличное введение в EXSLT
(developerWorks, февраль 2003г.).
Список литературы и другие ресурсы
- «Справочное пособие по XSLT» () на ресурсе ZVON.
- Страница Дейва Посона (Dave Pawson) «Часто задаваемые вопросы
о XSLT» ()
посвящены XSLT и XPath, а также XSL-FO
XSL-FO (англ.eXtensible Markup Language Formatting Objects — объекты форматирования языка таблиц стилей для XML) — рекомендованный Консорциумом Всемирной паутины язык разметки типографских макетов и иных предпечатных материалов. XSL-FO является частью XSL, наряду с XSLT и XPath. (будет
рассмотрено).
- На ресурсе TopXML приводится , распределенных
по категориям.
- Джени Теннисон (Jeni Tennison) известна своим ясным
и четким объяснением многих тонких аспектов XSLT. —
отличный справочный ресурс, на котором рассматриваются
наиболее часто встречающиеся вопросы и проблемы XSLT.
SAX
В спецификации «Простой интерфейс прикладного
программирования для XML» () [Общественный стандарт] описывается управляемый
событиями интерфейс прикладного программирования (API). Разработчик
регистрирует код обработчика для определенных событий, которые
запускаются различными частями разметки XML (как, например,
начальный и конечный теги, текст, сущности). Затем парсер,
опираясь на входной XML, посылает поток этих событий, которые
поочередно обрабатываются кодом обработчика.
SAX явился результатом длительной интерактивной конференции,
начатой в 1997 году на ресурсе , который уже давно является «прибежищем» экспертов
в области XML. Эту конференцию вел Дэвид Меггинсон,
и ее итогом явилось создание одного из наиболее
успешных XML-проектов, в подготовке которого не была
задействована ни одна крупная компания или орган
стандартизации.
До появления SAX каждый парсер имел свой собственный
специфический API, предназначенный для установления связи между
структурой XML и кодом обработчика. SAX же обеспечил
необходимую унификацию. В большинстве случаев парсеры
предоставляют драйверы SAX, которые транслируют низкоуровневые
события парсера в стандартные события SAX, предусматривая
переносимый код. Несмотря на то, что SAX был разработан
с ориентацией на язык Java, он стал популярен среди
многочисленных языков и оболочек; хотя иногда его
ориентированность на Java усложняет переносимость
Портирование (англ.porting)— в программировании под портированием понимают адаптацию некоторой программы или её части, с тем чтобы она работала в другой среде, отличающейся от той среды, под которую она была изначально написана с максимальным сохранением её пользовательских свойств. В этом основное отличие понятий порт и форк— в первом случае все пользовательские свойства пакета стараются сохранить, а во втором— это базирующаяся на общей основе самостоятельная разработка с новыми полезными свойствами..
В настоящий момент используется второе поколение SAX,
которое включает обработку пространств имен XML
и необязательное формирование отчетов об определенных
событиях, касающихся структуры документа.
В большинстве языков управляемый событиями интерфейс обычно
реализуется с помощью функций обратного вызова
(стиль, присущий программированию графического
пользовательского интерфейса (GUI)). В объектно-ориентированных
языках, функции обратного вызова обычно являются зарегистрированными
метода
Метод (от греч. — «способ»)— систематизированная совокупность шагов, действий, которые необходимо предпринять, чтобы решить определенную задачу или достичь определенной цели. В отличие от области знаний или исследований, является авторским, то есть созданным конкретной персоной или группой персон, научной или практической школой. В силу своей ограниченности рамками действия и результата, методы имеют тенденцию морально устаревать, преобразовываясь в другие методы, развиваясь в соответствии с временем, достижениями технической и научной мысли, потребностями общества. Совокупность однородных методов принято называть подходом. Развитие методов является естественным следствием развития научной мысли.ми для объекта, использующими полиморфизм для сопоставления
имени метода с кодом обработчика и инкапсуляцию для
управления состоянием в обработчике между обратными вызовами.
Эта полная модель управляемого событиями программирования известна
как модель проталкивания (push model) и «славится» свой
трудностью для освоения.
Большинство
Большинство — большая часть чего-либо. Под большинством в редких случаях имеют ввиду абсолютное большинство, то есть более половины какой-либо группы. Обычно большинство означает количественное преимущество одной части над другой. К примеру, треть и четверть. моделей, которые считаются более легкими для
программирования, однако, требуют произвольного доступа
к документу и, таким образом, могут понизить эффективность,
в связи с чем SAX имеет репутацию наиболее эффективного,
если ни легкого, стандартного способ
Метод (от греч. — «способ»)— систематизированная совокупность шагов, действий, которые необходимо предпринять, чтобы решить определенную задачу или достичь определенной цели. В отличие от области знаний или исследований, является авторским, то есть созданным конкретной персоной или группой персон, научной или практической школой. В силу своей ограниченности рамками действия и результата, методы имеют тенденцию морально устаревать, преобразовываясь в другие методы, развиваясь в соответствии с временем, достижениями технической и научной мысли, потребностями общества. Совокупность однородных методов принято называть подходом. Развитие методов является естественным следствием развития научной мысли.а обработки XML.
Рекомендуемые обучающие руководства и учебные пособия
- Обучающее пособие
Пособие — одна из форм материального обеспечения населения. Пособие назначается в случае заболевания, травмы, по беременности и родам, при потере работы и в других случаях. По форме выплат пособия подразделяются на единовременные и периодические. Николаса Чейза (Nicholas Chase)
«Объяснение SAX» (), опубликованное в рубрике
developerWorks (июль 2003г.).
- «Обучающее пособие по SAX» ()
на сайте Sun, предназначенное для пользователей технологии
Java.
- Разработчикам C++ будет полезна статья «Радость
Радость— одна из основных положительных эмоций человека, внутреннее чувство удовлетворения, удовольствия и счастья. Является положительной внутренней мотивацией человека. Радость считается противоположной грусти, печали. SAX» () Мартина
Мартина (нем.Martina GR)— деревня в Швейцарии, в кантоне Граубюнден. Нотона (Martin Naughton).
- В статье автора «Поднятие приложений на следующий
уровень с XML, часть 3: инструментальная панель интерфейс
Интерфейс (от англ.interface— поверхность раздела, перегородка)— совокупность средств, методов и правил взаимодействия между элементами системы.ов
прикладного программирования XML» ()
рассматриваются SAX и DOM (см. ниже).
- Разработчикам Perl будет полезна статья «Использование Perl
с XML (часть 1)» (), которая посвящена
SAX.
Список литературы и другие ресурсы
На странице ресурса XML.org — — содержится полезная информация
Информация (от лат.informatio— осведомление, разъяснение, изложение, от лат.informare— придавать форму)— в широком смысле абстрактное понятие, имеющее множество значений, в зависимости от контекста. В узком смысле этого слова— сведения (сообщения, данные) независимо от формы их представления. Сведения об объектах живой или неживой природы, их свойств и взаимном влиянии друг на друга. о SAX.
DOM
В спецификации «Объектная модель документов» ()
[Рекомендация W3C] описывается объектная модель XML-документов,
которая может быть использована для прямого доступа к частям
XML-документа. Согласно концепции
Концепция, или концепт, (от лат.conceptio— понимание, система)— определённый способ понимания (трактовки, восприятия) какого-либо предмета, явления или процесса; основная точка зрения на предмет; руководящая идея для их систематического освещения. модели DOM, документ моделируется
в виде дерева, в котором каждый компонент
Компонент— (от лат.componens, родительный падеж componentis — составляющий), составная часть, элемент чего-либо. В разных отраслях науки и техники может иметь дополнительное, более специфическое значение. синтаксиса XML
(как, например, элемент или текстовое содержание) представляется
с помощью узла.
Модель DOM — это интерфейс прикладного программирования,
с помощью которого можно перемещаться по дереву,
от узла родителя к потомку, к сестринским узлам,
а также использовать специальные свойства определенных типов
узлов (например, у элементов могут быть атрибуты,
а у текстовых узлов — текстовые данные
Данные (калька от лат.data) — это представление фактов и идей в формализованном виде, пригодном для передачи и обработки в некотором информационном процессе.).
Модель DOM задумывалась как нейтральная от языка. Для
выражения узлов DOM и поддержки интерфейсов используется
спецификация консорциума по технологии манипулирования
объектами (Object Management Group, OMG) «Язык описания интерфейса
CORBA» () [Международный стандарт ISO,
номер 14750].
Первоначально модель DOM создавалась как объектная модель для
стандартизации криптовых операций над объектами HTML и XML
в Web-браузерах. В некоторых случаях это приводит
к затруднениям при использовании этой модели в качестве
изолированного интерфейса прикладного программирования. При
разработке модели DOM выпускалось несколько версий спецификации
(Level), каждая из которых опирается на предыдущую,
добавляя новые функциональные возможности.
Так, документ Level 1 охватывал основные возможности,
в Level 2 появилась поддержка пространств имен,
модель событий пользовательского интерфейса, итераторы и многое
другое. В Level 3 включены интерфейсы прикладного
программирования для загрузки в файлы XML-документов
и сохранения из них, для интегрирования XPath, поддержка
проверки допустимости и другое.
Хотя в целом овладеть DOM гораздо легче, чем SAX, поскольку
в модели DOM не задействованы функции обратного вызова
и сложное управление состоянием, реализации DOM обычно хранят
все узлы XML в памяти, что может быть весьма неэффективно для
больших документов. Несмотря на то, что реализации DOM написаны
на многих языках, модель DOM задумана как независимая
от языка.
Приверженцы того или иного языка часто жалуются на то, что
модель DOM неудобна и не использует сильные стороны
отдельного языка. В результате, появилось множество
ориентированных на языки интерфейсов прикладного
программирования.
Рекомендуемые обучающие руководства и учебные пособия
- Учебное пособие Николаса Чейза «Объяснение DOM» (), опубликованное в рубрике developerWorks
(июль 2003г.).
- В «Учебном пособии» (),
опубликованном на ресурсе W3Schools, рассматривается
использование DOM Level 1 для HTML и XML
в JavaScript-браузерах.
- Разработчикам Perl будет полезна статья «Использование Perl
с XML (часть 1)» (), которая посвящена DOM.
- Разработчики Python могут изучить страницу «Страница
DOM — справочник по стандартной библиотеке Python» ().
Список литературы и другие ресурсы
- На ресурсе ZVON опубликовано отличное руководство
Власть —возможность и способность осуществлять свою волю, воздействовать на деятельность и поведение других людей даже вопреки сопротивлению. Суть власти не зависит от её основы. Способность и возможность достигать своих целей может базироваться на различных методах: демократических и авторитарных, честных и нечестных, насилии и мести, обмане, провокациях, вымогательстве, стимулировании, обещаниях ит.д.,
в котором приводятся многочисленные примеры
на JavaScript по и .
XAPI
В спецификации «Интерфейс
Интерфейс (от англ.interface— поверхность раздела, перегородка)— совокупность средств, методов и правил взаимодействия (управления, контроля ит.д.) между элементами системы. прикладного программирования баз
данных XML» ()) [находится в стадии разработки]
описывается нейтральный по отношению к поставщику
и языку интерфейс прикладного программирования для баз данных
XML. XML: DB — это группа разработчиков инструментов управления
базами данных XML. Спецификация XAPI охватывает вопросы хранения,
извлечения, модификации и задания запросов к данным
в базах данных XML, а также предусматривает поддержку
управления транзакциями. Она похожа на интерфейс ODBC (Open
Database Connectivity interface
Интерфейс (от англ.interface— поверхность раздела, перегородка)— совокупность средств, методов и правил взаимодействия (управления, контроля ит.д.) между элементами системы., открытый интерфейс доступа
к базам данных) и интерфейс JDBC (Java Database
Connectivity, средство организации доступа Java-приложений
к базам данных).
Подобно модели DOM спецификация XAPI определена
с использованием языка IDL (Interface Definition Language, язык
описания интерфейса) консорциум
Консорциум (от лат. Consortium — соучастие, сообщество) — организационная форма временного объединения независимых предприятий и организаций с целью координации их предпринимательской деятельности.а OMG (Object Management Group,
консорциум по технологии манипулирования объектами)
и опубликована в виде редакций (по уровням
функциональных возможностей). Level 0 — это базовый API,
в Level 1 добавлена поддержка XPath (XPathQueryService).
Спецификация XAPI широко используется в инструментах
управления «родными» базами данных XML, особенно с открытым
кодом, как, например, Apache XIndice и SleepyCat Berkeley XML
DB. Помимо спецификации группы XML: DB существует еще несколько
Web-ресурсов, посвященных этой технологии. На странице приведено несколько кратких примеров
Борис Терентьевич Примеров (1июля 1938(19380701)— 5 мая 1995)— советский и российский поэт.
API на языке Java.
XUpdate
В спецификации
[находится в стадии разработки] определяются обновленные
функциональные возможности для модификации данных
в XML-документах. Несмотря на то, что эта спецификация
разрабатывается группой XML: DB, XUpdate предназначен для работы
с регулярными XML-документами, а также
с XML-документами в совокупностях баз данных и даже
с виртуальными моделями данных XML.
XUpdate — это схожий с XSLT словарь
Словарь— книга, информация в которой упорядочена c помощью разбивки на небольшие статьи, отсортированные по названию или тематике. Различают энциклопедические и лингвистические словари. XML,
к которому очень легко обращаться. Подобно XSLT, для обращения
к документу, который необходимо модифицировать, в нем
используются выражения XPath, а также специальные элементы,
которые определяют операции вывода. XUpdate широко реализован,
в основном среди инструментов с открытым кодом, как,
например, системы управления
Управление— воздействие субъекта, направленное на достижение абстрактной (неконкретной), но вынужденно-корректируемой цели (задачи, идеи) в уже сложившихся рамках правил, которые неизбежно-совершенствуются когда субъект непротиворечивее познаёт реальность, с которой сосуществует. базами данных XML и инструментами
для выявления различия между XML-документами и внесения
необходимыз изменений (difference and patching tools).
Черновой вариант документа «Случаи использования XUpdate» () — прекрасное
Прекрасное— центральная эстетическая категория, предмет изучения эстетики как философской дисциплины. Понятие «прекрасное» связано с понятием «красота», однако не тождественно с ним. введение в эту технологию.
Рекомендуемые обучающие руководства и учебные пособия
- Статья Аруна Гейкуода (Arun Gaikwad) «Введение в XUpdate»
() исчерпывающий рассказ о XUpdate
(developerWorks, сентябрь 2002г.).
- В учебном пособии автора данной статьи «Разработка
на Python/XML с помощью 4Suite, часть 4: композиция
и обновления» () содержится раздел, посвященный
XUpdate (developerWorks, октябрь 2002г.).
- Страница «Интерактивный мемо-пример XUpdate» () сайта X-Hive — это
отличный ресурс, позволяющий изучить этот язык экспериментируя
с кодом.
XQuery
В спецификации «XQuery: язык запросов XML» () [находится
в стадии разработки] определяется, как формировать запросы
к источникам данных XML.
XQuery — это в значительной степени язык
программирования, представляющий собой подмножество
Множество— один из ключевых объектов математики, в частности, теории множеств и логики. XPath. XQuery
разрабатывается совместно с XPath 2.0 и вызывает
неоднозначные оценки в свой адрес, поскольку, по мнению
многих, характеризуется излишней сложностью. Спецификации
XQuery 1.0/XPath определяются в многочисленных
редакциях, в которых описывается семантика
Семантика (от др.-греч. — обозначающий)— раздел языкознания, изучающий значение единиц языка. В качестве инструмента изучения применяют семантический анализ. В конце XIX— начале XX века семантика часто называлась также семасиологией (от др.-греч. smaino— указываю, означаю). Учёные, занимающиеся семантикой, до сих пор обычно называются семасиологами. Также «семантикой» может обозначаться сам круг значений некоторого класса языковых единиц (например, «семантика глаголов движения»)., синтаксис
и библиотеки базовых функций:
- В спецификации «Случае использования XQuery» () [находится в стадии разработки] на примерах
рассматриваются сценарии использования XQuery.
- В спецификации «Модель данных XQuery 1.0 и XPath
2.0» () [находится
в стадии разработки] определяется информация, содержащаяся
во входном файле, передаваемом в процессор XSLT
2.0 или XQuery, а также все допустимые значения
выражений в XSLT 2.0, XQuery и XPath 2.0.
- В спецификации «Формальная семантика XQuery 1.0
и XPath 2.0» () [находится
в стадии разработки] приводится формальное объяснение каждого
выражения спецификаций XPath 2.0 и XQuery
1.0 в терминах их модели данных.
- В спецификации «XPath 2.0» () [находится
в стадии разработки] описывается базовый синтаксис XPath 2.0.
- В спецификации «Функции и операторы
XQuery 1.0 и XPath 2.0» () [находится
в стадии разработки] определяются общие задачи обработки,
используемые в выражениях.
- В спецификации [находится
в стадии разработки] описывается базовый синтаксис XQuery
1.0.
- В спецификации «Синтаксис
Синтаксис (от др.-греч. — «построение, порядок, составление»)— раздел лингвистики, изучающий строение предложений и словосочетаний. XML для XQuery
1.0 (XQueryX)» () [находится
в стадии разработки] содержится факультативное
XML-представление XQuery.
- В спецификации «Сериализация XSLT 2.0 и XQuery
1.0» () [находится в стадии
разработки] описывается, как выглядят значения модели данных
в XML, HTML и тексте, фактически в этом документе
указывается, как можно заменить раздел XSLT в выходных данных
процессора.
- Спецификации [находится
в стадии разработки] не входит непосредственно
в семейство XQuery, но тесно связана с XPath 2.0
и XQuery 1.0 и полностью не зависит от первой.
Рекомендуемые обучающие руководства и учебные пособия
- Статья Говарда Катца (Howard Katz) «Введение в XQuery»
() знакомит с XQuery, в ней
также приводятся примеры, скорректированные с учетом
последних изменений в рабочих вариант
Вариант (фр.variante, от лат.varians, родительный падеж variantis — меняющий, изменяющийся) — одна из нескольких редакций какого-либо произведения (литературного, музыкального и т. п.) или официального документа; видоизменение какой-либо части произведения (разночтения отдельных слов, строк, строф, глав).ах спецификаций
(developerWorks, сентябрь 2003г.).
- В статье Николаса Чейза «Обработка XML
с использованием XML Query» () рассказывается о XQuery
и об изменениях в XPath 2.0. Несмотря
на то, что в ней рассматриваются несколько более ранние
версии спецификаций, внесенные в них изменения незначительны,
поэтому автор рекомендует для прочтения и эту статьи
(developerWorks, сентябрь
Сентябрь (лат.September)— девятый месяц Григорианского календаря, один из четырёх григорианских месяцев с 30-ю днями. Сентябрь— начало осени в северном полушарии Земли и начало весны в южном. 2002г.).
- Статья Пера Ботнера (Per Bothner) «Что такое XQuery» (), а также его недавнее ,
освещающее самые последние рабочие
Рабочий класс— социальный класс наёмных работников, не владеющих средствами производства и живущих продажей своей рабочей силы. В индустриальном обществе он составляет большинство населения. При этом от собственно рабочего класса следует отличать всех занятых по найму нефизическим трудом в промышленности (инженеры, бухгалтеры, секретари и т.д), а также наемных работников в торговле и сфере услуг, которые образуют группу служащих. Некоторых работников сферы услуг, занимающихся физическим трудом, при этом обычно относят к рабочему классу (например, водителей и автослесарей), тогда как других (например, официантов и домработниц) обычно к рабочему классу не относят. версии спецификаций.
Список литературы и другие ресурсы
- —
отличный ресурс XQuery, он также включает Wiki, совместный
информационный ресурс и место проведения интерактивных
обсуждений.
SQL/XML
Спецификация
[Международный стандарт ISO/МЭК 9075-14:2003] —
это новый раздел стандарта SQL, в котором охвачено множество
связанных с XML расширений для SQL. Изначально SQL/XML
разрабатывался «Неформальной группой компаний SQLX», в которую
входил IBM, затем эта спецификация перешла под эгиду Американского
национального института стандартов (ANSI —орган стандартизации,
занимающейся SQL). SQL/XML охватывает следующие документы
Документ (от лат.documentum— образец, свидетельство, доказательство) — материальный объект, содержащий информацию в зафиксированном виде и специально предназначенный для её передачи во времени и пространстве .
В узком смысле Документ — облеченный в письменную форму акт, удостоверяющий наличие фактов определенного значения. В широком смысле и книга, и скульптура - документы.
(по словам Эндрю Эйзенберга (Andrew Eisenberg) и Джима
Мелтона (Jim Melton)):
- Спецификации для представления данных SQL (в особенности
строк и таблиц строк, а также выборок и результатов
выполнения запросов) в виде XML и, наоборот.
- Спецификации, связанные с преобразованием схем SQL
в схемы XML и, наоборот. Кроме того, сюда могут входить
преобразования между существующим произвольным XML и схемами
SQL.
- Спецификации для представления схем SQL в XML.
- Спецификации для представления операций SQL (вставить,
обновить, удалить).
- Спецификации для передачи сообщений для XML при использовании
с SQL.
Спецификация SQL/XML имеет очень мало общего с XQuery, хотя
стороны, участвующие в разработке этих спецификаций, обычно
работают совместно.
Список литературы и другие ресурсы
- В статье Эндрю Эйзенберга и Джима Мелтона «SQL/XML
и Неформальная группа компаний SQLX» () рассказывается о спецификации SQL/XML.
- В статье Д. Э. Фандербурка (J.
E. Funderburk), С. Мэлайки (S. Malaika) и Б.
Рейнуолда (B. Reinwald) «Программирование XML с SQL/XML
и XQuery» () (Журнал IBM
Systems, том 41, номер 4, 2002г.)
проводится очень тщательное исследование
Исследование— буквально «следование изнутри», процесс научного изучения чего-либо. всех этих технологий XML
и СУБД.
- Текст рабочей версии спецификации SQL/XML можно заказать
в ISO (или в региональном представительстве этой
организации), однако, если читатель желает получить общее
представление об этом стандарте, автор рекомендует
познакомиться с .
CSS
В спецификации «Каскадные таблицы стилей» () [Рекомендация W3C] описывается, как применять стиль
презентации к разметке. Эта спецификация широко известна
благодаря своему использованию при формат
Формат— стандартизирование формы построения (и подачи) того или иного предмета (объекта), явления или процесса.ировании HTML Web-страниц,
однако после выхода CSS Level 2 она стала подходить и для
представления XML-документов в среде Web. Преобразование
XML-документов в выходную структуру осуществляется
с помощью свойства display. В спецификации «Ассоциирование
таблиц стилей с XML-документами, версия 1.0» () [Рекомендация
W3C] определен стандартный способ связывания XML-документа
с документом таблиц
Богуслав Таблиц (словацк. Bohuslav Tablic (Tablicz); 6 сентября 1769, Ческе Брезово, Словакия — 21 января 1832, Костолне Моравце, Словакия) — чешско-словацкий писатель, священник, деятель возрождения словаков-лютеран, подобно тому как Бернолак является деятелем возрождения словаков-католиков. Таблиц учредил в Пресбурге «Общество чешско-словацкой литературы и языка» с целью издавать на понятном народу чешском языке простонародные и школьные книги. Учреждение этого общества было причиной если не процветания словацкой литературы, то появления в пресбургском лицее кафедры словацкого языка, для чего общество собрало большой капитал. Занять кафедру приглашен был Юрай Палкович. Общество скоро распалось, но кафедра продолжала существовать. Молодёжь имела возможность слушать историю своего народа на родном языке. В 1812 г. Таблиц был одним из основателей нового «Литературного общества Горных Городов» (Bergstdte), задававшегося прежней целью; результатом было открытие кафедры словацкого языка и в Банской Штьявнице. Это общество также скоро распалось. Таблиц писал очень много и по различным специальностям. Первое место занимают его «Poesie» (Вацов, 1806-1812). К ним приложены биографии известных словацких деятелей. Его «Sloventi verovci» (Вацов, 1805-1809) — отрывки из произведений древних словацких писателей, в то время почти уже позабытых. Перу Таблица принадлежит также много книг для народа, изданных двумя упомянутыми обществами.ы стилей CSS.
Рекомендуемые обучающие руководства и учебные пособия
- Статья Саймона Ст. Лорента (Simon St. Laurent) «Демонстрация:
Web-сервисы XML с Mozilla
Mozilla является многозначным термином, который используется по отношению к программам деятельности некоммерческой организации Mozilla Foundation и многим программным продуктам, разработанным в рамках этих программ.» () хотя и старая,
однако освещает основные понятия на примерах в браузере
Mozilla (и сравнение с MSIE 5).
- В «Учебном пособии CSS 2» (),
опубликованном на ресурсе ZVON, объясняется, как использовать
CSS2 для отображения XML-документов.
- В колонке Дэвида Мертца (David Mertz) в рубрике
developerWorks опубликована статья «Использование CSS2 для
отображения XML-документов» (),
в которой на подробных примерах рассказывается
о CSS.
XForms
В спецификации [Рекомендация
W3C], которую не следует путать с одноименной библиотекой
графического пользовательского интерфейса Xwindows, определяются
Web-формы для обработки данных XML, которые могут быть использованы
со множеством платформ в различных медиа-средах. Цель этой
спецификации —отделить предназначение формы
от ее представления. Она разделяет то, что делает форма,
от того, как она выглядит. Это словарь XML, который можно
использовать для разработки пользовательских интерфейсов для
манипулирования содержанием XML. Изначально спецификация XForms
разрабатывалась как часть семейства
Семейство (лат.familia, мн. ч. familiae)— один из основных рангов иерархической классификации в биологической систематике. XHTML, но затем получила
самостоятельное развитие
Развитие— необратимый закономерный процесс, направленный на изменение материальных и идеальных объектов. Изменение материи и сознания, их универсальное свойство, всеобщий принцип объяснения истории природы, общества и познания.. Хотя она более сложная, чем необходимо,
XForms достаточно тщательно проработана для того, чтобы «привнести
порядок в безумный мир Web-форм».
Рекомендуемые обучающие руководства и учебные пособия
- Статья Мика Дубинко (Micah Dubinko) «Что такое XForms» () позволяет получить общее представление об этой
технологии.
- В статье Джоэла Риверы (Joel Rivera) и Лена Тейнга
(Len Taing) «Приготовьтесь: XForms» () на нескольких примерах раскрываются
основы XForms (developerWorks, декабрь 2002г.).
- В статье Николаса Чейза «Объяснение XForms» проводится
() подобнейшее объяснение XForms (developerWorks,
декабрь 2002г.).
SOAP
В спецификации [Рекомендация W3C]
описывается протокол, предназначенный для использования XML для
передачи сообщений между системами, которые связаны с помощью
низкоуровневых Интернет-протоколов. Некоторые пользователи
рассматривают SOAP как основание Web-сервисов XML — набор
технологий для управления и организации взаимодействия систем,
связанных с использованием форматов данных XML
и Интернет-протоколов передачи сообщений.
Первоначально SOAP разрабатывался небольшой группой, состоящей
из частных лиц и различных компаний, в том числе IBM.
Он быстро завоевал популярность, поскольку совпал
с направлением работ над обменом сообщениями XML,
но обеспечил более надежную архитектуру и коммерческую
поддержку. Разработка SOAP перешла под эгиду W3C, после чего
появился SOAP 1.2, который не смотря на множество
архитектурных улучшений, привнес ряд неоднозначны допущений.
Протокол SOAP определяет формат конверта XML, который может
содержать полезную нагрузку псевдо-XML (то обстоятельство, что
фактическая полезная нагрузка сообщения SOAP может только частично
использовать возможности XML, вызывает серьезные нарекания).
Поскольку Web-сервисам необязательно использовать SOAP, большая
группа разработчиков отстаивает предложение о том, что
достаточно просто обмениваться необработанными XML-документами
непосредственно через HTTP — подход продвигаемый под знаменами
«».
Сам REST — это имя, которое дал архитектурному стилю Web
один из его архитекторов, Рой Филдинг (Roy Fielding).
Сторонники применения этого стиля для Web-сервисов утверждают, что
SOAP сложен, ограничивает свою полезную нагрузку XML
и не использует в достаточной степени сильные стороны
Web.
В лагере приверженцев SOAP недавно произошли изменения:
их устремления сместились с корней RPC к тому, что
называется стилем document-literal. В соответствии с этим
стилем, данные, подлежащие передаче, упаковываются в дискретные
типы данных в специальном формате полезной нагрузки XML
(называемом кодированием SOAP). При использовании стиля
document-literal полезная нагрузка XML состоит из более
естественных форматов XML, которые часто более описательны
и удобочитаемы для человека.
The SOAP edifice
На спецификации SOAP базируется огромное число
стандартов — гораздо большее, чем можно описать в этой
статье. Ниже приведены некоторые полезные источники информации:
Один из предшественников SOAP, который до сих пор
широко используется, это стандарт «Удаленный вызов процедуры
на XML» () [Общественный стандарт].
В нем определяются вызовы процедур, закодированные на XML
и переданные по HTTP. Эта спецификация остается
по-прежнему популярной по причине своей простоты
(ее полный текст занимает менее десяти печатных страниц),
а также из-за того, что на многих языка и каркасах
приложений имеются стандартные и готовые реализации
XML-RPC.
Однако, технология XML-RPC обладает рядом существенных
недостатков, включая очень примитивный контроль
Контроль (фр.contrle, от contrerle — список, ведущийся в двух экземплярах, от лат. типов данных
и отсутствие поддержки кодирования символов (удивительный
изъян, если учесть, что в ней используется XML).
Рекомендуемые обучающие руководства и учебные пособия
- На сайте консорциума W3C опубликован материал «Основные
понятия SOAP» (), который автор настоятельно рекомендует для
прочтения, поскольку в нем освещается транспортный формат
XML.
- Для программистов Perl может оказаться интересной статья Пола
Кулченко (Paul Kulchenko) «Краткое введение в SOAP» (), которая вряд ли могла устареть, поскольку
посвящена API, а не транспортному формату.
- Разработчики Python могут изучить страницу «» в рубрике
developerWorks на сайте IBM.
- Автор этой статьи рекомендует использовать стиль
document-literal. Его точку зрения поддерживает Джеймс Маккарти
Маккарти, МакКарти (англ.McCarthy, MacCarthy)— популярная в англоязычном мире фамилия кельтского (ирландского) происхождения. Считается, что фамилия пошла от ирландского короля Кархаха из династии Эоганахтов, скончавшегося в 1045г. Его сына звали Миряях мак Кархах (ирл. Muireadhach mac Carthaigh— Миряях, сын Кархаха).
(James McCarthy) в своей статье «Преимущества использования
стиля document-literal в Web-сервисах» () (developerWorks, июнь
2002г.).
- Статьи Пола Прескода (Paul Prescod) «Web-сервисы второго
поколения» () и «REST и реальный мир» () — отличное введение
в REST, в котором объясняются причины продвижения этого
подхода.
- Программистам Perl, которые интересуются XML-RPC, можно
посоветовать познакомиться со статьями Джоу Джонстона (Joe
Johnston) «Использование XML-RPC для Web-сервисов: введение
Введение — в собственном смысле — предварительные сообщения общего характера, предпосылаемые произведению, обычно научного характера, с целью ввести читателя в курс предмета.
в XML-RPC на Perl» ()
и «Межплатформенное ПО XML-RPC» () (developerWorks, март 2001г.).
- Пользователям Python, желающим узнать о XML-RPC
XML-RPC (сокр. от англ.Extensible Markup Language Remote Procedure Call— XML-вызов удалённых процедур)— стандарт/протокол вызова удалённых процедур, основанный на XML, является прародителем SOAP, отличается исключительной простотой применения. XML-RPC, как и любой другой интерфейс RPC, определяет набор стандартных типов данных и команд, которые программист может использовать для доступа к функциональности другой программы, находящейся на другом компьютере в сети., можно
рекомендовать статью Майка Олсона (Mike Olson) и Юча Огбуджи
«XML-RPC для Python» () (developerWorks, август
Август (лат.augustus— «месяц Октавиана Августа», буквально: «божественный, величественный»)— восьмой месяц года в юлианском и григорианском календарях, пятый месяц староримского года, начинавшегося до реформы Цезаря с марта. Один из семи месяцев, длиной в 31 день. В Северном полушарии Земли является последним, третьим, месяцем лета, в Южном— последним месяцем зимы (эквивалент февраля Северного полушария). 2002г.).
- На странице Эрика Кидда (Eric Kidd) «» обсуждается, как использовать этот протокол
в языке Java, C, C++, Perl, Ruby и .NET.
WSDL
Согласно официальному определению, спецификация «Язык описания
Web-сервисов (WSDL), версия 1.2» () [находится в стадии
разработки] это «формат XML, предназначенный для описания сетевых
сервисов в виде конечных точек, обрабатывающих сообщения,
которые содержат ориентированную на документ, либо
на процедуру информацию». В этой спецификации на ряде
уровней абстрагирования определяются компоненты сквозной передачи
в Web-сервисе. Изначально WSDL разрабатывался как совместный
проект IBM и Microsoft, но затем был передан в W3C
с целью разработки WSDL 1.2. Язык WSDL обычно позиционируется
вместе с SOAP, как базовая технология Web-сервисов,
но он может быть использован для описания других
протоколов помимо SOAP.
Рекомендуемые обучающие руководства и учебные пособия
- Статья Билала Сиддикви (Bilal Siddiqui) «Развертывание
Web-сервисов с WSDL» (), опубликованная в рубрике
developerWorks на сайте IBM, посвящена ранней версии WSDL
(декабрь 2002г.).
Продолжение следует
В этой статье были рассмотрены наиболее важные
XML-стандарты, используемые при разработки приложений.
В следующей статье речь пойдет о наиболее значимых
словарях XML.
Ресурсы
- В первой статье
этой серии () Юч Огбуджи рассматривает базовые
XML-технологии (developerWorks, январь 2004г.).
- .
- Книга Эллиотта Расти Хэрольда «Библия XML, второе издание» () (издательство
Издательство— предприятие (государственное, общественное, кооперативное или частное) - медиа-компания, которая работает в области литературы, искусства, музыки или науки, и продукция которой может воспроизводиться и распространяться. Распространение издательской продукции может осуществляться через каналы торговли, Интернет, а также непосредственно самим издателем. Распространение может быть как платным, так и бесплатным, в зависимости от целей существования издательства и от его бизнес-модели.
John Wiley & Sons, 2001г.) — наиболее
полный и исчерпывающий источник информации об XML.
- Web-сайты наиболее значимых организаций, занимающихся
разработкой XML-стандартов:
- Сайт консорциума
World-Wide Web (W3C (World Wide Web Consortium)).
- Сайт Организации
по стандартизации структурированной информации (OASIS
(Organization for the Advancement of Structured Information
Standards)).
- Сайт Международной
организации по стандартизации (International Standards
Organization, ISO), особенно той его части, где находится
информация о проекте DSDL (ISO/IEC 19757 — Document
Schema Definition Languages (DSDL)).
- Статья Саймона Ст. Лорента (Simon St. Laurent) «Знакомство
с W3C, мнение не члена организации» () написана в форме часто задаваемых
вопросов, в которых освещаются многие аспекты деятельности
этой организации.
- Ресурс Робина Кавера (Robin Cover) «» содержит
информацию практически обо всех существующих XML-технологиях.
- Новости сайта ,
в редактировании которых нередко участвует автор этой статьи.
- Ряд ресурсов, посвященных XML, в разделе XML (рубрика
Классификатор, или (от лат.classis— разряд и facere— делать)— систематизированный перечень наименованных объектов, каждому из которых в соответствие дан уникальный код. Классификация объектов производится согласно правилам распределения заданного множества объектов на подмножества (классификационные группировки) в соответствии с установленными признаками их различия или сходства. Применяется в Автоматизированных системах управления и обработке информации. Классификатор является стандартным кодовым языком документов, финансовых отчётов и автоматизированных систем.
developerWorks) (), включая колонку автора этой статьи «Размышление
о XML» ().
- База данных IBM обеспечивает
не только хранение реляционной базы данных,
но и инструменты, связанные с XML, как например , который обеспечивает связь между XML
и реляционными системами. В разделе рубрики
developerWorks содержится подробная информация о DB2.
- На странице
приведена информация о том, как стать сертифицированным
разработчиком XML.
Об авторе
Юч Огбуджи (Uche Ogbuji) - консультант и один из
основателей ,
компании
Юридическое лицо— созданная и зарегистрированная в установленном законом порядке организация, которая имеет в собственности, хозяйственном ведении или оперативном управлении обособленное имущество и отвечает по своим обязательствам этим имуществом, может от своего имени приобретать и осуществлять имущественные и личные неимущественные права, нести обязанности, быть истцом и ответчиком в суде. Юридические лица должны иметь самостоятельный баланс или смету., занимающейся поставками программного обеспечения и
предоставлением консалтинговых услуг в области XML-решений для
корпоративного управления знаниями. Fourthought разрабатывает
, платформу с открытым
исходным кодом, для XML, RDF и приложений по управлению
знаниями. Юч Огбуджи - инженер
Инженер (фр.ingnieur, от лат.ingenium— способность, изобретательность)— специалист с высшим техническим образованием, создатель информации об архитектуре материального средства достижения цели и его функциональных свойствах, способа (технологии) изготовления этого средства (продукта), равно как самого средства и материального воплощения цели, и осуществляющего руководство и контроль за изготовлением продукта. в области вычислительной
техники, он родился в Нигерии, сейчас живет и работает в
Боулдер-Сити (Boulder), штат Колорадо, США. С ним можно
связаться по адресу uche.ogbuji@fourthought.com.