Введение в экспертные системы

При подготовке материала автор старался прежде всего учесть интересы и пожелания читателей четырех основных категорий:
  • рядовых читателей, желающих познакомиться с новым классом информационных систем на достаточно высоком теоретическом и техническом уровне;
  • преподавателей и студентов, которым необходимо учебное пособие, охватывающее все основные темы исследования и проектирования экспертных систем, причем глубина изложения материала должна соответствовать программам старших курсов вузов и первого года обучения в аспирантуре;
  • инженеров-программистов, нуждающихся в практическом руководстве по экспертным системам, подкрепленном достаточно солидным теоретическим материалом;
  • научных работников и студентов, активно занимающихся научной работой, которых особенно интересует обзорный материал, касающийся новейших тенденций в разработке систем такого рода.
Это введение послужит методическим руководством для каждой из перечисленных категорий

Введение
Язык CLIPS послужит вам удобным инструментом для выполнения упражнений, поскольку он не требует разработки модулей кода значительного объема.
Для аспирантов, интересующихся проблемами искусственного интеллекта, особый интерес представляет материал следующих глав.

Что такое экспертная система?
Экспертная система может полностью взять на себя функции, выполнение которых обычно требует привлечения опыта человека-специалиста, или играть роль ассистента для человека, принимающего решение. Другими словами, система (техническая или социальная), требующая принятия решения, может получить его непосредственно от программы или через промежуточное звено — человека, который общается с программой. Тот, кто принимает решение, может быть экспертом со своими собственными правами, и в этом случае программа может "оправдать" свое существование, повышая эффективность его работы.

Обзор исследований в области искусственного интеллекта
Что такое искусственный интеллект? Барр и Файгенбаум предложили следующее определение, которое никем не оспаривается почти два десятка лет [Barr and Feigenbaum, 1981]. "Искусственный интеллект (ИИ) — это область информатики, которая занимается разработкой интеллектуальных компьютерных систем, т.е. систем, обладающих возможностями, которые мы традиционно связываем с человеческим разумом, — понимание языка, обучение, способность рассуждать, решать проблемы и т.д."

Представление знаний
В этой главе описана одна из первых экспертных систем, MYCIN, при разработке которой была предпринята попытка отойти от традиции использования "обобщенного решателя проблем". Система построена на основе относительно несложного алгоритма поиска, значительно более простого, чем описанный в предыдущей главе алгоритм А. Возможности программы определяются не столько реализованным в ней алгоритмом поиска, сколько методикой представления знаний, специфических для той области, в которой предполагалось использовать систему, а именно — в лечении заболеваний крови.

Символические вычисления
Прежде чем приступить в обсуждению специализированных языков представления знаний, остановимся на более общей теме языков программирования задач искусственного интеллекта. В этой главе мы не задавались целью научить читателя пользоваться определенным языком, а стремились познакомить с некоторыми темами, касающимися представления и управления, которые имеют отношение к программной реализации экспертных систем. Интересно отметить, что широко распространившийся в современной практике создания программного обеспечения объектно-ориентированный подход к анализу и разработке должен привести к определенному сближению методик решения проблем, предполагающих использование идей искусственного интеллекта и не предполагающих такового. Кроме того, представление приложения как совокупности взаимодействующих относительно автономных модулей очень близко к подходу, реализуемому методами искусственного интеллекта.

Системы, основанные на знаниях
В области искусственного интеллекта и в современной психологии утверждение, что разумное поведение направляется правилами, превратилось уже в аксиому. Даже в "большом" мире люди склонны связывать уровень интеллектуальности со следованием правилам, и мы все чаще при объяснении разумности обращаем внимание на то, насколько при этом соблюдаются правила. Возьмем для примера манеру разговаривать на естественном языке. Мы все ведем себя так, как если бы обладали знанием всех правил того языка, на котором говорим, например английского, хотя, конечно, мы знаем далеко не все. (Любой, кто запишет эти правила, может рассчитывать на ослепительную карьеру в лингвистике.)

Ассоциативные сети и системы фреймов
Следуя Нильсону [Nilsson, 1982], я буду использовать термин структурированный объект по отношению к любой схеме представления, базовые блоки которой аналогичны узлам и дугам в теории графов или слотам и заполнителям структур записей. Я буду систематически сравнивать этот вид представления со схемами, производными от правил формальных грамматик или формализмов разнообразных логик. Представление с помощью структурированных объектов является весьма удобным средством для группирования информации более или менее естественным путем.

