Лекция МИР-10. Мировые информационные сети: структура информации, правила поиска, практикум. 1. XML - это способ записи структурированных данных Под "структурированными данными" обычно подразумевают такие вещи, как электронные таблицы, адресные книги, каталоги, конфигурационные параметры, финансовые транзакции, технические чертежи и так далее. XML представляет собой набор правил (вы можете также считать их инструкциями или соглашениями) для разработки текстовых форматов, которые позволят вам структурировать ваши данные. XML - это не язык программирования, и вам не нужно быть программистом, чтобы использовать или изучать его. XML облегчает компьютеру задачу создания и чтения данных, обеспечивая при этом однозначность их структуры. XML позволяет избежать распространенных ошибок проектирования языков: он расширяем, независим от платформы, включает поддержку интернационализации и локализации. XML полностью совместим с Unicode. 2. XML немного похож на HTML Также как и в HTML, в XML используются тэги (слова, заключенные в '<' и '>') и атрибуты (вида имя="значение"). Но если в HTML фиксируется смысловое значение каждого тэга и атрибута и часто то, как текст между ними будет выглядеть в браузере, в XML тэги используются только для логической разметки данных, и их интерпретация оставляется на усмотрение обрабатывающей программы. Другими словами, если вы встречаете "
" в XML-файле, то не стоит думать, что это параграф. В зависимости от контекста, это может быть цена (price), параметр (parameter), человек (person)... (вообще, кто сказал, что это должно быть слово, начинающееся с "p"?) 3. XML - это текст, но он не предназначен для чтения Программы, которые работают с электронными таблицами, адресными книгами или другими структурированными данными, часто сохраняют эти данные на диск, используя либо двоичный, либо текстовый формат. Одним из преимуществ текстового формата является то, что люди при необходимости могут просматривать данные без использования программы, в которой они были созданы. На худой конец, вы можете читать данные, записанные в текстовом формате, в своем любимом текстовом редакторе. Также текстовые форматы облегчают разработчикам отладку своих приложений. По этим причинам, подобно HTML-файлам, XML-файлы являются текстовыми: они не предназначены для чтения людьми, но при необходимости могут быть прочитаны. Однако правила для XML-файлов гораздо строже, чем для HTML. Пропущенный тэг или атрибут без кавычек сделает файл непригодным, тогда как в HTML это явно позволяется или, по крайней мере, допускается. Как написано в официальной спецификации XML, приложениям не позволяется пытаться предугадать создателя некорректного XML-файла; если файл некорректен, приложение тут же должно остановиться и выдать сообщение об ошибке. 4. XML умышленно многословен Так как XML - текстовый формат и использует тэги для разметки данных, XML-файлы почти всегда больше по размеру, чем аналогичные в двоичном формате. Это было сознательным решением разработчиков XML. Преимущества текстового формата очевидны (см. пункт 3), и недостатки обычно могут быть компенсированы на ином уровне. Дисковое пространство уже не столь дорого, как было раньше, а программы типа zip и gzip могут сжимать текстовые файлы очень хорошо и очень быстро. К тому же коммуникационные протоколы, такие как модемные протоколы и HTTP/1.1 (основной протокол Сети) могут сжимать данные "на лету", сохраняя, таким образом, пропускную способность так же эффективно, как и в случае с двоичным форматом. 5. XML - это семейство технологий Существует спецификация XML 1.0, в которой определяется, что такое "тэги" и "атрибуты". Но за XML 1.0 следует "семейство XML" - все более растущее множество модулей, предоставляющих полезные сервисы для решения важных и часто возникающих задач. Например, в Спецификации XLink (Рекомендация W3C от 27 июня 2001) описывается стандартный способ добавления гиперссылок в XML-документ. XPointer и XFragments (в стадии разработки) - синтаксис для адресации частей XML-документа. XPointer немного похож на URL, но вместо указания на документы в Сети, обращается к фрагментам данных внутри XML-документа. Каскадные таблицы стилей CSS могут применяться к XML-документам так же, как и к HTML. Но для XML существует свой специальный язык стилей XSL (Рекомендация W3C от 15 октября 2001). Он, в свою очередь, базируется на XSLT (Рекомендация W3C от 16 ноября 1999), языке трансформаций, использующемся для переформирования, добавления и удаления тэгов и атрибутов. DOM представляет собой стандартный интерфейс для манипулирования файлами XML (и HTML) из различных языков программирования. Языки XML Schema 1 и 2 призваны помочь разработчикам четко определять их собственные форматы, основанные на XML. Кроме перечисленных готово к использованию или находится в разработке еще множество модулей и средств. Следите за обновлениями на странице технических отчетов W3C. 6. XML нов, но не совсем Разработка XML началась в 1996 году, и с февраля 1998 года является стандартом W3C, что может заставить вас думать об этой технологии как о довольно не зрелой. Но, в действительности, она не так уж и нова. До XML был SGML, разработанный в начале 80-х и принятый в качестве стандарта ISO в 1986 году, который широко использовался в проектах, связанных с большим количеством документации. И, конечно, HTML, разработка которого началась в 1990 году. Создатели XML просто взяли лучшее из SGML, и, основываясь на опыте HTML, создали нечто новое, что по своей мощи не уступает SGML, но гораздо аккуратнее и проще для использования. Иногда эволюцию, однако, трудно отличить от революции... И надо заметить, что пока SGML в основном используется для технической документации и в значительно меньшей степени для других видов данных, с XML все с точностью до наоборот. 7. XML ведет HTML к XHTML Существует важное XML-приложение, являющееся форматом документов: W3C XHTML, преемник HTML. Большинство элементов XHTML такие же, как и в HTML. Синтаксис был немного изменен для соответствия правилам XML. Документ, являющийся "XML-based", наследует синтаксис XML и ограничивает его определенным способом (например, в XHTML разрешается "
", но не " " обозначает
"параграф" (paragraph), а не "цена" (price), "персона" (person) или что-либо
еще).
8. XML - модульная технология
XML позволяет вам определять новые форматы документов, комбинируя и повторно
используя уже созданные. Поскольку два формата, разработанные независимо, могут
иметь элементы или атрибуты с одинаковыми именами, при их комбинировании следует
соблюдать осторожность (что должно отличать " ", обозначающий "paragraph" в
одном формате, от "person" в другом?). Для устранения возможной путаницы при
одновременном использовании разных форматов XML предоставляет механизм
пространств имен. XSL и RDF являются хорошими примерами основанных на XML
форматов, использующих пространства имен. XML Schema разработан для отражения
подобной поддержки модульности на уровне определения структур XML-документа,
облегчая процесс построения новой схемы на основе существующих.
9. XML - основа для RDF и Семантической Сети
W3C Resource Description Framework (RDF) является текстовым форматом,
основанным на XML, который поддерживает описание ресурсов и метаданных
приложений, такие как списки музыкальных композиций, фотогалереи и библиографий.
Например, RDF может позволить вам идентифицировать людей в сетевом фотоальбоме,
используя информацию из персонального списка контактов; затем ваша почтовая
программа может автоматически начинать письма этим людям с утверждения, что их
фотографии находятся в Сети. Подобно тому, как HTML объединил документы, меню и
формы, дав начало сегодняшней Сети, RDF объединяет приложения и агенты в
Семантическую Сеть. Точно так же, как люди нуждаются в соглашениях о смысле
слов, которые они используют между собой в общении, так и компьютеры для
эффективного взаимодействия нуждаются в механизме согласования значений
терминов. Формальные описания терминов некоторой области (например, похода по
магазинам или производства) называются онтологиями и являются необходимой
частью Семантической Сети. RDF, онтологии, и представление значений так, чтобы
компьютеры могли помогать людям в их работе - это все темы деятельности
Semantic Web Activity.
10. Технология XML свободна от лицензирования, платформо-независима и хорошо
поддерживаема
Выбирая XML в качестве основы для своего проекта, вы имеете доступ к большому
и все более растущему семейству инструментов (один из которых уже, может, делает
то, что вам нужно!) и опыту специалистов, работающих с этой технологией. Выбор
XML немного похож на выбор SQL для баз данных: вы все еще должны строить свою
базу данных и писать свои программы и процедуры для работы с ней, однако есть
много инструментальных средств и людей, способных помочь вам. А так как XML
свободен от лицензирования, вы можете строить свое программное обеспечение, не
заплатив кому-либо ни копейки. Большая и все более растущая поддержка определяет
то, что вы не привязаны к какому-либо конкретному производителю программ. XML -
не всегда лучшее решение, но всегда стоит принимать его во внимание.
XML: 1. Метаязык для спецификации и синтаксического анализа языков-диалектов
электроннных данных в определенных областях деятельности;
2. Отделение содержания (контента) от представления (форматирования);
и программ обработки данных;
3. Глобализация и всеобщность международных стандартов и др.
См список XML-стандартов (XLink, XPoint, XForm)
4. Независимость от устройств в/в (монторов, принтеров, сотовых телефонов )
5. Пространство имен XML - механизм объединения XML-диалектов и словарей
Генезис:
GML (~1965) -> SGML (~1986) -> HTML(~1990) -> XML (~1998) -> XML 1.1 (~2004)
Что XML грядущий нам готовит?
http://www.iworld.ru/magazine/index.phtml?do=show_article&p=61355261
Сегодня нередко можно услышать упоминания о расширяемом языке разметки XML.
Однако, несмотря на утверждение консорциумом W3C языка разметки XHTML 2.0,
отвечающего правилам упомянутой спецификации, столкнуться с документами,
кодированными в этом языке, в Интернете не так уж и просто. В этом XHTML пока
повторяет своего прародителя HTML 4.0. Сколько бы ни было шума вокруг
спецификаций 4-й версии, на практике в подавляющем большинстве интернет-
документов если и используются особенности этой спецификации, в незначительном
минимуме. Скажем, задание стилей в теле самих тегов. Но, заглядывая в будущее,
нельзя не признать концептуального преимущества XML над всеми имеющимися
сегодня языковыми технологиями Интернета.
Чем же так хорош этот самый XML? Рассматривать его можно и как глобальный
язык описания взаимодействия объектов в распределенных системах, и как
преемника семейства языков разметки HTML. Второе звучит как-то попроще, ближе
к традиционному веб-мастерингу - вот с него и начнем.
C появлением первых версий HTML стало ясно, что относительно глобальных
концепций, разработанных в SGML, был сделан большой шаг назад. В то же время,
именно эта жертва принесла столь высокую популярность HTML. Только представьте
себе, как постепенно угасает энтузиазм пионеров веб-мастеринга с каждой новой
главой в 500-страничном руководстве по SGML... Теперь, когда простой и
доступный HTML давно утвердился как стандарт де-факто, главная регулирующая
<сила> в Интернете (W3C) начала обратный путь к SGML, хотя и не по прямой, -
в арсенале этой организации десятки лет мирового опыта. Что же в результате
веб-мастера имеют на сегодня в своем распоряжении? Похоже, что они имеют язык
разметки, лишенный врожденных недостатков HTML.
Чем больше число проектов, в которых участвует веб-мастер, чем большее число
страниц им создается, тем острее становятся проблемы унификации и структуризации
контента в HTML. Вот давайте посмотрим на пример:
Страна: Беларусь Организация: Design Studio DS WWW: http://sheiko.virtualave.net/ds/ E-Mail: bcf@mail.ru UIN: 35325827 Что XML грядущий нам готовит?!
Дмитрий Шейко
и
, в XHTML должны либо иметь парные закрывающие дескрипторы,
либо использоваться с косой чертой после дескриптора и перед закрывающей
угловой скобкой -
или
.
Переход на XHTML - непростая задача для HTML-дизайнеров, но куда более сложные
проблемы встают перед разработчиками броузеров. Новые версии броузеров должны
поддерживать XML, XHTML и при этом быть обратно совместимыми, т.е. поддерживать
HTML. Новые броузеры, создаваемые для мобильных устройств, должны использовать
расширяемую технологию, так как это позволит разработчикам быстро внедрять
новые технические средства вместо того, чтобы ждать появления новой официальной
версии языка.
Разработчики приложений должны уже сегодня обратить внимание на предлагаемые
изменения. Даже лучшие редакторы HTML в настоящее время не соответствуют
строгим правилам XHTML, например требованию заключения всех атрибутов в
кавычки.
Дополнительную информацию об XHTML и его текущем статусе в Консорциуме WWW
можно получить по адресу http://www.w3.org