Читать «Технология XSLT» онлайн
Алексей Н. Валиков
Технология XSLT
Посвящается моей жене
Предисловие
О чем эта книга?
Сложно переоценить влияние, которое за последнюю пару-тройку лет оказало на информационные технологии появление и распространение расширяемого языка разметки XML (от англ. extensible Markup Language). XML-технологии нашли применение во множестве областей и стали незаменимыми инструментами для многих решений.
Вместе с тем, сам язык XML — это не более чем текстовый формат представления данных. XML не имеет особого смысла вне практических приложений и сила XML — прежде всего в прикладных технологиях, которые связаны с этим языком.
Эта книга посвящена одной из таких технологий, языку XSLT. XSLT — это расширяемый язык стилей для преобразований (от англ. extensible Stylesheet Language for Transformations), который используется для описания преобразований структуры документов. XSLT позволяет трансформировать одни документы в другие, пользуясь простыми наборами правил преобразования.
Одной из сильнейших сторон языка XML является возможность отделять данные от их представления, хранить информацию в простом и понятном формате, стандарт которого четко оговорен. Такой подход имеет целый ряд достоинств: универсальность решений, снижение времени и стоимости разработки систем, широкие возможности по интеграции и обмену данными, многоцелевое использование информации и тому подобное.
Перечисляя преимущества этого метода, не следует забывать и о самом представлении, реализация которого, как правило, является довольно сложным делом. Например, в классических Web-решениях для визуализации информации, хранящейся в базе данных, применяется множество непростых технологий и языков программирования.
Другая распространенная проблема, которая часто сопутствует использованию языка XML, является проблема несоответствия логических схем. Поскольку при создании XML-документов автор может изобрести свой собственный язык разметки, рано или поздно возникает ситуация, когда одни и те же данные описываются разными языками. Соответственно, эти разные логические схемы нужно каким-то образом приводить к общему знаменателю.
Заметим, что эти две разные на первый взгляд задачи — представление данных и конвертация ХМL-документов различных логических схем — имеют общий корень. В обоих случаях для достижения результата документы должны быть
Вместе с тем, преобразование древовидно структурированных XML-документов при помощи обычных языков программирования (таких, например, как Java, С или Pascal) является очень трудоемкой задачей. Такие программы громоздки, сложны и дорогостоящи в поддержке, поскольку они крайне чувствительны к малейшим изменениям в формате преобразуемого документа.
Для того чтобы просто, удобно и эффективно решить описанные выше проблемы и был создан расширяемый язык стилей для преобразований — XSLT. XSLT представляет собой мощную прикладную XML-технологию, которая может применяться везде, где есть два документа разной структуры. XSLT предоставляет высокоуровневые средства для манипуляции данными, которые хранятся в виде XML. Хотя XSLT не позиционируется, как язык запросов для XML, можно смело сравнить его с языком SQL, в котором определяются запросы к реляционным базам данных.