Объектно-ориентированное программирование
За последние 20 лет было разработано довольно много языков для представления знаний, причем большинство из них можно отнести к классу объектно-ориентированных. Как и в случае с использованием концепции фреймов, основная идея состоит в том, чтобы заключить данные и связанные с ними процедуры в некие структуры, объединенные механизмом наследования. Отличие от формализмов, описанных в предыдущей главе, состоит в том, что процедуры могут наследоваться (и комбинироваться) точно так же, как и данные, а объекты могут взаимодействовать друг с другом напрямую или посредством специальных протоколов обмена сообщениями.

Логическое программирование
Еще в конце 1970-х годов стала отчетливо просматриваться тенденция к использованию в исследованиях в области искусственного интеллекта "формальных" методов, т.е. основанных на аппарате математической логики. Эти методы противопоставлялись более интуитивным и менее формализованным эвристическим методам, скажем, таким, которые были использованы в системе MYCIN. Для того чтобы стало ясно, что все это значит, нужно познакомить вас с логическими языками, а затем показать, как соотносятся их свойства с теми методами рассуждений, которые должны поддерживать типовые экспертные системы.

Представление неопределенности знаний и данных
Во многих реальных приложениях приходится сталкиваться с ситуацией, когда автоматический решатель задач имеет дело с неточной информацией. В этой главе мы рассмотрим основные идеи, касающиеся количественной оценки неопределенности и методов формирования нечетких суждений. В главах 11-15 будет продемонстрировано, как такие методы используются на практике. В настоящей главе речь пойдет в основном о теоретических аспектах представления неопределенности и о том, почему в исследованиях по искусственному интеллекту такое большое внимание уделяется этим проблемам.

Приобретение знаний
Термин приобретение знаний носит обобщенный характер и совершенно нейтрален к способу передачи знаний. Например, передача может осуществляться с помощью специальной программы, которая в процессе обработки большого массива историй болезни устанавливает связь между симптомами и заболеваниями. А вот термин извлечение знаний (knowledge elicitation) относится именно к одному из способов передачи знаний — опросу экспертов в определенной проблемной области, который выполняется аналитиком или инженером по знаниям. Последний затем создает компьютерную программу, представляющую такие знания (или поручает это кому-нибудь другому, обеспечивая его всей необходимой информацией).

Эвристическая классификация (I)
Если уж технология экспертных систем должна иметь солидный теоретический базис, то необходимо представлять себе, почему эта технология оказывается работоспособной при решении одних задач и неработоспособной при решении других. С практической точки зрения ответы на поставленные вопросы помогут разработчикам экспертных систем принять правильное решение и таким образом избавят их от крушения надежд и разочарования, которыми часто сопровождается ошибочный выбор. В этой главе читатель найдет следующий материал.

Эвристическая классификация (II)
Мы начали обсуждение методов решения проблем с эвристической классификации по той причине, что этот метод наиболее понятный. В следующих главах будут рассмотрены другие, более сложные методы, и вы сможете сравнить их. Но в этой главе мы будем считать, что метод решения проблем выбран, а наша задача — проанализировать процесс выбора инструментальных средств для проектируемой экспертной системы и средств приобретения знаний.

Иерархическое построение и проверка гипотез
В данной главе будут рассмотрены три системы, реализующие комбинированный метод решения проблем, который получил в литературе наименование иерархического построения и проверки гипотез (hierarchical hypothesize and test). С методом эвристической классификации этот метод сходен в том, что в нем используется отображение множества абстрактных категорий данных на множество абстрактных категорий решений, но этот подход усложнен тем, что элементы решений могут комбинироваться и объединяться в составные гипотезы. Цель такого усложнения — построение гипотезы, которая могла бы объяснить все симптомы и признаки анализируемой ситуации.

Решение проблем конструирования (I)
Можно рассматривать задачу решения проблемы конструирования и в терминах ограничений — сформировать такое решение, которое удовлетворило бы некоторым общим требованиям к качеству и при этом не противоречило бы ни одному из специальных правил, отвергающих определенные элементы решения или их комбинации.

