XML основы или Что такое XML

Автор: Admin    Категория: Основы / XML    Теги:  XML    Дата: 17-02-2011, 14:59
XML основы или Что такое XML
XML или Язык Расширяемой Маркировки (eXtensible Markup Language) - это язык разметки, описывающий целый класс объектов данных, называемых XML- документами.
Этот язык используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. Т.е. сам по себе XML не содержит никаких тэгов, предназначенных для разметки, он просто определяет порядок их создания.

Что такое XML?


Наверняка Вам уже приходилось слышать слово XML. Что же оно означает? Этот модный термин обозначает особую разновидность обычных текстовых документов. Чем же плохи обычные текстовые документы и что особенного есть в XML-документах?

В любом текстовом документе можно написать что угодно и как угодно, например, можно ставить между одними словами один пробел, а между другими - два пробела. Можно иногда выделять абзац красной строкой из трех пробелов, а иногда оставлять пустую строчку между соседними абзацами. Можно написать заголовок документа в первой строке, а можно начать писать документ с фамилии автора. Подобного рода примеры можно продолжать до бесконечности. Если такие документы предназначены лишь для своего собственного чтения то никаких проблем не возникает. Но если документ необходимо опубликовать, причем не важно где - в журнале, в газете или на сайте, то его придется долго переделывать - оформлять единообразным способом абзацы, выделять из общего повествования заголовок пустой строкой, между заголовком и первым абзацем указывать фамилию автора и краткую аннотацию и т.д. Одним словом возникнет необходимость оформить документ некоторым стандартным для данного издания способом. А если потом понадобится опубликовать этот документ в другом месте, где действуют другие требования на оформление? Понадобится снова вручную что-то изменять и переделывать. В итоге вместо творческой работы - написания новой статьи или заметки - придется заниматься какой-то рутиной. Есть ли выход из этой ситуации в наш век информатизации и автоматизации? Оказывается выход есть - на помощь придет XML!

Фактически XML - это способ разметки документов, предназначенный для формирования в документах какой-либо структуры и определения отношений между различными элементами этой структуры. Для создания такой разметки служат специальные инструкции, называемые тегами. Чтобы не путать теги с остальным текстом их располагают между символами < и >. Благодаря наличию тегов становится возможной унифицированная автоматическая обработка и форматирование XML-документов. Таким образом, XML-документ может быть легко преобразован и отформатирован автоматически в соответствии с любыми требованиями любое количество раз.

Благодаря XML удается также контролировать правильность данных, хранящихся в документах, а также устанавить единый стандарт на структуру документов, в которых могут содержаться произвольные данные. XML незаменим при построении сложных информационных систем, в которых очень важным является вопрос обмена информацией между различными потребителями. Благодаря XML можно избавиться от многих проблем, связанных с несовместимостью используемых различными компонентами системы форматов данных.

Как же выглядит XML-документ? Вот типичный пример:

Пример типичного XML-документа

