Язык
XaMeLeonoi
Г
THE UnForGiven
Приветствую! В Сети в последнее время достаточно много внимания уделяется
XML:
кругом трубят о
его удобстве, но как правило авторы публикаций твердят одно и то же, кое-как описывая теоретическую
часть и умалчивая о реальном использовании этого языка. Попытаюсь кое-как поправить сложившуюся
ситуацию.
П
редлагаю сразу определиться с аббревиатурой. «XML» рас-
шифровывается как «Extensible M arkup Language» (расши-
ренный язык разметки), отаодо смело можно сделать вывод,
что это потомок HTML. Резонный вопрос чем же не устраи-
вал разработчиков H TM L и что послужило толчком для создония
нового языко? Достаточно вспомнить о предназначении HTML
визуальное представление донных. XM L же розроботывопся для
их
структурирования,
но что его предок рассчитан не был. H TM L
концентрируется но отображении донных и их внешнем виде, а
XM L — но описании донных и их структуре. О тсю да следует, что
XM L не является заменой H T M L Перед этими языками ставятся
абсолютно разные задачи, хотя внешний вид кода схож.
В прогмотическом плане коротко определить XM L можно кок
кроссплатформенное, программно и аппаратно независимое
средство для передачи информации.
Как и его предок, новый язык («новый» — в сравнении с HTML,
так кок XM L был разработан годо три назад) имеет свои
тэги (tags],
называемые
нодами.
Разница лишь в том, что HTML имеет четко оп-
ределенные тэги
(<а>, <р>, <h l>
и т.д.), новые тэги появляются лишь
по воле разработчиков стандартов и браузеров. В XM L совсем дру-
гая картина: количество предустановленных (служебных) тэгов мини-
мизировано, и программист волен использовать собственные тэги
и собственную структуру документа для хранения данных
Рассмотрим простой пример. М ы имеем стопку книг, которую нам
необходимо структурировать (т.е. разложить по полочкам). Что нам
нужно для характеристики книги? Ее автор, название, год издания.
Н аш XML-документ будет выглядеть следующим образом
<?xrrd v e r s io n = " 1 .0 " e n co d in g= "w in d o w s-1 2 5 1 "?>
< l i b r a r y »
<book>
< a u th o r> A . К о на н-Д о й ль</ a u th o r>
< t it
1е>Шерлок Х о лм с«
/ t it le »
«y e a r> 1 9 9 6 < / y e a r»
</book>
<book>
< a u th o r»n . Т о л с т о й «/ a u th o r>
< title » A H H a K a p e ro m a « / title >
< ye a r»2 0 0 1 < /ye a r>
</book>
« / l i b r a r y »
Заметьте, в этом примере нигде не указано, как нужно ото-
бражать информацию (коким цветом, шрифтом, размером шриф-
та и т.п.), а лишь показана структура документа: имеется биб-
лиотека (« lib ra ry » ), в ней лежат книги («book»), характеристи-
ками которых являются автор («author»), название (« title » ) и
год издания («year»).
Предлагаю разобраться с использованием XML.
В классической H TM L-разметке информация хранится внутри
.html-файла. Когда нам необходимо что-то изменить, мы должны
работать одновременно и с донными, и с правилами их отобр а-
жения, что довольно неудобно. XM L решоет эту проблему так:
данные мы можем хронить в одном файле (XML), а правила их
представления — в другом (HTML). О дноко XM L позволяет хра-
нить данные и внутри HTM L-файла — в
островках данных (dato
islands).
Тем не менее информация по-прежнему структурирова-
на и отделена от правил визуального представления.
XM L позволяет обмениваться информацией несовместимым
системам. Н а сегодня существует множество стандартов хране-
ния информации в разных операционных системох и базах дан-
ных, что не позволяет обменивоться информацией в разных сис-
темах. XM L успеш но реш ает эту проблему.
Пом им о того, XM L хранится в обычных текстовых файлах, что
позволяет разработчикам различных языков программирования
и операционных систем создавать разные приложения на осно-
ве одного стандорто, доступного всем.
О днако не стоит думать, что XM L делает все что угодно. О н
лишь дает возможность хранить донные, а управлением данны-
ми занимаются языки программирования.
Вернемся к наш ему примеру. Прежде чем создоть XM L-доку-
мент, необходимо уяснить принципы создония
правильно сфор-
мированных XML-документов (well-formed).
Каждый документ должен сообщотъ, что за тип данных он со-
держит. Для того чтобы обработчик (программа, анализирующая
документ, — в ношем случае браузер
Internet Explorer
5+) пра-
вильно обрабаты вал XM L-документ, первая строко указывает,
что документ сформирован по версии
XML 1.0
и имеет кодиров-
ку
windows-1251.
Следующ ая строка является корневым, первич-
ным элементом документа
(root element),
обязательным его ком-
понентом и сообщ ает разработчику, что содержит этот документ
(в наш ем случае « lib r a r y » говорит нам, что мы имеем дело с
библиотекой).
Не все элементы языка H TM L требую т закрывающ его тэга
(<Ьг>, <h r> и т.п.). Синтаксис XM L же требует обязательного за -
крытия тэгов. Хотя есть и исключения: первая строчка наш его при-
мера не имеет закрывающего тэго. Э то объясняется тем, что эта
строка не выступает чостью документа и информации, а являет-
ся заголовком.
XM L-тэги
регистрозависимы.
Т.е. тэги « a u th o r» и «A uthor»
будут двумя разными тэгами; соответственно, о б а требуют за-
крывающих тэгов идентичных открывающим, иначе — ошибка
Так как X M L предназначен для структурирования данных, ес-
тественным условием является
четкость вложения тэгов
Если в
H TM L можно было написоть < Ь х 1 > те к с т « / Ь > < / 1 > , то XM L
требует четкой вложенности: < b x i» T e K C T < / ix / b > , иначе —
ошибка.
Как уже упоминалось, XM L-документ должен содержать кор-
невой элемент (тэг), в ношем случае это « lib r a ry » .
Как и в HTML, в XM L тэги могут иметь
атрибуты.
Разница лишь
в том, что значения атрибутов должны обязательно заключаться
в кавычки («book la n g u a g e = "ru s"> , но не «book language=rus>),
иначе — ошибка.
О дноврем енно недостатком и преимуществом HTM L была его
способность игнорировоть двойные пробелы: если мы напишем
«Это мой текст», то в HTM L он воспримется кок «Это мой текст».
В XM L двойные пробелы не игнорируются.
Зото по части комментариев к коду X M L ничем не отличает-
ся от предка (<! -Комментарий-»).
Бывает, что необходимо хранить специфическую информоцию
(например, программный код, содержащий значительное числа
спецсимволов («, >, &, ', ")). Конечно, можно заменять эти сим-
волы но escape-последовательности (b it;, stgt,-, stamp;), одна-
ко это неудобно, если нужно хранить целые функции. В XM L мож-
но заключать необходимые донные в конструкцию <!
[cd a ta
[...]
]
>.
Информоция, которая хранится в этой секции, не обрабаты ва-
ется интерпретатором, потому ош ибок не вызывает1
« s c r ip t »
< ! [ CDATA[
fu n c t io n d o T h is (a, b) {
№ 20/295 17 мая-24 мая 2004
предыдущая страница 38 Мой Компьютер 2004 20 читать онлайн следующая страница 40 Мой Компьютер 2004 20 читать онлайн Домой Выключить/включить текст