Предисловие
Я уверен, что все мы испытываем некоторое возбуждение, приобретая новое программное обеспечение, и практически всегда испытываем разочарование от прилагаемой к нему документации. Вы никогда не задавали себе вопрос: почему такая замечательная команда разработчиков, создавшая поистине восхитительный новый программный продукт, не в состоянии объяснять людям, как же эту программу следует использовать? В конце концов, ведь никто лучше самих разработчиков не знает всех преимуществ программы, а также всех задач, которые она призвана решать.
Работая президентом компании, играющей далеко не последнюю роль в обучении технологиям XML, я стал несколько лучше понимать, что же происходит в подобных ситуациях. Многие профессиональные программисты-разработчики, легко решающие разнообразные проблемы технического характера, далеко не всегда способны объяснить другим, что же они действительно делают; они всегда пропускают некоторые шаги, предполагая, что аудитория обязательно обладает всеми необходимыми знаниями по проблеме, что далеко не всегда именно так. Хотя найти и нанять технически грамотных сотрудников достаточно сложно, наша компания всегда старалась принимать на работу людей, которые обладают не только всеми необходимыми техническими знаниями, но и способностью объяснять другим различные тонкости соответствующих информационных технологий.
Для того чтобы выжить в бизнесе, занятом обучением и подготовкой специалистов по информационным технологиям, вы должны взять на себя всю ответственность за обучение студентов. Недостаточно просто изложить материал и основные концепции; вы должны быть уверены в том, что информация подается в том виде, который позволяет студентам эффективно ее усваивать и применять на практике для решения поставленных перед ними проблем. Преподаватели должны обладать некоторым актерским даром, интеллигентностью и умением быстро продемонстрировать, как определенные инструменты и технология применяются в разнообразных ситуациях. Людей, которые бы удовлетворяли подобным требованиям, найти чрезвычайно сложно.
Впервые я встретил Дивена Шеперда на выставке информационных технологий Comdex, на которой он выступал. До этого о нем я знал только по положительным отзывам своих знакомых. Немного поработав вместе с Дивеном, я был поражен глубиной его технических знаний, его пониманием нюансов процесса обучения, его пониманием места информационных технологий в современном мире. Работая вместо, мы часто встречали людей, которые были неплохо осведомлены о XML и его потенциальных возможностях, но при этом считали его скорее средством создания различных интересных "примочек", а не инструментом бизнеса, позволяющим решать много насущных проблем. Другими словами, эти люди восхищались XML только как собственно технологией, упуская из виду, что XML дает потрясающие решение многих характерных для бизнеса задач, когда на первое место выходят возможности управления, а не различные забавные приемы программирования.
Студенты Дивена в значительной мере выигрывали от его способности доступно излагать вопросы, касающиеся технологических тонкостей и эффективного ведения бизнеса. Излагая материал, посвященный XML, Дивен предлагал своим читателям подробные пошаговые инструкции, которые можно смело считать настоящим произведением искусства. Он предлагает подробные и всегда предварительно проверенные примеры программного кода, позволяющего решать те или иные проблемы, которые читатели могут легко обобщать для их собственных задач. Очень ценным окажется список Web-узлов, на которых можно найти массу полезного материала, посвященного XML и смежным вопросам. Выполнив упражнения, предложенные в настоящей книге, читатели смогут действительно разрабатывать решения на базе XML и других смежных технологий, а также использовать полученные знания во многих других ситуациях.
Брайан Снайдер
Брайан Снайдер - бывший президент компании Architag International, которая занимается обучением и консультациями по XML. Он обладает значительным опытом в сфере обучения, корпоративных финансов и стратегии ведения бизнеса. Сейчас работает в одной из ведущих компаний высоких технологий.
Введение
XML (Extensible Markup Language - Расширяемый язык разметки) - это lingua franca современной Internet. От XML вы получаете полностью расширяемый, простой для изучения и обладающий широкими возможностями формат для структурированных данных и документов, эффективный обмен которыми осуществляется через Internet.
Несмотря на то, что буква M в аббревиатуре XML означает Markup (разметка), XML не является языком разметки в узком значении этого термина. Скорее это метаязык, для описания в высшей степени структурированных и узкоспециализированных словарей разметки.
Независимо от того, занимаетесь вы системами публикации и управления данными, проектированием сложных решений в электронном бизнесе или обеспечением эффективного обмена различными научными данными, XML предоставляет вам возможность создания профессиональных, самоописывающихся и управляемых данными решений. Во многих ситуациях ваши инструменты базируются на словарях, определенных с помощью синтаксиса XML. Овладев XML, вы одновременно изучите целое семейство специализированных технологий, сосуществующих в виде элегантного симбиоза в различных архитектурах и на разных платформах. Семейство технологий XML обеспечивает независимость от конкретных платформ и форматов, что позволяет организовать доставку данных неограниченному кругу пользователей, включая приложения, броузеры, беспроводные устройства с поддержкой Web, а также еще многие, пока неведомые нам инструменты. XML может превратиться в технологию безграничных возможностей, без которой невозможна дальнейшая эволюция Internet.
Книга Освой самостоятельно XML за 21 день, 2-е издание, содержит весь необходимый материал для освоения работы с XML, а также несколькими смежными с ним стандартами, включая XSL (Extensible Spreadsheet Languages - Расширяемые языки таблиц стилей), Xpath ((Extensible Path Language - Расширяемый язык путей), XLL (Extensible Link Language - Расширяемый язык связей), XPointer, XML-Data Reduced, XML Schema и некоторые другие. Вы увидите массу работающих примеров программного кода, иллюстрирующих все эти технологии, которые вы сможете использовать во время обучения.
Кому предназначается настоящая книга
XML - это одна из самых революционных компьютерных технологий, появившихся в Web в начале 1990-х годов. Вы уже наверняка знакомы с языком HTML (HyperText Markup Language - Язык разметки гипертекста) и использовали его при создании собственных Web-страниц. В настоящей книге предполагается, что вы достаточно опытный разработчик, знакомы со многими технологиями и языками программирования. Некоторые примеры программного кода в настоящей книге используют JavaScript, VBScript, Java, базы данных, Active Server Pages, приемы объектно-ориентированного программирования и т.д. Основная цель, однако, состоит не в том, чтобы научить вас одному из этих языков программирования, а в том, чтобы продемонстрировать вам, насколько элегантно XML внедряется в реальные решения, воплощая все преимущества компонентных технологий. Даже если вы не профессиональный программист, пусть этот факт не отпугивает вас от изучения настоящей книги. Большое количество работающих примеров программного кода и их подробный анализ позволят вам разобраться во всех тонкостях использования данных технологий.
Об авторе
Дивен Шеперд (Devan Shepherd) занимается информационными технологиями уже больше 25 лет; за это время он успел поработать разработчиком, консультантом, инструктором и даже старшим менеджером. Дивен разработал учебные курсы для колледжей, посвященные таким дисциплинам, как технологии XML, HTML, языки написания сценариев, разработка Web-страниц, а также широкий спектр разнообразных языков программирования. Сейчас Дивен считает технологии XML полноценным индустриальным стандартом и повсеместно использует их в своей практике, включая разработку решений для электронного бизнеса, обучения и системной интеграции. Он занимал ведущие посты во многих компаниях государственного и частного сектора, получив опыт работы в таких сферах, как здравоохранение, оборона, банковское дело, а также юриспруденция. Называя самого себя "e-трудоголиком", Дивен старается проводить все свое свободное время вместе с женой и детьми, занимаясь "неэлектронными" делами.
Посвящение
Эта книга посвящается моей жене Кэтрин Шеперд - другу, партнеру, любимой и музе, чьи внимание и поддержка никогда меня не покидали.
Благодарности
Я хотел бы поблагодарить Кэрол Акерман (Carol Ackerman) за ее поддержку и за то, что написание настоящей книги стало действительно простым и полностью управляемым процессом, независимо от того, каким сложным оно казалось в самом начале.
Большое спасибо Хезер Гуделл (Heather Goodell) за то, что она поделилась своим многолетним опытом и улучшила те разделы книги, которые я сам смог написать небезупречно.
Спасибо Фрэнку Нейжебауэру (Frank Neugebauer) за его помощь в освоении всех тонкостей технологий XML, а также за проверку каждой строки кода в настоящей книге.
Спасибо моим друзьям и коллегам, особенно Брайану Тревису (Brian Travis) (президенту компании Architag.com), Бобу Гонзалесу (Bob Gonzales) (настоящему гуру XML, который помог мне при описании некоторых технических нюансов), а также Джину Йонгу (Gene Yong) (эксперту по языкам разметки и структуре информационных систем). Спасибо вам за неоценимую помощь при написании книги. А также спасибо за целое море пива.
Я не могу не поблагодарить чрезвычайно профессиональную и эффективно работающую команду сотрудников издательства Sams, отвечающую за выполнение всех работ при подготовке этого проекта. Профессионализм этих людей обеспечивает одну из наиболее эффективных моделей ведения бизнеса в издательской сфере. Спасибо вам за то, что придали настоящей книге действительно привлекательный вид.
Спасибо моим родителям, Мерренне и Дугласу Шеперд, за все то, чему они меня научили, а также за обеспечение "пожизненной" моральной поддержки. Спасибо за все, а особенно за слова о том, что я должен написать книгу обо всех тех компьютерных технологиях, с которыми мне приходится работать.
И наконец, я хотел бы поблагодарить своих детей, Грега и Кристен. Спасибо тебе, Грег, за то, что во время моего отсутствия ты взял на себя заботы о ведении домашнего хозяйства. Спасибо тебе, Кристен, за те замечательные компьютерные игры, которые ты присыла мне по электронной почте.