<?xml version="1.0" encoding="windows-1251" ?> 
<!DOCTYPE InfoPacket SYSTEM "http://xml.prime-tass.ru/dtd/UIF.dtd">
<InfoPacket>
  <Source type="string">ПРАЙМ-ТАСС</Source> 
  <Time type="datetime">08.05.2001 13:53:17</Time> 
  <InfoItem>

    <Time type="datetime">17.04.2001 10:07:47</Time> 
    <title type="string">
      Первый серийный самолет &quot;Ту-214&quot; производства КАПО
      совершил первый испытательный полет
    </title> 
    <Text>
      МОСКВА, 11 апреля. /ПРАЙМ-ТАСС/. Первый экземпляр
      самолета Ту-214, выпущенный в серийном исполнении
      на Казанском авиационно-производственном объединении
      /КАПО/, совершил первый испытательный полет. Об
      этом ПРАЙМ-ТАСС сообщили в Финансовой лизинговой
      компании /ФЛК/.
    </Text> 
    <Text>

      Самолет изготовлен для хабаровской авиакомпании
      &quot;Дальавиа&quot; в рамках соглашения, заключенного в 2000
      году между &quot;Дальавиа&quot; и ФЛК, предусматривающего передачу в
      лизинг двух Ту-214, производимых на КАПО. Ту-214
      предназначен для перевозки 164 пассажиров на расстояние
      7,2 тыс км на маршрутах Москва-Хабаровск, а также в Корею
      и Китай. 
    </Text>
    <Text>
      Общие затраты на подготовку производства самолета составили
      1,2 млрд руб. Из бюджета страны на эти цели было выделено
      всего 1,5 млн руб. Подготовка к производству велась за счет
      средств КАПО и бюджета Татарстана, а также полного
      освобождения предприятия от республиканского и местных
      налогов. Из республиканского бюджета на сертификацию
      самолета было выделено 97 млн руб, а также 275 млн руб
      для запуска механизма лизинга.
    </Text> 
    <Text>
      Предварительная стоимость Ту-214 составляет 22-25 млн долл.
    </Text> 
  </InfoItem>

</InfoPacket>


