Администрирование локальных сетейРефераты >> Программирование и компьютеры >> Администрирование локальных сетей
· 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, выражение в квадратных скобках может быть составным. |