Раздел developerWorks XML содержит множество статей, советов и учебных пособий, чтобы помочь разработчикам оптимальным образом использовать XML. Однако для тех, кто пытается освоиться с новой для него темой, весь объем информации может быть избыточен. Для тех читателей, кто хочет подробней изучить XML, но не знает, с чего начать, эта страница дает общее представление о теме. Она содержит информацию об основах технологии XML в разрезе тематик и связывает их с соотвествующими статьями на developerWorks, учебными пособиями, советами, образовательными сервисами IBM, практикумами и продуктами IBM для дальнейшего изучения
Расширяемый язык разметки ( Extensible Markup Language) или XML предоставляет способ разметки содержимого документа таким образом, что в него добавляется информация о назаначении содержимого. В соотвествии с информацией, хранящейся в XML, программа, известная как разборщик (parser), может достоверно извлечь релевантную информацию и обработать ее в зависимости от конкретной ситуации.
Узнайте об этом подробнее:
Учебное пособие Дага Тидвела (Doug Tidwell) "Введение в XML" позволяет вам начать работу с XML, объясняя концепции, на которых он базируется и основные правила его использования.
Образовательные сервисы IBM предлагают учебный курс, продолжительностью 2 с половиной дня "Introduction to XML and Related Technologies", который рассказывает об основах XML, основах валидирования и XSL преобразованиях.
XML может быть использован в большом спектре приложений, но в итоге все сводится к основной идее: это способ представления данных. В некоторых случаях эти данные предназначены для СУБД, в других подразумевается, что их будут читать люди. Технологии, относящиеся к обоим случаям, такие как проверка данных (validation) и XSL-преобразования (XSL Transformation) развивались вместе с XML.
XML заключает в себе возможности проверки (или подтверждения) структуры и (в некоторой мере) содержимого документа. Проверка документа позволяет предотвратить проблемы при обработке данных приложением, которое ожидает получить определенную структуру данных. Это особенно полезно, когда XML используется при взаимодействии с унаследованными (legacy) системами, не поддерживающими его обработку. Изначальная спецификация XML 1.0 Recommendation включает поддержку определения типа документа (Document Type Definition -- DTD), которое дает некоторые возможности проверки документов. Спецификация W3C XML Schemas расширяет эти возможности и использует XML-похожий синтаксис.
Данные, которые заключены в XML, могут быть использованы несколькими способами. Один из них подразумевает манипулирование XML посредством использования XSLT (Extensible
Stylesheet Language Transformations), которые позволяют разработчику определять операции над XML-документом, приводящие к определенному результату. Возможность преобразования информации налету позволяет использовать один и тот же источник информации для выдачи ее в различных представлениях, независимо от того, выводится ли информация в базу данных, или отображается в браузере.
XSL Formatting Objects (XSL-FO) является мощным гибким XML словарем для форматирования данных, который часто используется в XSTL для преобразования XML и HTML документов в формат PDF.
"XSL-FO basics" показывает, как использовать XSLT для конвертации XML документов в форматированные объекты, и как инструментарий Apache XML FOP (Formatting Object to PDF) конвертирует эти объекты в файлы формата PDF. После этого вы можете изучить статью "XSL-FO advanced techniques", которая расскажет более подробно о задачах форматирования данных.
Когда дело доходит до создания XML-приложений, вы сталкиваетесь с несколькими применимыми моделями. Эти модели позволяют создавать программные интерфейсы, которые вы можете использовать в ваших приложениях для анализа и манипулирования XML-структурами. Модели могут быть как объектно-ориентированными, такие как Document Object Model
(DOM) или JDOM (Java Document Object Model), так и событийно-ориентированными, например такие как Simple API
for XML (SAX). Помимо этого Java API for XML Parsing (JAXP) предоставляет общие интерфейсы для обработки XML документов с использованием DOM, SAX и
XSLT
Наиболее популярным, из перечисленных выше программных интерфейсов, является DOM, в котором каждая часть документа опиывается как узел определенного типа. Эти узлы расположены как пары родитедель-потомок. Отображение DOM API существует для различных языков, таких как Java, C++, Perl или Python.
SAX является следующим по популярности интерфейсом. В отличие от объектной модели DOM, SAX является событийным интерфейсом, который преобразует документ в набор callback-вызовов, например таких как startElement().
Поскульку по своей сути XML является простым текстом, программный интерфейс для работы с ним может быть создан кем угодно. На самом деле SAX был создан не организацией, а участниками списка рассылки XML-DEV. Другим таким объектным API является JDOM, который был создан плохо сформированной организацией. JDOM похож на DOM, но первый более тесно связан с языком Java.
Узнайте об этом подробнее :
Учебные пособия "Understanding
DOM " и "Understanding
SAX" описывают в деталях создание Java-приложений для чтения и манипулирования XML-документами, но рассмотренные в них концепции применимы также и к другим языкам.
Статья "Simplify
XML programming with JDOM" содержит примеры кода и рассматривает цели создания этого проекта (JDOM) с открытым исходным кодом.
Образовательные сервисы IBM предлагают учебный курс, продолжительностью 2 с половиной дня "Programming XML and Related Technologies for Java", который затрагивает использование DOM и SAX, а также выполнение XSL преобразований программным образом.
Одной из сильный сторон XML является его способность быть понятым в различных средах..
Появилось множество различных XML-словарей, позволяющих людям мгновенно понимать друг-друга. Три наиболее широкоиспользуемых это: Extensible HyperText Markup Language (XHTML), Resource
Definition Framework (RDF) и Scalable Vector Graphics (SVG).
XHTML - это HTML, переформулированный в терминах XML. XHTML-документ - это просто HTML-документ, который следует правилам XML. Между тем, множество XML-словарей было создано для бизнес-задач и отображения информации. Например, RDF предоставляет средства добавления информации в XML-документ, SVG дает возможность описывать графические элементы с использованием XML (поскольку SVG является простым текстовым XML-документом, SVG может использоваться не долько для динамического создания графики, но и для анимирования и написания сценариев); Voice Extensible Markup Language (VoiceXML) используется для описания меню в телефонах и других голосовых системах.
Как только вы поймете XML в целом, все что будет необходимо сделать для использования конкретного словаря -- это понять его различные элементы и атрибуты и какую информацию они представляют.
Для более подробной информации об XHTML посетите раздел developerWorks Web
architecture.
Учебное пособие "Modularization of XHTML" объясняет как с помощью модулей можно создавать и использовать различные подмножеста и варианты XHTML.
Учебное пособие "Introduction
to Scalable Vector Graphics" рассказывает о том, как с использованием SVG можно описывать графические изображения на Web-странице.
В учебном пособии "Interactive, dynamic SVG" вы найдете более продвинутый взгляд на технологию, где демонстрируется использование JavaScript для динамического управления содержанием страницы, где отображается поэтапный план, визуализируемый при помощи SVG.
Статья "An
introduction to RDF" дает обзор подходов к использованию RDF, начиная от схем (schemes) и заканчивая сценариями использования.
Имеет ли смысл заморачиваться со всеми этими XML-стандартами? В серии из четырех статей, подготовленной ведущим колонки Уче Огбуджи, он предлагает свое собственное руководство по спецификациям, на которые имеет смысл обратить внимание в первую очередь:
XML является прекрасным фундаментом для создания Web-сервисов, поскольку он помогает в создании сообщений, которые могут быть легко стандартизируемы и воспринимаемы. Для того чтобы подробнее ознакомиться с Web-службами и множеством ресуров, которые им посвящены, посетите раздел SOA и Web-сервисы сайта developerWorks Россия. В частности, страница SOA и Web-сервисы для новичков поможет вам быстрее сориентироваться в этой сложной теме.
Как только вы усвоите основные принципы работы с XML, то вы обнаружите, что поле деятельности для различного рода улучшений является достаточно обширным, и постепенно появляются шаблоны оптимального использования.
Посетите раздел учебных пособий по XML (на английском) на сайте developerWorks, где вы сможете найти последние разработки в области XML и связанных с ним технологий.
Программы сертификации по XML
В такой большой области, как XML, достаточно полезно иметь некоторый стандарт, который позволяет судить об уровне ваших навыков. Программы сертификации предоставляют некоторую контрольную точку проверки знаний, как для вас, так и для ваших текущих и потенциальных работодателей.
IBM предоставляет программы сертификации, которые позволяют вам продемонстрировать уровень ваших знаний работодателям, которые ищут объективную оценку. Вы можете пройти сертификацию IBM
Certified Developer -- XML and Related Technologies (которая является частью программы IBM
Certified for e-business - Solution Technologist), сдав экзамен Test 141:
XML and Related Technologies. Чтобы подготовится, вы можете пройти пробный тест sample
test. Хорошим местом для начала вашей подготовки является серия учебных пособий developerWorks "IBM XML certification success" (на английском):
Часть 1 -- основы XML, документы DTD, W3C XML Schema, Web сервисы и безопасность
Часть 2 -- XPath, XSLT, XLink, XPointer, CSS, XSL-FO, SAX и DOM
Часть 3 -- проецирование технологий XML на задачи экзамена