Решение проблем конструирования (II)
В предыдущей главе мы рассматривали экспертные системы для решения проблем конструирования, в которых по ходу процесса никогда не возникала необходимость отмены уже принятых решений. Однако такая стратегия подходит далеко не для всех задач конструирования, поскольку мы не всегда располагаем всеми необходимыми для этого знаниями о предметной области. В этой главе мы проанализируем применение двух стратегий — наименьшего принуждения (least commitment) и предложение и пересмотр (propose and revise). Завершит главу обзор некоторых инструментальных средств приобретения знаний, которые используются в системах решения проблем конструирования.

Средства формирования пояснений
Эту главу мы начнем с краткого обзора ранних работ, касающихся включения в экспертные системы специальных средств, формирующих для пользователя информацию о ходе рассуждений (в дальнейшем для краткости мы будем называть ее поясняющей информацией). Затем более детально будут рассмотрены средства формирования пояснений экспертной системы CENTAUR, о которой уже упоминалось в главе 13. И в заключение мы обсудим одно из последних исследований в этой области, выполненное в рамках проекта Explainable Expert Systems, в котором основное внимание было уделено обеспечению прозрачности экспертной системы с точки зрения инженеров по знаниям, т.е. была предпринята попытка рассмотреть в комплексе вопросы формирования поясняющей информации и извлечения знаний.

Инструментальные средства разработки экспертных систем
Как и в предыдущих главах, при необходимости проиллюстрировать те или иные методы программирования мы пользуемся языком CLIPS, хотя вы встретите и несколько фрагментов программ на других языках. Более сложные и специализированные инструментальные средства, в частности системы с доской объявлений и системы обработки правдоподобия, будут детально рассмотрены в главах 18 и 19. В этой же главе мы представим общие тенденции в разработке и использовании инструментальных средств для построения экспертных систем.

Системы с доской объявлений
В последние годы в разработке архитектуры экспертных систем появилось новое направление, которое получило название системы с доской объявлений (blackboard sys-tems)u. Системы с такой архитектурой могут эмулировать режим построения как прямой цепочки логического вывода, так и обратной, а также попеременно применять эти режимы в процессе работы. Кроме того, применение систем с доской объявлений побуждает инженеров по знаниям к иерархической организации и знаний относительно предметной области, и пространства частичных и полных решений. Таким образом, эта архитектура очень хорошо подходит для решения задач проектирования, для которых характерно большое, но факторизуемое многомерное пространство решений. Системы с подобной архитектурой уже успешно применяются для интерпретации данных (например, распознавания графических изображений и речи), анализа и синтеза многокомпонентных структур (например, структуры протеинов) и планирования.

Система отслеживания истинности предположений
В этой главе мы в общих чертах представим вычислительные методы, которые используются для отслеживания зависимостей между представлением в программе состояний, действий и предположений. Начнем мы с относительно простых систем, затем перейдем к более сложным. Там, где без этого можно обойтись, мы будем пренебрегать строгими математическими формулировками и заменять их менее формальным описанием того, что делается в системе, почему делается именно так и какую пользу из этого можно извлечь.

Формирование знаний на основе машинного обучения
За последние 10 лет в области исследования методов формирования знаний на основе машинного обучения (в дальнейшем для краткости мы будем употреблять термин машинное обучение — machine learning) наблюдается бурный прогресс. Но мы не будем в этой главе делать широкого, а следовательно, и поверхностного обзора имеющихся работ, а сконцентрируемся на тех методах, которые имеют прямое отношение к проблематике экспертных систем

Сети доверия
В этой главе мы рассмотрим два количественных метода реализации логических рассуждений при наличии неопределенности в структурированном пространстве гипотез, базирующихся на теории свидетельств Демпстера—Шефера [Gordon and Shortliffe, 1985] и Байесовском формализме [Pearl, 1986]. Каждый из этих подходов предполагает, что на множестве гипотез каким-то способом определена функция доверия (belieffunction), а затем по мере накопления новых свидетельств применяется специфический механизм обновления текущего множества допущений.

Рассуждения, основанные на прецедентах
Если прецедент — это модуль знаний, который может быть считан программой, то в чем его отличие от других способов представления знаний, множество которых мы уже рассмотрели в этой книге? Самый короткий ответ на этот вопрос — прецедент, как правило, реализуется в виде фрейма (см. главу 6), в котором структурированы информация о проблеме, решение и контекст. Так же, как фрейм или порождающее правило, описание прецедента может быть сопоставлено с данными или описанием цели. Но для извлечения описания прецедента из базы таких описаний используется совсем другой механизм, чем для извлечения фрейма или порождающего правила.

