Веб-страницы. Языки разметки. (HTML, XML)
· Основы HTML
В HTML 4.2 включены механизмы поддержки таблиц стилей, скриптов, внедрения объектов, улучшена поддержка направления текста справа налево и смешанного текста, а также внесены изменения в формы с целью обеспечения удобства работы пользователей с физическими недостатками. HTML-документ имеет достаточно строго структурирован:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Untitled</title> </head>
<body>
…
</body> </html>
СПИСОК ЭЛЕМЕНТОВ HTML · базисные элементы (все документы на HTML должны содержать их) · определение структуры (вид задается параметрами программы-просмотрщика) · внешний вид (автор определяет внешний вид текста) · ссылки и графика · разделители · списки · фон и цвета · специальные символы · формы · таблицы · фреймы (frames) · язык Java · разное Внимание: Если вам не ясна разница между HTML 2.0, HTML 3.0, HTML 3.2, и дополнениями Netscape, я советую прочитать комментарии W3C о развитии языка HTML. УПОТРЕБЛЯЕМЫЕ СИМВОЛЫ URL URL (адрес) внешнего файла (или просто имя файла в том же каталоге) ? Любое число (т.е. <H?> значит <H1>, <H2>, <H3>, и т.д.) % Любой процент (т.е. <hr align=left значит <hr align=left и т.д.) *** Любой текст (т.е. ALT="***" значит заполните текст) $$$$$$ Любое 16ричное число (т.е. BGCOLOR="#$$$$$$" значит BGCOLOR="#00FF1C", и т.д.) ,,, Разделенное запятыми (т.е. COORDS=",,," значит COORDS="0,0,50,50", и т.д.) | Альтернативы (т.е. ALIGN=LEFT|RIGHT|CENTER значит один из них) СОВМЕСТИМОСТЬ (помните, HTML эволюционирует и просмотрщики бывают разные) (без отметки) Включено в HTML 3.2; должно работать с последними версиями просмотрщиков N1.0 дополнение Netscape, введенное в Navigator'е версии 1.0 N1.1 дополнение Netscape, введенное в Navigator'е версии 1.1 N2.0 дополнение Netscape, введенное в Navigator'е версии 2.0 N3.0b дополнение Netscape, введенное в Navigator'е версии 3.0 бета
БАЗИСНЫЕ ЭЛЕМЕНТЫ | ||||||||||||
Тип документа | <HTML></HTML> | (начало и конец файла) | ||||||||||
Имя документа | <TITLE></TITLE> | (должно быть в заголовке) | ||||||||||
Заголовок | <HEAD></HEAD> | (описание документа, например его имя) | ||||||||||
Тело | <BODY></BODY> | (содержимое страницы) |
ОПРЕДЕЛЕНИЕ СТРУКТУРЫ | |||
Заглавие | <H?></H?> | (стандарт определяет 6 уровней) | |
с выравниванием | <H? ALIGN=LEFT|CENTER|RIGHT></H?> | ||
Секция | <DIV></DIV> | ||
с выравниванием | <DIV ALIGN=LEFT|RIGHT|CENTER></DIV> | ||
Цитата | <BLOCKQUOTE></BLOCKQUOTE> | (обычно выделяется отступом) | |
Выделение | <EM></EM> | (обычно изображается курсивом) | |
Дополнительное выделение | <STRONG></STRONG> | (обычно изображается жирным шрифтом) | |
Отсылка, цитата | <CITE></CITE> | (обычно курсив) | |
Код | <CODE></CODE> | (для листингов кода) | |
Пример вывода | <SAMP></SAMP> | ||
Ввод с клавиатуры | <KBD></KBD> | ||
Переменная | <VAR></VAR> | ||
Определение | <DFN></DFN> | (часто не поддерживается) | |
Адрес автора | <ADDRESS></ADDRESS> | ||
Большой шрифт | <BIG></BIG> | ||
Маленький шрифт | <SMALL></SMALL> |
ВНЕШНИЙ ВИД | |||
Жирный | <B></B> | ||
Курсив | <I></I> | ||
N3.0b | Подчеркнутый | <U></U> | (часто не поддерживается) |
Перечеркнутый | <STRIKE></STRIKE> | (часто не поддерживается) | |
N3.0b | Перечеркнутый | <S></S> | (часто не поддерживается) |
Верхний индекс | <SUB></SUB> | ||
Нижний индекс | <SUP></SUP> | ||
Печатная машинка | <TT></TT> | (изображается как шрифт фиксированной ширины) | |
Форматированый | <PRE></PRE> | (сохранить формат текста как есть) | |
Ширина | <PRE WIDTH=?></PRE> | (в символах) | |
Центрировать | <CENTER></CENTER> > | (как текст, так и графика) | |
N1.0 | Мигающий | <BLINK></BLINK> | (наиболее осмеянный элемент) |
Размер шрифта | <FONT SIZE=?></FONT> | (от 1 до 7) | |
Изменить размер шрифта | <FONT SIZE="+|-?"></FONT> | ||
N1.0 | Базовый размер шрифта | <BASEFONT SIZE=?> | (от 1 до 7; по умолчанию 3) |
Цвет шрифта | <FONT COLOR="#$$$$$$"></FONT> | ||
N3.0b | Выбор шрифта | <FONT FACE="***"></FONT> | |
N3.0b | Многоколоночный текст | <MULTICOL COLS=?></MULTICOL> | |
N3.0b | Пробел между колонками | <MULTICOL GUTTER=?></MULTICOL> | (по умолчанию 10 точек) |
N3.0b | Ширина колонки | <MULTICOL WIDTH=?></MULTICOL> | |
N3.0b | Пустой блок | <SPACER> | |
N3.0b | Тип пустого блока | <SPACER TYPE=horizontal| vertical|block> | |
N3.0b | Величина пустого блока | <SPACER SIZE=?> | |
N3.0b | Размеры пустого блока | <SPACER HEIGHT=?> | |
N3.0b | Выравнивание | <SPACER ALIGN=left|right|center> |
ССЫЛКИ И ГРАФИКА | |||
Ссылка | <A HREF="URL"></A> | ||
|
Ссылка на закладку | <A HREF="URL#***"></A> | (в другом документе) |
<A HREF="#***"></A> | (в том же документе) | ||
N2.0 | На другое окно | <A HREF="URL" TARGET="***| |_blank|_self|_parent|_top"></A> | |
Определить закладку | <A NAME="***"></A> | ||
Отношение | <A REL="***"></A> | (часто не поддерживается) | |
Обратное отношение | <A REV="***"></A> | (часто не поддерживается) | |
Графика | <IMG SRC="URL"> | ||
Выравнивание | <IMG SRC="URL" ALIGN=TOP|BOTTOM|MIDDLE|LEFT|RIGHT> | ||
N1.0 | Выравнивание | <IMG SRC="URL" ALIGN=TEXTTOP| ABSMIDDLE|BASELINE|ABSBOTTOM> | |
Альтернатива | <IMG SRC="URL" ALT="***"> | (выводится если картинка не изображается) | |
Карта | <IMG SRC="URL" ISMAP> | (нужна также программа) | |
Локальная карта | <IMG SRC="URL" USEMAP="URL"> | ||
Определение карты | <MAP NAME="***"></MAP> | ||
Области карты | <AREA SHAPE="RECT" COORDS=",,," HREF="URL"|NOHREF> | ||
Размеры | <IMG SRC="URL" HEIGHT=?> | (в точках) | |
Окантовка | <IMG SRC="URL" BORDER=?> | (в точках) | |
Отступ | <IMG SRC="URL" HSPACE=? VSPACE=?> | (в точках) | |
N1.0 | Заменитель в низком разрешении | <IMG SRC="URL" LOWSRC="URL"> | |
N1.1 | Обновить | <META HTTP-EQUIV="Refresh" CONTENT="?; URL=URL"> | |
N2.0 | Включить объект | <EMBED SRC="URL"> | (вставить объект в страницу) |
N2.0 | Размер объекта | <EMBED SRC="URL" HEIGHT=?> |
РАЗДЕЛИТЕЛИ | |||
Параграф | <P></P> | (закрывать элемент часто не обязательно) | |
Выравнивание | <P ALIGN=LEFT|CENTER|RIGHT></P> | ||
Новая строка | <BR> | (одиночный перевод строки) | |
Убрать выравнивание | <BR CLEAR=LEFT|RIGHT|ALL> | ||
Горизонтальный разделитель | <HR> | ||
Выравнивание | <HR ALIGN=LEFT|RIGHT|CENTER> | ||
Толщина | <HR SIZE=?> | (в точках) | |
Ширина | <HR WIDTH=?> | (в точках) | |
N1.0 | Ширина в процентах | <HR WIDTH="%"> | (в процентах от ширины страницы) |
Сплошная линия | <HR NOSHADE> | (без трехмерных эффектов) | |
N1.0 | Нет разбивки | <NOBR></NOBR> | (запрещает перевод строки) |
N1.0 | Перенос | <WBR> | (где разбивать строку для переноса при необходимости) |
СПИСКИ | ||||
Неупорядоченный | <UL><LI></UL> | (<LI> перед каждым элементом) | ||
Компактный | <UL COMPACT></UL> | |||
|
Тип метки | <UL TYPE=DISC|CIRCLE|SQUARE> | (для всего списка) | |
<LI TYPE=DISC|CIRCLE|SQUARE> | (этот и последующие) | |||
Нумерованный | <OL><LI></OL> | (<LI> перед каждым элементом) | ||
Компактный | <OL COMPACT></OL> | |||
|
Тип нумерации | <OL TYPE=A|a|I|i|1> | (для всего списка) | |
<LI TYPE=A|a|I|i|1> | (этот и следующие) | |||
|
Первый номер | <OL START=?> | (для всего списка) | |
<LI VALUE=?> | (этот и следующие) | |||
Список определений | <DL><DT><DD></DL> | (<DT>=термин, <DD>=определение) | ||
Компактный | <DL COMPACT></DL> | |||
Меню | <MENU><LI></MENU> | (<LI> перед каждым элементом) | ||
Компактное | <MENU COMPACT></MENU> | |||
Каталог | <DIR><LI></DIR> | (<LI>перед каждым элементом) | ||
Компактный | <DIR COMPACT></DIR> |
ФОН И ЦВЕТА | |||
Фоновая картинка | <BODY BACKGROUND="URL"> | ||
Цвет фона | <BODY BGCOLOR="#$$$$$$"> | (порядок: красный/зеленый/синий) | |
Цвет текста | <BODY TEXT="#$$$$$$"> | ||
Цвет ссылки | <BODY LINK="#$$$$$$"> | ||
Пройденная ссылка | <BODY VLINK="#$$$$$$"> | ||
Активная ссылка | <BODY ALINK="#$$$$$$"> | ||
|
СПЕЦИАЛЬНЫЕ СИМВОЛЫ(обязаны быть в нижнем регистре) | |||
Специальный символ | &#?; | (где ? это код ISO 8859-1) | |
< | < | ||
> | > | ||
& | & | ||
" | " | ||
Торговая марка ТМ | ® | ||
Copyright | © | ||
Неразрывный пробел | | ||
|
ФОРМЫ | |||
Определить форму | <FORM ACTION="URL" METHOD=GET|POST></FORM> | ||
N2.0 | Посылка файла | <FORM ENCTYPE="multipart/form-data"></FORM> | |
Поле ввода | <INPUT TYPE="TEXT|PASSWORD|CHECKBOX|RADIO| IMAGE|HIDDEN|SUBMIT|RESET"> | ||
Имя поля | <INPUT NAME="***"> | ||
Значение поля | <INPUT VALUE="***"> | ||
Отмечен? | <INPUT CHECKED> | (checkboxes и radio boxes) | |
Размер поля | <INPUT SIZE=?> | (в символах) | |
Максимальная длина | <INPUT MAXLENGTH=?> | (в символах) | |
Список вариантов | <SELECT></SELECT> | ||
Имя списка | <SELECT NAME="***"></SELECT> | ||
Число вариантов | <SELECT SIZE=?></SELECT> | ||
Множественний выбор | <SELECT MULTIPLE> | (можно выбрать больше одного) | |
Опция | <OPTION> | (элемент который может быть выбран) | |
Опция по умолчанию | <OPTION SELECTED> | ||
Ввод текста, размер | <TEXTAREA ROWS=? COLS=?></TEXTAREA> | ||
Имя текста | <TEXTAREA NAME="***"></TEXTAREA> | ||
N2.0 | Разбивка на строки | <TEXTAREA WRAP=OFF|VIRTUAL|PHYSICAL></TEXTAREA> |
Таблицы | |||
Определить таблицу | <TABLE></TABLE> | ||
Окантовка таблицы | <table border=?></TABLE> | ||
Расстояние между ячейками | <TABLE CELLSPACING=?> | ||
Дополнение ячеек | <TABLE CELLPADDING=?> | ||
Желаемая ширина | <TABLE WIDTH=?> | (в точках) | |
Ширина в процентах | <TABLE WIDTH="%"> | (проценты от ширины страницы) | |
Строка таблицы | <TR></TR> | ||
Выравнивание | <TR ALIGN=LEFT|RIGHT| CENTER|MIDDLE|BOTTOM> | ||
Ячейка таблицы | <TD></TD> | (должна быть внутри строки) | |
Выравнивание | <TD ALIGN=LEFT|RIGHT| CENTER|MIDDLE|BOTTOM> | ||
Без перевода строки | <TD NOWRAP> | ||
Растягивание по колонке | <TD COLSPAN=?> | ||
Растягивание по строке | <TD ROWSPAN=?> | ||
N1.1 | Желаемая ширина | <TD WIDTH=?> | (в точках) |
N1.1 | Ширина в процентах | <TD WIDTH="%"> | (проценты от ширины страницы) |
N3.0b | Цвет ячейки | <TD BGCOLOR="#$$$$$$"> | |
Заголовок таблицы | <TH></TH> | (как данные, но жирный шрифт и центровка) | |
Выравнивание | <TH ALIGN=LEFT|RIGHT| CENTER|MIDDLE|BOTTOM> | ||
Без перевода строки | <TH NOWRAP> | ||
Растягивание по колонке | <TH COLSPAN=?> | ||
Растягивание по строке | <TH ROWSPAN=?> | ||
N1.1 | Желаемая ширина | <TH WIDTH=?> | (в точках) |
N1.1 | Ширина в процентах | <TH WIDTH="%"> | (проценты ширины таблицы) |
N3.0b | Цвет ячейки | <TH BGCOLOR="#$$$$$$"> | |
Заглавие таблицы | <CAPTION></CAPTION> | ||
Выравнивание | <CAPTION ALIGN=TOP|BOTTOM> | (сверху/снизу таблицы) |
ФРЕЙМЫ | |||
N2.0 | Документ с фреймами | <FRAMESET></FRAMESET> | (вместо <BODY>) |
N2.0 | Высота строк | <FRAMESET ROWS=,,,></FRAMESET> | (точки или %) |
N2.0 | Высота строк | <FRAMESET ROWS=*></FRAMESET> | (* = относительный размер) |
N2.0 | Ширина колонок | <FRAMESET COLS=,,,></FRAMESET> | (точки или %) |
N2.0 | Ширина колонок | <FRAMESET COLS=*></FRAMESET> | (* = относительный размер) |
N3.0b | Ширина окантовки | <FRAMESET BORDER=?> | |
N3.0b | Окантовка | <FRAMESET FRAMEBORDER="yes|no"> | |
N3.0b | Цвет окантовки | <FRAMESET BORDERCOLOR="#$$$$$$"> | |
N2.0 | Определить фрейм | <FRAME> | (содержание отдельного фрейма) |
N2.0 | Документ | <FRAME SRC="URL"> | |
N2.0 | Имя фрейма | <FRAME NAME="***"|_blank|_self| _parent|_top> | |
N2.0 | Ширина границы | <FRAME MARGINWIDTH=?> | (правая и левая границы) |
N2.0 | Высота границы | <FRAME MARGINHEIGHT=?> | (верхняя и нижняя границы) |
N2.0 | Скроллинг? | <FRAME SCROLLING="YES|NO|AUTO"> | |
N2.0 | Постоянный размер | <FRAME NORESIZE> | |
N3.0b | Окантовка | <FRAME FRAMEBORDER="yes|no"> | |
N3.0b | Цвет окантовки | <FRAME BORDERCOLOR="#$$$$$$"> | |
N2.0 | Содержание без фреймов | <NOFRAMES></NOFRAMES> | (для просмотрщиков не поддерживающих фреймы) |
ЯЗЫК JAVA | |||
Applet | <APPLET></APPLET> | ||
Applet - имя файла | <APPLET CODE="***"> | ||
Параметры | <APPLET PARAM NAME="***"> | ||
Applet - адрес | <APPLET CODEBASE="URL"> | ||
Applet - имя | <APPLET NAME="***"> | (для ссылок из других частей страницы) | |
Альтернативный текст | <APPLET ALT="***"> | (для программ не поддерживающих Java) | |
Выравнивание | <APPLET ALIGN="LEFT|RIGHT|CENTER"> | ||
Размеры | <APPLET HEIGHT=?> | (в точках) | |
Отступ | <APPLET HSPACE=? VSPACE=?> | (в точках) |
РАЗНОЕ | |||
Комментарий | <!-- *** --> | (игнорируется просмотрщиком) | |
Пролог HTML 3.2 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> | ||
Поиск | <ISINDEX> | (означает начальную точку поиска) | |
Приглашение | <ISINDEX PROMPT="***"> | (текст приглашения для поля ввода) | |
Запустить поиск | <A HREF="URL?***"></a> | (используйте действительно знак вопроса) | |
URL этого файла | <BASE HREF="URL"> | (должно быть в заголовке) | |
N2.0 | Имя базового окна | <BASE TARGET="***"> | (должно быть в заголовке) |
Отношение | <LINK REV="***" REL="***" HREF="URL"> | (должно быть в заголовке) | |
Метаинформация | <META> | (должно быть в заголовке) | |
Стили | <STYLE></STYLE> | (часто не поддерживается) | |
Программа | <SCRIPT></SCRIPT> | (часто не поддерживается) |
· Основы XML и объектная модель представления данных
Бурное развитие Интернет технологий вовлекло в международную паутину миллионы пользователей. Требования к электронному обмену возросли, и уже существующий протокол HTML многие группы пользователей перестал удовлетворять.
В начале февраля 1998 г международная организация W3C утвердила спецификацию "Extensible Markup Language(XML) 1.0". Уже сегодня появляются новые языки, созданные на основе XML. Возникают многочисленные Web-сервера, использующие и технологию XML для организации хранящейся на них информации.
Современные приложения требуют не только более гибкий протокол представления данных, но и механизм, позволяющий определить структуру документа и описывать содержащие в нем элементы.
Язык XML предназначен для создания новых языков разметки. С его помощью можно описать целый класс объектов данных, называемых XML - документами, ориентированными на конкретную предметную область. XML позволяет определить допустимый набор тэгов, их атрибуты и внутреннюю структуру документа. Тэги (подобно тэгам в HTML) представляют специальные инструкции, предназначенные для формирования в документах определенной структуры и четких отношений между различными элементами этой структуры.
Можно выделить следующий круг задач, связанных с созданием и обработкой структурированной информации, для решения которых может использоваться XML:
· Разработка сложных информационных систем, с большим количеством приложений, связанных потоками информации самой различной структуры. XML - документы выполняют роль универсального формата для обмена информацией между отдельными компонентами большой программы.
· XML является базовым стандартом для нового языка описания ресурсов, RDF, позволяющего упростить многие проблемы в Web, связанные с поиском нужной информации, обеспечением контроля за содержимым сетевых ресурсов, создания электронных библиотек и т.д.
· XML может использоваться в обычных приложениях для хранения и обработки структурированных данных в едином формате.
· XML позволяет описывать данные произвольного типа и используется для представления специализированной информации.
· XML может служить мощным дополнением к HTML для распространения в Web "нестандартной" структурированной информации
· XML-документы могут использоваться в качестве промежуточного формата данных в трехзвенных системах при поиске информации в удаленных базах данных. Сегодня на рассмотрение W3C предложена спецификация нового языка запросов к базам данных XQL.
· Информация, содержащаяся в XML-документах, может изменяться, передаваться на машину клиента и обновляться по частям. Разрабатываемые спецификации XLink и Xpointer позволяют ссылаться на отдельные элементы документа, c учетом их вложенности и значений атрибутов.
· Использование стилевых таблиц (XSL) позволяет обеспечить независимое от конкретного устройства вывода отображение XML- документов и фильтрацию данных.
Тэги языка кодируются и выделяются относительно основного содержимого документа и служат в качестве инструкций для программы, производящей действия над содержимым документа на стороне клиента.
Исторически сложилось таким образом, что в системах для обозначения этих команд использовались символы "<" и ">", внутри которых помещались названия инструкций и их параметры. Сейчас такой способ обозначения тэгов является стандартным.
Например, для создания элемента Ivanov в имени заказчика используется тэг <CustumerName>. В программе это выглядит следующим образом:
<CustumerName> Ivanov </CustumerName>
Определения тэгов может легко расширяться. Так для указания более полных реквизитов заказчика можно определить тег <Custumer>, в который включено не только имя, телефон заказчика, но и адрес компании.
<Custumer>
<CustumerName> Ivanov </CustumerName>
<phone>312-12-13<phone>
<Company>Bussines Trade Consulti</Company>
</Custumer>
Можно создать массив заказчиков, определив тег <Custumers>:
<Custumers>
<Custumer>
<CustumerName> Ivanov </CustumerName>
<phone>312-12-13<phone>
<Company>Bussines Trade Consulti</Company>
</Custumer>
<Custumer>
<CustumerName> Petrov </CustumerName>
<phone>315-15-16<phone>
<Company> Trade Forest Company</Company>
</Custumer>
<Custumer>
......
</Custumer>
</Custumers>
Из приведенного примера видно, что XML - документы подлежат четкой структуризации и имеют четкую иерархическую структуру следования элементов. Элементы имеют своих родителей - корневые элементы и наследников - дочерние элементы.
Документ XML состоит из элементов. Элемент - это структурная единица XML- документа. Заключая данные об имени заказчика в тэги <CustumerName> </CustumerName>, XML-процессор определит как элемент. Содержимым элемента CustumerName является значение. В нашем примере имеется два значения (Ivanov и Petrov) элемента CustumerName.
Контроль за правильностью использования порядка использования элементов осуществляется при помощи специального набора правил, называемых DTD (Document Type Definition)- описаниями, которые используются программой клиента при анализе документа.
Производя в последствии поиск в XML документе, программа клиента будет опираться на информацию, заложенную в его структуру - используя элементы документа, определенные в DTD.
В общем случае XML- документы должны удовлетворять следующим синктатическим правилам:
· В заголовке документа помещается объявление XML, в котором указывается язык разметки документа, номер его версии и дополнительная информация;
· Каждый открывающий тэг, определяющий некоторую область данных в документе обязательно должен иметь парный закрывающий тэг;
· XML учитывает регистр символов;
· Все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки;
· Вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов;
· Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные и поэтому учитываются все символы форматирования ( пробелы, переводы строк, табуляции не игнорируются)
В случае, если элемент не содержит данных, т.е. является пустым, то начальный и конечные тэги такого элемента можно объединить в один. При этом не обязательно ставить косую черту перед закрывающей угловой скобкой (например, в вышеприведенном примере отсутствие факса в компании пару тэгов <fax></fax> можно заменить на <fax/>;)
При необходимости, каждому элементу можно задать параметры, уточняющие его характеристики. При этом используются атрибуты элемента. Атрибут - это пара "название" = "значение", которую необходимо задавать при определении элемента в начальном тэге. Пример:
<container Type="20f">123456</container > двадцати футовый контейнер
<container Type ="30f ">654321</container> тридцати футовый контейнер
Просмотр XML документов осуществляется специальной программой анализатором. На сегодняшний день разработано около десятка подобных анализаторов. В своем новом браузере Internet Explorer 5 фирма Microsoft уже предусмотрела анализ XML документов.
Анализ документа в Internet Explorer 5 осуществляется тремя вариантами: просмотр аналогично HTML документу, форматирование документа с использованием специальных стилевых таблиц - XSL и анализ с помощью сценариев, написанных на Java Script ил VBScript.
Поиск нужного элемента или поддерева осуществляется при помощи XQL запроса. XQL является частью XML и переводится как язык запросов для XML (XML Query Language). Идет дискуссия об утверждении языка запросов в качестве общепринятого стандарта, который может заменить SQL.
Синтаксис языка запросов очень гибок и позволяет осуществлять поиск элемента как по названию, значению атрибутов, содержанию, так и учитывать вложенность и положение в дереве элементов. При помощи запросов мы можем выделять из общего дерева необходимые нам элементы и применять к ним необходимые инструкции. Запрос возможно применять как к самому XML документу, так и к ссылкам URL.
Язык запросов напоминает обычный способ определения пути к ресурсу - список узлов дерева, разделенных символом "/". Для указания на текущий элемент используется символ "." , на родительский - "..", для выделения всех дочерних элементов - символ "*", для выделения элемента, расположенного просто "ниже" по дереву(не важно на каком уровне вложенности) - "//". Условие на значение в запросе должно заключаться в символы "[" и "]". Для выбора значения атрибута в условии указывается символ @.
Примеры простых XQL шаблонов:
"/Customer " | корневой элемент |
"Customers/" | возвращает дочерние элементы для элемента Customers |
"Customers //" | список всех элементов, вложенных в Customers |
"container[@Type]" | список элементов container, в котором определен атрибут Type |
"container[@Type =20f]" | поиск всех двадцатифутовых контейнеров, т.е. элементов container, в котором значение атрибута Type равно "20f" |
"Customers[address]" | список элементов Customers, которые содержат хотя бы один элемент address, выражение в квадратных скобках может быть составным. |
Как мы видим, XML документ в отличие от EDIFACT сообщения позволяет более наглядно представить объектную модель данных. Использование языка описания XML запросов - XQL позволяет адекватно формализовать любой из существующих "бизнес" запросов (оформленных в виде стандартных документов) для информационных систем.
Разбор XML документов в отличие от EDI-систем возможен стандартными анализаторами, что значительно удешевляет разработку новых информационных систем. Использование встроенных транспортных протоколов делает эти системы полностью совместимыми с существующими программными средствами и WEB технологиями.
2019-07-04 | 197 | Обсуждений (0) |
5.00
из
|
Обсуждение в статье: Веб-страницы. Языки разметки. (HTML, XML) |
Обсуждений еще не было, будьте первым... ↓↓↓ |
Почему 1285321 студент выбрали МегаОбучалку...
Система поиска информации
Мобильная версия сайта
Удобная навигация
Нет шокирующей рекламы