Об авторах
Челси Валентайн (Chelsea Valentine) работает Web-мастером и инструктором в корпорации LANWrights, Inc. Она же отвечает за поддержку основного Web-узла компании и связанных с ним обучающих узлов, контролирует проведение тренингов LANWrights, Inc. в колледже Austin Community College, а в свободное от работы время занимается написанием книг. С момента возвращения в LANWrights в начале 1999 года Челси принимала участие в написании большого количества книг, включая Hip Pocket Guide to HTML 4.01 (IDG Books Worldwide, 2000); XML for Dummies, 2nd Edition (IDG Books Worldwide, 2000); XHTML 4 for Dummies, 3rd Edition (IDG Books Worldwide, 2000) и XHTML for Dummies (IDG Books Worldwide, 2000). Когда Челси свободна, не общается со своим другом Сэмом и не выступает в роли его музы, она просто сидит и ни о чем не думает, отлично проводя, по ее собственному утверждению, время. Связаться с Челси можно по ее электронному адресу: [email protected].
Крис Минник (Chris Minnick) является основателем и президентом компании Minnick Web Services (www.minnick-web.com), которая специализируется на разработке Web-приложений баз данных и служб приложений для малых и средних организаций, а также проектно-ориентированных Web-приложений для больших консалтинговых и юридических фирм. С 1996 года Крис занимается преподаванием и написанием книг о Web-приложениях. Он является соавтором нескольких книг и редактором журнала Software Development Magazine, а также входит в судейскую коллегию премии Jolt Product Excellence and Productivity Awards. Свое свободное время Крис посвящает занятиям боевыми искусствами, пишет художественные рассказы, занимается постановкой телевизионных шоу для кабельных каналов Austin и вместе со своей женой Маргарет публикует в Internet различные юмористические рассказы (www.motelmag.com).
О технических рецензентах
Технические рецензенты, обладающие значительным опытом и обширными знаниями, также внесли свой вклад в создание книги XHTML. Уже после ее написания , они внимательно просмотрели весь материал книги и проанализировали ее содержимое и организацию. Их заключение позволяет убедиться, что данная книга удовлетворит потребности читателей в самой качественной технической информации.
Симон Ст. Лаурент (Simon St. Laurent) — Web-разработчик, сетевой администратор, автор книг по компьютерной тематике и консультант по XML. Симон проживает в Итаке, Нью-Йорк (Ithaca, New York). Он принимал участие в написании книг XML: A Primer (IDG Books Worldwide, 1999), XML Elements of Style (McGraw-Hill, 1999), Building XML Applications (McGraw-Hill, 1999), Cookies (McGraw-Hill, 1998) и Sharing Bandwidth (IDG Books Worldwide, 1998). Кроме того, Симон работает постоянным редактором xml-hack и внештатным сотрудником XML.com.
Эндрю Дж. Индовина (Andrew J. Indovina) в настоящее время работает программистом в компании NetSetGo Inc., расположенной в Рочестере, Нью-Йорк (Rochester, New York). Имея образование в области компьютерных наук, Эндрю отлично разбирается в таких языках программирования, как Ассемблер, C, C++, Visual Basic, Java, XML и ASP. В свободное время Эндрю занимается разработкой компьютерных игр.
Благодарности
Я бы хотела поблагодарить маму и папу, наиболее близких мне людей.
Кроме того, хотелось бы выразить благодарность Эду Титтелю (Ed Tittel) за предоставленную возможность работать над этой книгой, Крису Миннику за то, что он был отличным соавтором, и Мэри Бурмейстер (Mary Burmeister) за то, что не позволяла мне расслабиться и облекала мои мысли в более понятную форму. И конечно, Сэм, я все еще собираюсь выйти за тебя замуж.
Челси Валентайн
Я хотел бы поблагодарить Мэри Бурмейстер и Эда Титтеля за их поддержку и руководство, а также свою жену и коммерческого партнера Маргарет за ее слова одобрения, отличные советы и иногда несколько грубую (но всегда справедливую) критику.
Крис Минник
Введение
XHTML — это новая версия очень популярного и широко распространенного языка гипертекстовой разметки (HTML — Hypertext Markup Language), построенная в соответствии с правилами расширяемого языка разметки (XML — Extensible Markup Language). Фактически, XHTML наследует простоту, а также синтаксис и разметку HTML и заставляет их функционировать по правилам XML при описании и обработке разметки.
Работавшие ранее с HTML пользователи найдут в XHTML множество известных им возможностей. Но некоторые компоненты XHTML все же берут свое начало в XML, поэтому могут быть новыми и на первых порах достаточно непонятными. Большая часть этой книги знакомит читателей с частью "X" в названии XHTML. Сейчас же достаточно сказать, что именно эта часть позволяет создавать гораздо более понятный и лучше отображаемый компьютерами механизм доставки Web-содержимого. Кроме того, правила и "поведение" XHTML гораздо лучше отражены в спецификациях и понятней, чем для HTML.
В связи с появлением XHTML на сцене Web-разработки становятся актуальными два вопроса. На первый вопрос, заменит ли XHTML широко распространенный язык HTML, авторы могут с уверенностью ответить, что уже в самом ближайшем будущем новые Web-узлы будут создаваться преимущественно с помощью XHTML. Однако, поскольку в настоящее время уже существуют миллионы документов HTML, этот язык не исчезнет совсем. Тогда возникает второй вопрос: Если HTML не исчезает, то зачем переходить на XHTML? Ответ на него содержится в представленном далее материале, а также множестве других источников информации об XHTML. Если же попытаться ответить на этот вопрос вкратце, то XHTML гораздо более прост в работе и управлении, особенно если принять во внимание множество появляющихся сейчас средств создания Web-содержимого.
Одно из основных преимуществ XHTML связано с его исключительной расширяемостью, позволяющей определять и добавлять новую разметку, построенную в соответствии с правилами HTML. Все проблемы, которые были присущи HTML с начала 90-х годов и заставляли разработчиков Web-броузеров создавать частную (другими словами, несовместимую) разметку во время так называемых войн броузеров, полностью устраняются благодаря использованию расширений разметки. Последние включают определения синтаксиса, поэтому любой броузер, который в состоянии интерпретировать эти определения, сможет интерпретировать и соответствующую им разметку. Это почти исключает необходимость постоянного обновления и изменения спецификаций и лишает разработчиков броузеров возможности самостоятельно определять, какая разметка нужна разработчикам содержимого. Другими словами, XHTML — это значительный шаг вперед для каждого, кто так или иначе связан с созданием, распространением и отображением интерактивного Web-содержимого.
Об этой книге
Данная книга писалась с учетом потребностей профессиональных Web-разработчиков, которые желают узнать, что же такое XHTML и как наиболее эффективно его применять в своей работе, а также пользователей, которые планируют осуществить переход от HTML к XHTML (или другим приложениям XML), но по различным причинам еще не решились на подобный шаг. Оба автора книги наряду с использованием данной технологии в своей повседневной работе также пишут о ней, обучая других пользователей. Это позволяет передать читателям накопленный опыт не только в области использования данной технологии, но и преподавания ее студентам и Web-пользователям. Опыт общения со студентами позволил авторам понять, какая информация нужна людям и с помощью каких примеров и иллюстраций ее лучше всего представлять. Именно эти знания и легли в основу написания книги.
XHTML — это гораздо больше, чем просто новая версия HTML, хотя, надо признать, HTML составляет большую часть XHTML. Именно поэтому авторы по возможности пытались объединить описание этих двух языков. Значительное внимание, тем не менее, уделялось и различиям между этими языками, а также новым возможностям, которые включены в XHTML, но отсутствуют в HTML. Эта информация поможет ускорить переход от HTML к XHTML и будет способствовать максимально эффективному использованию возможностей последнего для разработки нового содержимого в будущем. Более того, представленная в этой книге информация поможет техническим работникам обосновать необходимость перехода к новому языку для целых организаций и объяснить своему руководству его преимущества, несмотря на дополнительные затраты и усилия.
Основное внимание в этой книге уделяется следующим аспектам.
- Описание взаимосвязи между HTML и XHTML, а также между XHTML и XML. Это поможет читателям понять не только сходство, но и основные различия между XHTML и HTML.
- Описание основных способов представления статического Web-содержимого в XHTML с помощью возможностей и средств HTML.
- Изучение базовой структуры XML языка XHTML, придерживаться которой необходимо при создании документов XHTML для максимально эффективного использования представленных возможностей. Поскольку благодаря этой структуре XHTML обеспечивает наличие расширенных функций и средств управления текстом, которых никогда не было в HTML, данный вопрос является исключительно важным для разработчиков.
- Описание способов преобразования документов HTML в документы XHTML — самостоятельного (что позволит понять сущность процесса) и автоматического (с помощью специальных программных средств). Последний вариант, в частности, может оказаться весьма кстати для обработки большого числа существующих документов HTML.
- Знакомство с представленными в XHTML механизмами управления внешним видом документов Web в окне броузеров. Это управление можно осуществлять посредством представления страницы с помощью каскадных таблиц стилей (CSS — Cascading Style Sheets) или расширяемого языка таблиц стилей (XLS — Extensible Stylesheet Language).
- Описание методов включения в документы XHTML нетекстовой информации, например объектов мультимедиа или графики.
- Изучение различных методов ввода информации в документы XHTML и добавления в них интерактивности. Такими методами могут служить ввод пользователями данных в форме (XForms), вызов сценариев, создание динамических страниц и т.п.
- Исследование возможностей документов XHTML, унаследованных от XML и касающихся, в частности, способов расширенного связывания, создания и использования пользовательской разметки и других заранее определенных приложений XML в контексте документов XHTML.
- Знакомство с перспективными направлениями развития Web-дизайна, средств Web-разработки и разрабатываемых спецификаций XML/XHTML, которые могут повлиять на работу в Web в будущем.
Аудитория
Эта книга предназначается главным образом для разработчиков Web-содержимого с самыми разными уровнями знаний, а также администраторов Web-узлов, желающих разобраться в вопросах создания и распространения содержимого. Кроме того, она может быть полезной для руководителей подразделений и всех пользователей, заинтересованных в изучении современных направлений развития средств создания и распространения Web-содержимого. Хотя материал этой книги излагался с учетом интересов уже знакомых с Web пользователей, большая его часть будет понятна даже начинающим разработчикам.
Какая версия?
На момент написания книги текущей рекомендацией консорциума W3C, определяющей язык разметки и приложения XML, являлась версия XHTML 1.0. Выход второй версии этой спецификации, XHTML 1.1, планировался в мае 2001 года. Кроме того, ожидается выход спецификации Модуляризации XHTML, благодаря которой связанные группы разметки можно будет использовать отдельно для обычного текста, списков, карт изображений, графики и т.п. Определенные усилия специалистов направлены и на разработку спецификации XForms, описывающей процедуры обработки пользовательского ввода в документы Web.
Несмотря на предпринимаемые попытки еще более расширить возможности XHTML, версия XHTML 1.0 уже широко используется и обеспечивает значительные усовершенствования в сфере создания и распространения содержимого. Именно поэтому основная часть книги посвящена описанию концепции, синтаксиса и разметки XHTML (и основ XML, необходимых для более полного понимания и успешного использования XHTML). Тем не менее в нескольких главах книги рассматриваются такие новые технологии, как XForms, средства расширенного связывания и т.п.
На сегодняшний день многие организации все еще предпочитают использовать HTML 4.0 и 4.01. Не рассчитывая на быстрый переход к XHTML, авторы все же надеются, что специалисты найдут эту технологию достаточно интересной и достойной того, чтобы быть быстро принятой. Усовершенствованный синтаксис и возможность механической проверки правильности документов XHTML, а также способность этого языка включать расширения заставят задуматься о переходе на него даже довольно консервативных разработчиков. Если, по прогнозам специалистов, владельцы личных и небольших коммерческих Web-узлов пока останутся верными HTML, то большинство профессиональных Web-разработчиков, а также владельцы большинства коммерческих узлов начнут переход от HTML к XHTML к концу 2001 года.
Соответственно, в ближайшие несколько лет большинство организаций полностью перейдут на языки разметки, приложения и службы, обеспечиваемые XHTML и XML. Сейчас же рекомендуется тщательно обдумать, насколько важно представление содержимого и других данных организации и с помощью каких основных средств HTML (и XML) донести их до потенциальных пользователей.
Присылайте, пожалуйста, свои комментарии и вопросы по следующим адресам:
В книге последовательно рассматриваются основные концепции, терминология, механизмы и разметка XHTML. Специально для не знакомых с этим языком читателей в начале книге предлагается небольшой экскурс в историю XHTML, а также описание общих основ таких языков разметки, как HTML и XHTML. Здесь же дается полное описание синтаксиса и семантики для всех определенных в спецификации элементов XHTML и способов перехода от HTML к XHTML. Теоретический материал дополняется множеством примеров создания и распространения Web-содержимого с помощью XHTML, начиная от представления страницы и заканчивая добавлением интерактивности, внедрением изображений и мультимедиа, а также взаимодействием с расширениями и существующими приложениями XML. Кроме того, каждая глава завершается разделом "Дополнительная информация", в котором приводится список дополнительных и связанных с обсуждаемой тематикой ресурсов.
Каждая глава является логическим продолжением и, в то же время, развитием предыдущих глав. Книга включает 13 глав и 7 приложений.
Вводимые в текст аббревиатуры расшифровываются и переводятся при первом появлении, например: "универсальный локатор ресурсов (URL — Uniform Resource Locator)".