Гибридные системы
Системы, которые мы рассмотрим в этой главе, ознаменовали дальнейшее продвижение по этому пути — в них объединяются традиционные программы решения проблем и компоненты самообучения и критического анализа. Система ODYSSEUS [Wilkins, 1990] способна обучаться тому, как уточнять базу знаний. Для этого используются две разные методики: одна основана на анализе прецедентов, а вторая — на анализе пояснений. Обе методики являются сравнительно новыми, и читатель сможет вкратце ознакомиться с ними в данной главе. Далее будет описана программа, в которой логический вывод на основе прецедентов используется для обработки исключений из правил, а основным инструментом решения проблем являются порождающие правила.

Заключение
В этой главе мы еще раз вспомним темы, рассмотренные в данной книге, и порекомендуем, что нужно прочесть тем, кто пожелает еще глубже изучить их. Обзор организован таким образом, что в нем в сжатом виде будет суммирован материал, разбросанный по разным разделам. В ходе изложения тех или иных тем вам встретятся ссылки на предыдущие главы, но я старался не злоупотреблять ими. В этой главе представлены некоторые прогнозы дальнейших путей развития исследований в области искусственного интеллекта и, в частности, экспертных систем, которые могут послужить материалом для последующей очной или заочной дискуссии. Эти прогнозы представляют мое личное мнение, если только не оговорено обратное, и читатели вольны отнестись к ним с известной долей скептицизма.

Программирование на языке CLIPS
Это Приложение организовано следующим образом. В разделе А.2 рассмотрены основные функции языка описания правил и процедурного языка. В разделе А.З представлены методы работы с объектами и показано, как использовать их в сочетании с правилами и процедурами. В разделе А.4 описан пример, демонстрирующий некоторые приемы программирования правил, а в разделе А.5 резюмируются характеристики этого программного продукта и предлагаются темы для более углубленного изучения.




XML - статьи

Интеграция разнородных гетерогенных данных является одной из старейших задач в области разработки баз данных и информационных систем. Кратко, проблема может быть сформулирована следующим образом.
Предположим, имеются несколько гетерогенных источников данных, которые каким-то образом связаны на логическом уровне. Имеется задача предоставить программное обеспечение, которое обеспечивало бы возможность унифициро-ванного доступа к этим данным, как будто бы они имели единое логическое и физическое представление. Мы не будем обосновывать очевидную важность этой проблемы.
Существуют два фундаментальных подхода к решению этой проблемы. Первый подход связан с построением хранилищ данных, когда интегрируемые данные из разных источников трансформируются в соответствии с целевой моделью данных и помещаются в одну локальную базу данных.

Архитектура и структура системы
При возрастающем интересе к решению проблемы интеграции распределенных и разнородных источников данных виртуальный подход представляется перспективным и многообещающим. В своей общей постановке эта проблема исключительно сложна, и до сих пор ее решению уделялось недостаточное внимание. Однако быстрое развитие XML - многофункционального формата представления данных - и языков запросов к XML-данным, таких как XQuery, позволяет по-новому взглянуть на старую проблему.

Что такое язык BPML
Язык BPML дополняет язык реализации бизнес-процессов (Business Process Execution Language, сокр. BPEL). BPML может использоваться для определения детальных бизнес-процессов, исполняемых при вызове каждого web-сервиса. BPML преобразует ("мэппирует") бизнес-операции в обменные сообщения. Этот язык может использоваться для определения корпоративных бизнес-процессов, комплексных web-сервисов и многостороннего сотрудничества.

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

Рабочая группа
GraphML создается многими людьми, находящимися в различных местах. Наравне с другими текущую работу координируют: Ulrik Brandes (University of Konstanz); Markus Eiglsperger; Michael Kaufmann (University of Tbingen); Jrgen Lerner (University of Konstanz); Christian Pich (University of Konstanz). В консультативную группу входят: Ivan Herman (CWI); Stephen North (ATT Research); Roberto Tamassia (Brown University).

Язык MDDL - "освободитель" данных о рынках
Возможно, наши читатели уже слышали о формате обмена информацией на основе XML, который называется Market Data Definition Language (язык определения данных о рынках, сокр. MDDL). Предлагаем вам ознакомиться с этим форматом подробнее.