Первые две строчки в этом примере можно пока считать "волшебными словами", которые должны присутствовать (первая строчка означает, что данный документ является XML-документом, а вторая указывает на специальный ресурс http://xml.prime-tass.ru/dtd/UIF.dtd, в котором содержатся правила оформления данного XML-документа). Более подробную информацию по этим "волшебным словам" и не только можно получить на сайте http://www.w3.org.

Остальные строчки имеют явно выраженную иерархическую структуру, в которой есть один корневой тег <InfoPacket>, а остальные теги вложены в него. Все эти теги встечаются парами, например, <InfoPacket> и </InfoPacket>, или <Text> и </Text>. Первые - обозначают открывающийся тег, вторые - парный ему закрывающийся. В XML-документе каждый открывающийся тег обязан иметь парный ему закрывающийся.

Что же эти теги обозначают? Тег <InfoPacket> является самым главным тегом - корнем иерархической структуры и предназначен для хранения вложенных в него остальных тегов. Таким образом, он представляет собой своеобразный "конверт" или "обертку" - информационный пакет. В него вложены теги <Source>, <Time> и <InfoItem>. Тег <Source> содержит сведения об источнике информации, заключенной в данном информационном пакете ("адрес отправителя"). В теге <Time> указано время создания информационного пакета ("время заклеивания конверта"). И, наконец, в теге <InfoItem> находится собственно "письмо" - фактическое смысловое наполнение информационного пакета. Что же содержится в этом "письме"? В нем находятся теги <Time>, <Title> и <Text>. В теге <Time>, вложенном в тег <InfoItem> указано когда наше "письмо" было написано, т.е. время написания содержимого <InfoItem>. Не следует путать это время с моментом "заклеивания конверта" (созданием информационного пакета <InfoPacket>). Обычно сначала пишут "письмо", а потом "заклеивают конверт" с ним. Кстати, если получателей несколько, то придется "заклеить" несколько "конвертов" с одинаковыми копиями "письма". Или возможна ситуация, когда нужно положить в один конверт несколько "писем" для одного получателя. В этом случае придется поместить внутри тега <InfoPacket> несколько тегов <InfoItem>. Кроме тега <Time> в <InfoItem> вложен тег <Title>, в котором написан заголовок документа или "письма", если продолжить нашу аналогию. И, наконец, остался тег <Text>, который несколько раз встречается внутри тега <InfoItem>. Этот тег <Text> обозначает просто абзацы документа.

Вот и весь XML! Все оказалось не так уж и сложно. Да, осталось только сказать, что означают и для чего нужны записи, типа type="datetime" или type="string" внутри названий тегов <Source>, <Time> и <Title> и почему их нет в тегах <Text>. Такого рода записи в XML называются атрибутами тегов. В данном случае мы имеем один атрибут type, который принимает значения "datetime" и "string". Значения атрибутов в XML всегда заключаются в кавычки. Атрибут type нужен для того, чтобы точно указать как следует интерпретировать последовательность символов, заключенную внутри тега с этим атрибутом. Значение "datetime" означает, что значение тега нужно интерпретировать как дату и время, а значение "string" - как обычную строку. У тега <Text> атрибут type отсутствует, т.к. по смыслу этого тега и так ясно, что в этом теге содержится текстовая строка.

Если вы хотите иметь возможность публиковать документы, доступные всем и везде, независимо от типа браузера, окружения клиента, типа носителя и т.д.- XML вполне подходит для того, чтобы предоставить такую возможность. XML спроектирован для того, чтобы предоставить Web-разработчикам возможность определения содержания более сложных документов, причем с более корректным "отображением данных", нежели ранее. В сегодняшней ситуации средний Web-разработчик использует HTML при работе как с презентационными, так и со структурированными данными.

Хорошим примером может послужить таблица в документе.

<table id="TABLE1" border="1" align="center">
  <tr  align="middle">
    <td>Product ID</td>
    <td>Product</td>
    <td>Version</td>
  </tr>
  <tr>
    <td>500</td>
    <td>PowerProduct</td>
    <td>5</td>
  </tr>
  <tr>
    <td>501</td>
    <td> PowerProduct</td>
    <td>5</td>
  </tr>
  <tr>
    <td>502</td>
    <td>PowerProduct</td>
    <td>6.01</td>
  </tr>
</table>


Из этого примера можно сделать вывод. Во-первых, структура таблицы, как и ее представление обслуживаются одними и теми же тэгами. Для того, чтобы обеспечить согласованность и возможность повторного использования их следует разделить. Это можно сделать, используя таблицы стилей. А как насчет данных? После отделения презентационной информации у нас остается набор табличных тэгов с неразличимой структурой. Будет очень сложно определить соответствие между отдельными частями данных или понять данные как таковые. Можно использовать схему, которая для получения определенной последовательности использовала бы атрибут ID (для каждого тэга), но этот подход будет слишком сложным и недостаточно гибким. Предположим, что вам требуется запросить данные и определить последнюю версию PowerProduct. Как различить две строки из нашего примера? Первая строка таблицы относится к корпоративной версии PowerProduct, а вторая строка является desktop-вариантом. В этом примере можно продолжать добавлять данные, но будет ли возможность определить, какой строке соответствует данный столбец? Как выясняется, при определении этого соответствия существует ограничение, которое связано с местоположением данных. Если для поиска в базе данных применять именно такую логику, то существует опасность вскоре расстаться со своим рассудком.

Одной из важнейших возможностей XML является возможность использования метаданных для определения структуры данных. XML полностью дополняет HTML, использующийся для представления данных. Так же, как и HTML, XML состоит из элементов, причем они определяют содержание, а не представление. Как таковой, XML является не языком, а системой, определяющей язык. Например, при помощи XML предыдущая таблица может быть определена следующим образом:

<inventory>
  <product id="500" version="5">PowerProduct
  </product>
  <product id="501" version="5">PowerProduct
  </product>
  <product id="502" version="6.01">PowerProduct
  </product>
</inventory>


<FACE="PragmaticaC,Arial"> или

<inventory>
  <product>
    <id>500</id>
    <version>5</version>
    <name>PowerProduct</name>
  </product>
...more products
</inventory>


Каждый пункт идентифицируется элементом, который однозначно определяет содержащиеся в нем данные. Первый элемент <inventory> идентифицирует набор связанных порций информации. Второй элемент — <product> — идентифицирует определенные порции информации. Тэг <product> может использовать атрибуты, которые более детально определяют данные, содержащиеся в элементе (как в первом примере), либо можно определять отдельные элементы для каждой порции информации и не пользоваться атрибутами вообще. При этом уровень модульности продолжает находиться под контролем. По мере надобности, для более детального разделения данных, могут быть добавлены атрибуты, а для определения отдельных порций информации — заданы дополнительные элементы. Используя объектно-ориентированную модель XML можно запрашивать документ из различных окружений, таких как javascript, VBScript, Java™ и т.д. В дополнение, существует возможность точного определения, как каждый элемент документа связан с другими элементами и как каждый из элементов должен обслуживать свои данные. Важно помнить, что XML структурирует свои данные по принципу дерева с главными и подчиненными узлами. В нашем примере <inventory> — главный элемент по отношению к <product> и с использованием этой связи может быть указан в ссылке. При создании XML-документа создается древовидная структура. XML не занимается отображением данных; он берет на себя вопросы адресации и организации данных. XML может рассматриваться как язык описания данных.
Маркирование текста

В дополнение к определению "набор ориентированных" данных, XML может использоваться и для разметки обычного текста. В качестве примера воспользуемся следующим предложением:

В последнем квартале продажа Продукции А превысила на 6,5 % продажи 3-го квартала. Увеличение дохода показывает, что продажи Продукции А потребителю имеют соотношение с корпоративными продажами как 2 к 1.

Теперь представим, что нам нужно найти этот документ на Web-сайте. Что же следует искать? Обычные поисковые программы не будут просматривать весь текст документа — такой тип поиска не практичен. Вместо этого происходит поиск определенной строки, заголовка или описания документа, встроенного в документ в виде метаданных. Облегчим свою задачу.

В последнем квартале продажа <product>Продукции А</product> превысила на <qtrincrease>6,5 </qtrincrease>% продажи 3-го квартала. Увеличение дохода показывает, что продажи <product>Продукции А</product> потребителю имеют соотношение с корпоративными продажами как 2 к 1.

Такое маркирование текста предоставляет нам возможность поиска документов, содержащих информацию об определенной продукции, не принимая к рассмотрению остальную. В вышеприведенном примере представлен текст, входящий в тело документа. Его маркирование позволяет выполнять запрос по тексту, используя определенные критерии.

XML и DTD

XML произошел из SGML (Standard Generalized Markup Language — Стандартный Обобщенный Язык Описания Документов). XML — это поднабор, включающий в себя множество возможностей SGML. SGML обеспечивает возможность определения языка, предоставляя средства, необходимые для определения правил, которые должны выполняться в случае, если определенный тип процессоров обнаруживает документ определенного типа. Так, с помощью SGML был создан HTML. HTML используется браузерами или любыми типами процессоров, которым он понятен. В работе HTML используется Определение Типа Документа — Document Type Definition, или DTD. В основном DTD — это комбинация определений типа документа и элементов, составляющих этот документ. DTD может определяться внутри документа, при этом оставаясь доступным (в том числе и для ссылок) извне. XML-процессор использует DTD для определения корректности документа. Корректным является документ, соответствующий всем правилам, определенным DTD.

DTD позволяет указать, сколько элементов связано друг с другом. Например:

<product>
    <id>
    <name>
    <version>
</product>


Один элемент обозначен как главный, а остальные — как подчиненные. Чтобы быть корректным, любой документ, содержащий эти элементы, должен поддерживать эти отношения. DTD ответственен за определение как этих отношений, так и дополнительных факторов — порядка использования элементов, типа данных, которые могут в них содержаться и пр.

<!ELEMENT product (id+,name+,version?)>


Определение элементов в этом примере, выполнено с помощью одного из объявлений, доступных при определении DTD. Оно "говорит", что у нас есть базовый элемент, называемый product и содержащий три подчиненных элемента. Подчиненные элементы отделяются запятыми, что говорит о последовательности их появления. Это означает, что элементы должны появляться один за другим. Есть и другие операторы, которые использовались для задания этого отношения. Следует обратить внимание на знаки "+", следующие за двумя из подчиненных элементов. Они означают, что эти элементы необходимы и не могут находиться вне XML-документа, использующего данный DTD. Знак "?" показывает, что этот элемент не является обязательным.

Теперь следует определить каждый элемент. Можно использовать такой тип объявления:

<!ELEMENT id (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT version (#PCDATA)>


PCDATA — это резервное имя, описывающее базовые элементы и представляющее тип данных, содержащихся в элементе. Оно означает наличие символьных данных, которые могут быть подвергнуты грамматическому анализу. Есть и дополнительные способы определения содержания элемента, а также атрибутов, которые могут содержаться в элементе.

DTD подчеркивает структуру данных, даже не пытаясь определить способ форматирования данных. Это входит в обязанности XML-процессора. Используя API, предусмотренный синтаксическим анализатором XML, разработчик может выполнять поиск и чтение определенной информации о структуре данных в документе и в соответствии с этим форматировать элементы.

Сегодняшний рынок предлагает синтаксические анализаторы для определения как корректности, так и некорректности документов. Корректный XML-документ должен соответствовать доступному DTD, в то время как просмотр остальных документов будет доступен всем. Однако, все документы, должны быть хорошо оформлены.

Правильно оформленный XML-документ

Правильно оформленный XML-документ — это документ, отвечающий синтаксическим правилам XML. Мы уже знаем, что имена элементам могут даваться по нашему желанию... но есть несколько правил.

Правило №1 — Все элементы должны корректно открываться, закрываться и быть вложенными.

Например:
Это корректно:

<name> Jane </p><address> Main Street </address> </name>


Это не корректно:

<name>Jane<address>123 Main </name></addess>

<name>Jane<address>123 Main</name>


XML не позволяет иметь незакрытые элементы. Так, если элементу не нужен закрывающий тэг (как в случае при отсутствии содержимого), это следует отражать при определении открывающего тэга элемента. Это можно сделать, завершая тэг символом "/".

Почему это правило необходимо? Вспомним, что XML-документам не нужно Определение Типа Документа (DTD – Document Type Definition). Без DTD процессор не может "понять", нужен элементу закрывающий тэг или нет, так что по умолчанию каждый элемент должен быть закрыт тем или иным способом.

Правило №2 — Все значения атрибутов должны заключаться в кавычки!

Это верно:

<product version="5">


Это неверно:

<product version=5>


Правило №3 — XML чувствителен к регистру. Можно пользоваться любым регистром, но следует быть последовательным.

<product> в нашем примере допустимо, в то время как <Product> или <PRODUCT> — нет.

Правило №4 — Свободное место не игнорируется. Следующие два примера будут интерпретироваться по-разному.

<title>
<name>The mysterious mathematician</name>
</title>

<title>
<name>
    The mysterious mathematician
</name>
</title>


Это — базовые правила XML. Если документ отвечает этим требованиям, он считается правильно оформленным. Если документ этим требованиям не удовлетворяет он просчитываться не будет. Можно ли вообразить, что бы было, если бы это относилось и ко всем HTML-документам? Как видите, создать XML-документ предельно легко. Особенно, если уже знать HTML.

XML в IE

Microsoft предлагает два способа для реализации XML в браузере. Первый — это синтаксический анализатор, написанный на С++. Второй — исходный код для синтаксического анализатора Java, который может быть получен по модему и включен в приложение.

Версия С++ не проверяет корректность, поэтому обеспечивает более высокое быстродействие. Она загружается браузером как DLL. В зависимости от используемого браузера, для работы с XML-данными и генерации HTML или DHTML в браузере можно использовать языки типа javascript или воспользоваться Microsoft Data Source Object (DSO).

В следующем примере XML-документ загружается в анализатор синтаксиса, написанный на С++

<script language="javascript" type="text/javascript">
function loadDocument()
{
...

// создаем экземпляр парсера
var xmldoc = new ActiveXObject(&quot;msxml&quot;);

// загружаем xml-документ
xmldoc.url = &quot;http://mysite.com/mydoc.xml&quot;

// используем объектную модель XML для доступа к свойствам документа
var parentdata = xmldoc.root.children;
var childdata = parentdata.item(0).children;

//...используем эти ссылки для доступа к данным
</script>


Этот пример можно использовать для генерации HTML или DHTML из результатов запросов, либо для визуализации данных можно использовать Microsoft DSO. В этом случае вы можете воспользоваться возможностями DHTML для подключения (data binding) XML-данных. IE позволяет осуществлять доступ к документу, запрашивать из него данные, а затем — визуализировать их в виде HTML.

XML в Netscape

Netscape предлагает поддержку XML-метаданных в Формате Описания Ресурсов (Resource Description Format — RDF), одном из приложений XML в Netscape RDF — это способ описания и доступа к данным. Не следует забывать, что XML-приложения это специализированные языки, такие как Формат Определения Канала (Channel Definition Format), в реализации Microsoft. RDF — это одна из таких реализаций.

Netscape планирует включить общий синтаксический анализатор XML, который бы работал с другими XML-приложениями, такими как Chemical Markup Language (CML) and Mathematical Markup Language (MML) — Химический и Математический языки маркировки.

Даже несмотря на то, что два браузера могут реализовываться по-разному, оба пригодны для выполнения загрузки, синтаксического анализа и отображения XML-документов (с или без DTD). Спецификации XML, связанных с ним DTD, XSL, XLL и объектно-ориентированной модели есть на домене W3C и будут поддерживаться всеми значимыми персонажами. Чтобы всегда иметь свежую информацию, почаще обращайтесь на сайт W3C и на сайты поставщиков.
XLL

В данный момент разрабатывается спецификация соединения XML (XML Linking Specification — XLL). Она определяет, как именно XML-документ будет обслуживать ссылки на содержимое. Не вдаваясь в подробности скажем, что это серьезно увеличит гибкость работы с ресурсами. Одной из возможностей XLL является управление семантикой соединения. Например, два атрибута XLL — это SHOW и ACTUATE. SHOW позволяет определять, когда подключенный ресурс встраивается в текущий документ или заменяет текущий документ, либо отображает в новом окне инициирование соединения. ACTUATE определяет, каким образом инициируется соединение — автоматически или по указанию пользователя.

XLL определяет несколько типов соединений. Простым считается соединение, которое очень напоминает стандартные HTML-соединения.

<link xml-link="SIMPLE"
href="resource" />Link Text</LINK>


Ресурс из этого примера может быть URL, запросом или расширенным указателем.

Расширенный указатель в основном означает, что можно перейти к некоторому месту любого документа независимо от наличия в нем точки привязки. В данном случае для соединения необходимо, чтобы точка привязки (или целевая точка) в документе имелась. Концепция расширенного указателя позволяет разработчику пересекать дерево элементов целевого документа и искать целевую точку программным способом.

Кроме того, через расширенные соединения можно получить доступ ко множеству ресурсов из одной точки. Эта концепция подобна кольцу Web, которое позволяет при работе со связанной информацией переходить с одного сайта на другой. Обычно этот процесс вовлекает сценарий со стороны сервера в существующее окружение. Спецификация соединения XML устраняет эту необходимость и предусматривает стандартизацию.
XSL

XSL используется для управления презентационными характеристиками XML-документа. XML позволяет семантически маркировать документ, что обеспечивает лучшую связь с необходимым содержимым или данными. После того, как данные были маркированы определенными тэгами, в информации о том, как должны отображаться данные, нет необходимости. Как же должны отображаться данные — в виде таблицы, графика или абзаца?

Одним из способов определения, как должен отображаться XML-документ — это использование процессора Расширяемого Языка Стилей (Extensible Style Language — XSL) и списка стилей XSL. XSL-процессор комбинирует XML-документ со спецификацией XSL и создает результат, который для браузера будет HTML, но может быть и любого другого выходного типа — например RTD, необработанный текст и т.д.

XML рассматривается как преемник SGML, а этим подразумевается, что XSL тоже много черпает из некоторых спецификаций стилей SGM. Поскольку SGML стал международным стандартом взаимодействия документов, было бы разумно стили, определяющие то, какими должны быть документы, тоже стандартизировать. В результате мы имеем Язык Семантики и Спецификации Документов (Document Style Semantics and Specification Language — DSSSL). Однако, ранее коммерческих приложений с поддержкой DSSSL, не хватало.

Сейчас существует стандарт HTML, называемый Списки Каскадных Стилей (Cascading Style Sheets — CSS). Этот стандарт предусматривает расширенные возможности при переопределении умолчальных представлений HTML-тэгов, но этого иногда недостаточно, например, при переопределении тэгов и для наследования характеристик от главных или равноправных элементов. Этим и многим другим занимается XSL. Фактически, XSL можно рассматривать как комбинацию большинства возможностей DSSL (без увеличения усложненности) с совместимостью и легкостью в использовании CSS. Это — действительно лучшее, что можно было взять из того и другого.

XSL — это расширенное множество CSS, которое разрабатывается с возможностью автоматического преобразования из CSS, что сбережет инвестиции. XSL сможет изменить последовательность данных в документе без лишних обращений к серверу, что сбережет усилия при написании сценариев и отрицательно на быстродействие приложения в целом не повлияет. Другой важной возможностью XSL является способность определения функций форматирования для процессов как визуализации в реальном времени, так и печати. В данный момент CSS может поддерживать только характеристики визуализации в реальном времени.

Базовой доктриной XSL является то, что разработчик определяет правило для определенного элемента или набора элементов — правило, определяющее, как должен отображаться данный элемент. Так, чтобы элемент отображался в голубом цвете и полужирным шрифтом можно сделать следующее:

<rule>
  <target-element type="name" />
  <p color="blue" font-style="bold">
  <children/></p>
</rule>


Если это правило относить к XML-документу, это выглядело бы:

<p style="color:blue;" font-style="bold"> PowerProduct</p>


XSL продолжает разрабатываться, поэтому официального стандарта еще нет. Однако, информацию, касающуюся технологии XSL (и связанных с ней технологиях, упомянутых в этой статье) можно найти на www.w3c.org.

До всеобщего признания XML предстоит пройти долгий путь. Должны быть написаны стандарты, должны быть окончательно оформлены средства разработки и отрасль все еще должна определить место XML в общей картине. Все эти вопросы сейчас на пути к своему решению.

Каждый разработчик может определиться в том, как следует использовать XML в своей работе. Среди вопросов, которыми следует задаться, например, такие. Насколько большие объемы данных должны публиковаться в Web? Приходится ли переделывать код при каждом появлении новой версии HTML? Используются ли данные, которые должны изменяться, должны быть готовы к визуализации и предназначены для обмена с другим приложением, без постоянной реструктуризации? Не будет ли более удобно разрабатывать приложения, ориентирующиеся на данные, которые смогут использоваться и по завершении жизненного цикла существующих браузер-технологий?

Это звучит привлекательно не без оснований. XML устраняет многие ограничения при создании гибкого содержимого столь стремительно меняющейся отрасли. Используемость этой технологии будет определяться приемлемостью стандартов в зависимости от стилей, моделей объектов, реализаций браузеров и возможностей соединений. Типы приложений и их приемлемость тоже не последние факторы, которые могут повлиять на рассмотрение XML в качестве панацеи от многих проблем Internet-разработчиков. Время рассудит, но думается, что в будущем эта технология будет не последней скрипкой в симфонии Web-разработки.

Подытожим... Что такое XML

Сегодня XML может использоваться в любых приложениях, которым нужна структурированная информация - от сложных геоинформационных систем, с гигантскими объемами передаваемой информации до обычных "однокомпьютерных" программ, использующих этот язык для описания служебной информации. При внимательном взгляде на окружающий нас информационный мир можно выделить множество задач, связанных с созданием и обработкой структурированной информации, для решения которых может использоваться XML:


* В первую очередь, эта технология может оказаться полезной для разработчиков сложных информационных систем, с большим количеством приложений, связанных потоками информации самой различной структурой. В этом случае XML - документы выполняют роль универсального формата для обмена информацией между отдельными компонентами большой программы.

* XML является базовым стандартом для нового языка описания ресурсов, RDF, позволяющего упростить многие проблемы в Web, связанные с поиском нужной информации, обеспечением контроля за содержимым сетевых ресурсов, создания электронных библиотек и т.д.

* Язык XML позволяет описывать данные произвольного типа и используется для представления специализированной информации, например химических, математических, физических формул, медицинских рецептов, нотных записей, и т.д. Это означает, что XML может служить мощным дополнением к HTML для распространения в Web "нестандартной" информации. Возможно, в самом ближайшем будущем XML полностью заменит собой HTML, по
крайней мере, первые попытки интеграции этих двух языков уже делаются (спецификация XHTML).

* XML-документы могут использоваться в качестве промежуточного формата данных в трехзвенных системах. Обычно схема взаимодействия между серверами приложений и баз данных зависит от конкретной СУБД и диалекта SQL, используемого для доступа к данным. Если же результаты запроса будут представлены в некотором универсальном текстовом формате, то звено СУБД, как таковое, станет "прозрачным" для приложения. Кроме того, сегодня на рассмотрение W3C предложена спецификация нового языка запросов к базам данных XQL, который в будущем может стать альтернативой SQL.

* Информация, содержащаяся в XML-документах, может изменяться, передаваться на машину клиента и обновляться по частям. Разрабатываемые спецификации XLink и Xpointer поволят ссылаться на отдельные элементы документа, c учетом их вложенности и значений атрибутов.

* Использование стилевых таблиц (XSL) позволяет обеспечить независимое от конкретного устройства вывода отображение XML- документов.

* XML может использоваться в обычных приложениях для хранения и обработки структурированных данных в едином формате.



XML-документ представляет собой обычный текстовый файл, в котором при помощи специальных маркеров создаются элементы данных, последовательность и вложенность которых определяет структуру документа и его содержание. Основным достоинством XML документов является то, что при относительно простом способе создания и обработки (обычный текст может редактироваться любым тестовым процессором и обрабатываться стандартными XML анализаторами), они позволяют создавать структурированную информацию, которую хорошо "понимают" компьютеры.
Версия для печати
  • 100
     Просмотров: 10 397      Комментариев: 0   

Понравилась новость XML основы или Что такое XML на MegaWeb.su? Сохрани в закладках или распечатай!


Информация

Внимание!

Если копируете мой материал - будьте добры оставлять ссылку на источник MegaWeb.su пожалуйста, или поставьте на свой сайт мою кнопочку.
Уважайте чужой труд! И Вам хорошо - и мне приятно, это стимулирует дальнейшее развитие проекта!

Информация

Внимание!

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Лента новостей
RSS 2.0

Лента новостей сайта megaweb.su

Блок программ Популярный софт

Коды блока "Популярный софт":

Фиксированный
windows-1251

код блока 1

<script type="text/javascript" src="/softblok/softblok.js" charset="windows-1251"></script>

Резиновый
windows-1251

код блока 2

<script type="text/javascript" src="/softblok/softblok2.js" charset="windows-1251"></script>

Резиновый
UTF-8

код блока 3

<script type="text/javascript" src="/softblok/softblok1.js" charset="utf-8"></script>