Разоблачение мифов и заблуждений о XQuery
Язык XQuery выглядит очень перспективным для архитекторов и разработчиков программного обеспечения, поскольку он позволяет существенно сократить написание программного кода, необходимого для создания сервисов, работающих с XML. Некоторые думают, что XQuery способен на все и хорошо понимаем, но среди разработчиков программного обеспечения все еще существует немало неправильных представлений и заблуждений относительно этого языка.

Международная организация OASIS: сообщество рабочих групп
Organization for Structured Information Standards (OASIS, Организация по стандартизации структурированной информации) - международный, некоммерческий консорциум, объединяющий в своих рядах более 600 корпоративных и индивидуальных членов из различных стран мира. Вместе с ООН OASIS финансирует проект ebXML, спецификацию обмена данными электронного бизнеса

Структура класса повторяет структуру XML-документа
Подход был разработан при реализации классов C++ для работы с XML-документами специализированных форматов. Библиотека была предназначена для проектов Qt, поэтому предлагаемый способ также опирается на средства Qt. Соответственно, приводимые здесь примеры взяты из упомянутого проекта. Но, поскольку интерфейс SAX хорошо стандартизован, этот подход можно перенести на другие реализации SAX-анализатора

PMML: возможности data mining для всех?
PMML - это XML-диалект, который используется для описания статистических моделей и моделей data mining. Его главное преимущество заключается в том, что PMML-совместимые приложения позволяют легко обмениваться моделями данных с другими PMML-инструментами. Разработка и внедрение PMML осуществляется IT-консорциумом Data Mining Group.

Профилирование XML-схемы
XML-схеме уже пять лет, из «новорожденного младенца» эта спецификация превратилась в довольно энергичного «юношу». Что же нам известно о нем? С самого начала было ясно, что явление это сложное. И действительно, исходные дебаты том, стоит ли сделать эту спецификацию Рекомендации, уже выявили проблему. (См. материалы «Последнее слово» и «Опрос разработчиков XML-схем»). Этот богатый инструментарий поставил перед разработчиками задачу выбора тех функций, которые им нужно (или не нужно) использовать

Выражение семантики данныхRDF против XML
При всевозрастающем объеме электронной информации давно и остро стоит задача ее представления в формате, понятном не только человеку, но и интеллектуальной программе. Этот текст является обзорной частью более общей работы, возникшей в результате моего интереса к технологии RDF. Возможно, он будет интересен и полезен кому-нибудь еще.

Что такое RSS?
RSS это формат, предназначенный для публикации новостей на новостных и подобных им сайтах, начиная от таких ведущих новостных сайтов, как Wired, Slashdot, и кончая личными сетевыми дневниками (weblog-ами). Но по сути, публиковать можно не только новости. Практически любой материал, который можно разделить на отдельные части, можно публиковать с помощью RSS: например, объявления о последних публикациях в "wiki", информация об обновлениях в CVS, история изменений, внесенных в книгу.

RSS - новости с доставкой на дом
С каждым днём всё больше людей используют RSS для чтения новостей и, соответственно, всё больше сайтов применяют эту технологию для распространения контента. Что же такое RSS? Рассмотрим этот вопрос с точки зрения посетителя и владельца сайта.

Принципы проектирования XML-схем: нужны ли производные сложные типы
Несмотря на то, что в спецификации консорциума W3C XML Schema содержится ряд конструкций, напоминающих понятия объектно-ориентированного программирования - в том числе определение производных типов и полиморфизм, реальная практика показывает, что они скорее усложняют схемы, обладая трудно уловимой взаимосвязью, которая чревата возникновением серьезных проблем, и зачастую могут быть заменены другими конструкциями XML Schema.

XML-Схема часть 0: пример
Данный документ представляет собой перевод спецификации "XML Schema Part 0: Primer" на русский язык. При этом нормативным документом считается оригинальная спецификация на английском языке, которую можно найти по адресу . Представленный документ может содержать ошибки перевода.

Инициатива SDMX: новые подходы к обмену статистическими данными
Всплеск активности в области стандартизации данных начался с появлением компьютеров в 1953 г. Вначале эта деятельность ограничивалась созданием внутренних стандартов кодирования статистических данных, а в конце 20-го века, с развитием недорогих электронных средств коммуникации, на первый план вышла задача разработки стандартов для электронного обмена информацией. Первыми здесь оказались коммерческие корпорации - авиакомпании и банки, за ними последовали и организации государственного сектора.

SDMX-ML - XML-формат обмена статистическими данными и метаданными
В статье было рассказано о появлении нового стандарта для обмена статистическими данными и метаданными - SDMX (Statistical Data and Metadata Exchange). Предлагаемый ниже материал посвящен техническим деталям нового стандарта - описанию его основных конструкций и понятий; в нем также приводится фрагмент кода. Первая версия стандарта SDMX выпущена в двух вариантах - на основе XML и синтаксиса EDIFACT1.

Будущее Web - за семантикой
Общее определение понятия семантика - это изучение значений. (Слово семантика происходит от греческого понятия semantikos, т.е. "важное значение", а в основе последнего лежит слово sema, т.е. знак). Семантические технологии Web помогают выделять полезную информацию из данных, содержания документов или кодов приложений, опираясь на открытые стандарты. Если компьютер понимает семантику документа, то это не означает, что он просто интерпретирует набор символов, содержащихся в документе.

"Подчистите" свою схему для SOAP
Во все большем числе проектов используются XM-схемы для определения структуры данных. По мере роста репозитория схем, становится очевидной потребность в инструментальных средствах, предназначенных для манипулирования и управления схемами. Модель Eclipse XSD Schema Infoset обладает широкими возможностями построения запросов и редактирования.

Фрагмент кода разработанной таксономии
Сегодня как никогда прежде актуальным становится вопрос стандартизации процессов представления информации и обмена данными, а также совместимости различных систем и сервисов. Во всем мире этому вопросу уделяется очень большое внимание - как на государственном уровне, так и в среде технологических компаний.

Обзор XML-стандартов, Базовые XML-стандарты- основа основ
С момента своего появления язык XML зарекомендовал себя с самой лучшей стороны, поэтому довольно быстро получил широкое распространение. Он оказался чрезвычайно полезной технологией, которая, однако, может оказаться весьма непростой для понимания— если попытаться рассмотреть все, что попадает под определение «XML». В этой серии статей автор кратко рассмотрит наиболее важные, по его мнению, XML-технологии ирасскажет, какое место в мире XML занимает каждая из них.

Хранение XML данных (Storing XML Data)
Используя CLOB XMLType, XML документы хранятся как CLOB'ы c установкой XML интерфейсов, предоставляемых XMLType. Не смотря на то, что перед загрузкой данных можно опционально запустить любой XML процесс, например, ввод данных XML в XML схему или DTD, размещение CLOB XMLType не нуждается ни в каком XML процессе, за исключением проверки формальной правильности и разрешения существования.

"Распутывание" URI, URL и URN
В области управления информацией существует устойчивое противоречие между постоянством и доступностью. Это противоречие привело к появлению отдельных технологий для унифицированных имен ресурсов (Uniform Resource Names - URN) и унифицированных указателей информационных ресурсов (Uniform Resource Locators - URL). При этом универсальные идентификаторы ресурсов (Uniform Resource Identifiers - URI) созданы для того, чтобы выполнять функции и постоянных имен, и доступных ресурсов.

Определение совместимости
Язык XML предназначен для создания языков, основанных на самодокументированной разметке. Неизбежное развитие этих языков называется управлением версиями. Управление версиями подразумевает добавление, удаление или изменение частей языка. На практике управление версиями - это чрезвычайно сложная задача в теории вычислительной техники, имеющая длинную историю безуспешных проб и ошибок.

Международный консорциум W3C: от Рабочего проекта до Рекомендации
Начиная рассказ о процедурах принятия стандартов, мы хотели бы подчеркнуть, что в настоящий момент "на ниве стандартизации" плодотворно трудится целый ряд различных международных и национальных органов, включая такую авторитетную организацию, как ISO (International Standards Organization, Международная организация по стандартизации). То, что мы остановились на W3C и OASIS (см. следующую статью), объясняется исключительно XML-направленностью данной рубрики

Windows Installer XML: создание файлов инсталляции
WiX, Windows Installer XML — это набор инструментов для создания пакетов инсталляции Windows из XML-кода. Инсталляторы, как известно, служат для установки дистрибутива. А дистрибутив, как известно, состоит из объектов, таких как исполняемые файлы, ресурсы, библиотеки, ключи системного реестра, а также из интерактивных диалогов, с помощью которых пользователь может задать параметры инсталляции, вроде каталога приложения или состава устанавливаемых компонент.

Импорт формата полезной нагрузки
При использовании в Web-сервисе стиля document/literal схемы форматов обмена данными часто опираются на существующий стандарт документа. Это может вызвать проблемы с синхронизацией WSDL-файлов со стандартными схемами. В этой статье показано, как использовать XInclude, чтобы включить в WSDL-файл фрагменты внешней схемы.

Что нового в WSDL 2.0
Как известно, одним из направлений деятельности международного консорциума W3C является программа по разработке и продвижению технологий Web-сервисов (), в рамках которой рабочая группа занимается определением языка описания Web-сервисов и возможных способов взаимодействия с сервисами. 26 марта 2004г. рабочая группа обнародовала черновой вариант спецификации WSDL 2.0.

Предварительное знакомство с WS-I Basic Profile 1.1
Организация по развитию возможности взаимодействия Web-сервисов) объявили о выходе окончательной версии спецификации Basic Profile 1.0 - набора рекомендаций о том, как использовать стандарты Web-сервисов, чтобы улучшить совместимость. Для разработчиков, пользователей и поставщиков Web-сервисов и инструментов Web-сервисов это большой шаг вперед в достижении совместимости в стремительно развивающемся мире Web-сервисов.

Финансовые отчеты: структура и данные
Элементы финансового отчета (например, оборотные фонды и основные средства) имеют определенные наименования, смысл которых не меняется в рамках используемого бухгалтерского стандарта (например, US-GAAP - generally accepted accounting principles (общепринятые принципы бухгалтерского учета)). XBRL определяет элементы с помощью XML-схемы и баз связей, которые опираются на спецификацию XLink (XML Linking Language - язык связей XML).

Язык запросов к совокупности XML-документов
Современные практические приложения часто характеризуются большим многообразием хранимых и обрабатываемых ресурсов, для которых возникает желание специфицировать семантику их родства в виде системы межресурсных связей. Мощным и гибким решением данной задачи является язык ссылок XML (XML Linking Language- XLink)[], позволяющий описывать взаимосвязи между ресурсами в виде ссылок, с использованием XML и отдельного пространства имен.

Связи в XML: XLink
Можно сказать, что простые связи в большей или меньшей степени напоминают связи HTML. Расширенные связи значительно превосходят связи HTML с точки зрения предоставляемых возможностей: они включают многонаправленные связи между многочисленными документами и внешние (out-of-line) связи. Расширенная связь состоит из набора ресурсов и их соединений.

Управление данными XML: подходы к определению документов XML
Название файла XML не обязательно должно иметь расширение .xml. Более того, документ XML даже не всегда может быть файлом. Он может представлять собой запись базы данных, часть файла, транзитный поток байтов в памяти, который даже не записывается на диск, или комбинацию нескольких различных файлов. Но многие документы XML все же хранятся на дисках или других носителях. В таком случае необходимо иметь возможность быстро их различать.

Элементы или атрибуты?
В этой статье журналист раздела developerWorks Дэвид Мертц дает рекомендации о том, когда для представления данных использовать атрибуты тегов, а когда вложенные элементы. Вы узнаете о том, что необходимо учитывать при проектировании DTD, схемы или просто нерегламентируемого XML-формата. Наконец, для вас станет очевидным, когда атрибуты и вложенные элементы взаимозаменяемы, а когда нет. Рассматриваемые вопросы иллюстрируются примерами кода.

Стоит ли отменять пространства имен XML?
Как показывает опыт, пространства имен XML часто становятся причиной замешательства, а также одним из основных факторов, осложняющих освоение XML. В предлагаемой статье автор заявляет, что пространства имен XML не могут предложить хорошего решения тех проблем, для которых они изначально создавались; они также не являются необходимым элементом в большинстве случаев практического использования XML. Он рекомендует исключить пространства имен из употребления или существенно сократить их использование.

XML-RPC: вызов процедур посредством XML
RPC - удаленный вызов процедур с помощью XML. Сама методика удаленного вызова процедуры известна давно и используется в таких технологиях, как DCOM, SOAP, CORBA. RPC предназначен для построения распределенных клиент-серверных приложений. Это дает возможность строить приложения, которые работают в гетерогенных сетях, например на компьютерах различных систем, производить удаленную обработку данных и управление удаленными приложениями.

XML-стандарты: работа не прекращается
Одним из потрясающих достоинств языка XML, которое как ни странно упоминается достаточно редко, является удивительная "бизнес-гибкость" XML, появляющаяся в том, что XML постоянно находит новое практическое применение. Очевидно, в значительной мере именно поэтому и продолжается деятельность международных организацией, занимающихся разработкой различных XML-спецификаций.

Ориентированные на приложения методы хранения XML-данных
Для реализации предлагаемого подхода необходимо решить две основные задачи: разработать методы выбора структур хранения для наперед известной и неизменной рабочей нагрузки; разработать методы реорганизации структур хранения на случай изменения рабочей нагрузки. Как мы уже отмечали выше, предполагается, что для большинства приложений рабочая нагрузка (то есть запросы и операции модификации) известна заранее и не подвержена частым изменениям.

Структурные ограничения XML
Расширяемый Язык Разметки (XML) становится в последнее время доминирующим стандартом представления и обмена данными в Интернете. Подобно языку HTML, XML является поднабором языка SGML. Однако существует набор фундаментальных отличий XML от других языков разметки, одно из которых заключается в том, что разметка документа является семантической.

Что следует знать об этих спецификациях
Данная статья посвящена спецификациям XML 1.1 и Пространства имен 1.1. Ее автор, главный инженер отдела программного обеспечения корпорации IBM, Арнод Ле Хорс рассказывает об изменениях, внесенных в эти спецификации, о том, как эти изменения повлияют на другие спецификации и что это будет значить для пользователей.

Что такое XML Sapiens
В 1995 году компания Vignette представила на рынке первую коммерческую систему класса CMS (систем управления контентом). С тех пор число коммерческих CMS неустанно растет и ныне сам термин CMS прижился на рынке и, как правило, не требует расшифровки. За последние годы было утверждено множество отрытых стандартов, позволяющих структурировать информацию на сайтах, отделить ее от дизайна, но, по-прежнему, большинство CMS не следует им.

Спецификация и форматы обмена данными в XML-технологий
В задачах построения сложных информационных систем одной из главных проблем является обмен данными между различными подсистемами. Нередко самая простая задача импорта/экспорта данных из одной системы в другую приводит к необходимости серьезных разработок модулей на стыке подсистем. Задача существенно облегчается, если данные определенного класса будут перемещаться между подсистемами, при условии, что в этих подсистемах будет заложена технологически реализованная возможность воспринимать извне и отдавать наружу данные в стандартном формате импорта/экспорта.

XML и XSLT в примерах для начинающих
Если мы откроем этот файл в браузере Internet Explorer, то мы увидим тот же самый текст, который приведен выше, вместе со всеми тегами и служебной информацией. Но нам не нужны теги и служебная информация! Мы хотим видеть только ту информацию, которая относится к делу, а при помощи тегов - управлять внешним видом этой информации. Эта задача решается легко и просто: необходимо к XML-файлу добавить шаблон преобразования - XSL-файл

World Wide Web Консорциум, 14 января 1999 года
Мы предвидим появление таких приложений для обработки расширенного языка разметки (XML), когда в одном XML документе (обычно называемом "словарем разметки") собраны элементы и атрибуты, определяемые и используемые во многих программных модулях. Повод для появления такой модульности: если имеется понятный словарь разметки и есть использующее его программное обеспечение, то проще использовать такую разметку еще раз, чем изобретать ее заново.

Оптимизация вычисления обратных осей языка XML
XPath– это язык для адресации структурных частей XML-документа. Функциональный язык программирования Scheme позволяет естественным образом представлять и обрабатывать XML-документы в виде SXML и обеспечивает единую среду для реализации XML-приложений.

W3C XML: XQuery от экспертов
XSLT – это язык для описания преобразований XML. Его операторы принимают один или более документов XML в качестве входных данных и выдают один или более XML документов в качестве результата. Этот язык разрабатывался в рамках W3C как часть более крупного проекта, связанного с представлением (или отображением) XML: отсюда происходит название «расширяемый язык преобразований стилей» (eXtensible Stylesheet Language – Transformations).

Реализация XSL-преобразований при разработке сайтов с XML-наполнением страниц
В последние несколько лет все большее количество сайтов стремится разделить информационное наполнение страниц и дизайн посредством использования XML-разметки данных и их XSL-преобразования. Целью данной работы является рассмотрение и популяризация такого подхода, исследование его возможностей и достоинств, а также анализ недостатков и особенностей процесса разработки.