XML. Обзор языка


Оглавление (нажмите, чтобы открыть):

Основы XML для начинающих

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

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

Определение языка XML

XML (eXtensible Markup Language) – универсальный и расширяемый язык разметки данных, который не зависит от операционной системы и среды обработки. Xml служит для представления неких данных в виде структуры, и эту структуру Вы можете сами разработать или подстроить под ту или иную программу или какой-то сервис. Именно поэтому данный язык называют расширяемый, и в этом является его главное достоинство, за которое его так ценят.

Как Вы знаете, языков разметки существует достаточно много, например, язык HTML, но все они, так или иначе, зависят от обработчика, например, тот же самый html, код которого парсит браузер, является стандартизированным и не расширяемым, там есть четкие теги, синтаксис который нельзя нарушать, а в xml Вы можете сами создавать свои теги, т.е. свою разметку. Главным отличием HTML и XML является то, что html всего лишь описывает разметку для отображения данных, а xml — это абстрактная структура данных, которую можно обработать и отобразить как угодно и где угодно и поэтому сравнивать эти языки не нужно, у них абсолютно разное назначение.

Как уже отметилось выше xml очень распространенный и универсальный язык, посредствам которого практически все приложения, как web, так и просто для компьютера используют его в качестве обмена информации, так как с помощью него можно очень легко обмениваться данными между приложениями или сервисами, которые даже написаны на разных языках. В связи с чем, каждый начинающий программист, который занимается абсолютно любым программированием, должен иметь представление об XML. Если Вы хотите стать web мастером, то Вы просто обязаны знать XML, а как стать WEB Мастером и что для этого нужно знать, мы с Вами уже рассматривали.

Например, у меня однажды встала задача написать некий сервис, который должен по запросу возвращать данные в виде xml, т.е. своего рода разработать серверную часть приложения, а я даже понятия не имел, на чем написан клиент, который будет обрабатывать эти данные, и что, я написал сервис, который возвращал данные в виде xml и все, приложение работало отлично. И это только пример, с которым мне пришлось столкнуться, а теперь представьте, сколько различных организаций, сотрудничает и совестно разрабатывают программное обеспечение и обмениваются данными, и я не удивлюсь, что эти данные будут в виде xml.

Например, у меня однажды была задача написать некий сервис, который должен по запросу возвращать данные в виде xml, т.е. своего рода разработать серверную часть приложения, а я даже понятия не имел, на чем написан клиент, который будет обрабатывать эти данные, и что, я написал сервис, который возвращал данные в виде xml и все, приложение работало отлично. И это только пример, с которым мне пришлось столкнуться, а теперь представьте, сколько различных организаций, сотрудничает и совестно разрабатывают программное обеспечение и обмениваются данными, и я не удивлюсь, что эти данные будут в виде xml.

Также мне один раз пришлось хранить данные xml в базе MS SQL 2008, для того чтобы лучше представлять эти самые данные и обмениваться ими между сервером и клиентской частью приложения, это мы рассматривали в статье — Transact-sql – работа с xml.

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

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

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

XML теги

Язык XML для разметки использует теги (теги регистрозависимы), но не такие теги как в html, а те, которые Вы придумаете сами, но у xml документа есть также четкая структура, т.е. есть открывающий тег и закрывающий, есть вложенные теги и есть, конечно же, значения, которые расположены в этих тегах. Другими словами, все, что нужно для начальных знаний xml — это просто придерживаться этим правилам. Все вместе открывающий, закрывающий тег и значение называется элементом и весь xml документ состоит именно из элементов, которые в совокупности образуют структуру данных. У xml документа может быть только один корневой элемент, это запомните, так как если Вы напишите два корневых элемента, то это будет ошибка.

И пришло время привести пример xml разметки, и первый пример пока для синтаксиса:

Как видите все довольно просто, и таких вложенных друг в друга элементов может быть очень много.

Теперь давайте приведем пример, настоящего xml документа:

Как видите, я здесь просто привел пример своего рода каталога книг, но я не объявлял этот документ, т.е. не писал XML декларацию, которая говорит приложению, которое будет обрабатывать эти данные, что здесь расположены данные именно xml и в какой кодировке они представлены. Также можно писать комментарии и атрибуты, так давайте приведем пример такого документа:

Где первая строка и есть объявление декларации о том, что это документ XML и его необходимо читать в кодировке UTF-8.

Эти данные без обработки будут выглядеть, например, в браузере (Mozilla Firefox) следующим образом:

Надеюсь, Вы понимаете, что здесь catalog — это корневой элемент, который состоит из элементов book, который в свою очередь состоит из элементов name, author и comment, также для примера я задал несколько атрибутов у элемента catalog и у элемента book.

Для основ я думаю достаточно, так как если мы будем все глубже и глубже погружаться в XML, и во все технологии, которые связаны с этим языком, то тогда эта статья никогда не закончится. Так что на сегодня это все. Пока!

XML. Обзор языка

Зa неполный год своего официального существования язык XML привлек к себе уже достаточно много внимания со стороны разработчиков и пользователей Интернет. Сегодня количество приверженцев этой новой технологии возрастает также стремительно, как и число сообщений об очередных взятых ею преградах на пути к всеобщему признанию. Несмотря на то, что XML очень молод (международная организация W3C утвердила спецификацию «Extensible Markup Language(XML) 1.0» чуть меньше года назад — в начале февраля 1998 г) и отдельные компоненты этого языка находятся еще в стадии доработки, уже сегодня появляются новые языки, созданные на основе XML, возникают многочисленные Web-сервера, использующие эту технологию для организации хранящейся на них информации. Мир Интернет вокруг нас в очередной раз преображается, и мы можем стать участниками этого процесса уже сегодня

Целью данной статьи является попытка на конкретных примерах показать некоторые из возможностей XML, ответить на ряд часто возникающих при знакомстве с новым языком вопросов. Что же такое XML? В чем заключаются его преимущества перед привычным уже нам языком HTML? Можно ли использовать XML на своих Web-страничках уже сегодня? А если можно, то как?

В конце статьи приведены ссылки на другие ресурсы Интернет, с помощью которых Вы сможете также получить более полную информацию по конкретным интересующим Вас вопросам, связанным с применением XML и незатронутых нами в этой статье. Полные спецификации XML и связанных с ним языков доступны на официальной странице W3C — www.w3.org

Для чего нужен новый язык разметки?

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

Популярность World Wide Web и неотъемлемой ее части, HTML, безусловно, стала причиной повышенного внимания к системам гипертекстовой разметки документов. Хотя понятие гипертекста было введено В.Бушем еще в 1945 году и, начиная с 60-х годов стали появляться первые приложения, использующие гипертекстовые данные, всплеск активности вокруг этой технологии начался лишь тогда, когда возникла реальная необходимость в механизме объединения множества информационных ресурсов, обеспечения возможности создания, просмотра нелинейного текста. И примером реализации этого механизма послужила паутина WWW.

Язык разметки документов — это набор специальных инструкций, называемых тэгами, предназначенных для формирования в документах какой-либо структуры и определения отношений между различными элементами этой структуры. Тэги языка, или, как их иногда называют, управляющие дескрипторы, в таких документах каким-то образом кодируются, выделяются относительно основного содержимого документа и служат в качестве инструкций для программы, производящей показ содержимого документа на стороне клиента. В самых первых системах для обозначения этих команд использовались символы “ ”, внутри которых помещались названия инструкций и их параметры. Сейчас такой способ обозначения тэгов является стандартным.

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

Самый популярный на сегодняшний день язык гипертекстовой разметки – HTML, был создан специально для организации информации, распределенной в сети Интернет, и является одной из ключевых составляющих технологии WWW. С использованием гипертекстовой модели документа способ представления разнообразных информационных ресурсов в сети стал более упорядочен, а пользователи получили удобный механизм поиска и просмотра нужной информации.

HTML [8]является упрощенной версией стандартного общего языка разметки — SGML (Standart Generalised Markup Language[10]), который был утвержден ISO в качестве стандарта еще в 80-х годах. Этот язык предназначен для создания других языков разметки, он определяет допустимый набор тэгов, их атрибуты и внутреннюю структуру документа. Контроль за правильностью использования дескрипторов осуществляется при помощи специального набора правил, называемых DTD- описаниями(более подробно о DTD мы поговорим чуть позже), которые используются программой клиента при разборе документа. Для каждого класса документов определяется свой набор правил, описывающих грамматику соответствующего языка разметки. С помощью SGML можно описывать структурированные данные, организовывать информацию, содержащуюся в документах, представлять эту информацию в некотором стандартизованном формате. Но в виду некоторой своей сложности, SGML использовался, в основном, для описания синтаксиса других языков(наиболее известным из которых является HTML), и немногие приложения работали с SGML- документами напрямую.

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

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

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

Другим существенным недостатком HTML можно назвать ограниченность набора его тэгов. DTD- правила для HTML определяют фиксированный набор дескрипторов и поэтому у разработчика нет возможности вводить собственные, специальные тэги. Хотя время от времени появляются новые расширения языка(на сегодняшний день последней версией HTML является HTML 4.0), но долгий путь их стандартизации, сопровождаемый постоянными разногласиями между основными производителями броузеров делают практически невозможной быструю адаптацию языка, его использование для отображения специализированной информации(например, мультимедийной, математических, химических формул и т.д.).

Подводя итог всему сказанному, можно утверждать, что HTML уже сегодня не удовлетворяет в полной мере требованиям, предъявляемым современными разработчиками к языкам подобного рода. И ему на смену был предложен новый язык гипертекстовой разметки, мощный, гибкий, и, одновременно с этим, удобный язык XML. В чем же заключается его достоинства?

XML (Extensible Markup Language[1]) — это язык разметки, описывающий целый класс объектов данных, называемых XML- документами. Этот язык используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. Т.е. сам по себе XML не содержит никаких тэгов, предназначенных для разметки, он просто определяет порядок их создания. Таким образом, если, например, мы считаем, что для обозначения элемента rose в документе необходимо использовать тэг , внутри которой также можно задавать номер версии языка, номер кодовой страницы и другие параметры, необходимые программе-анализатору в процессе разбора документа

Правила создания XML- документа

В общем случае XML- документы должны удовлетворять следующим требованиям:

  • В заголовке документа помещается объявление XML, в котором указывается язык разметки документа, номер его версии и дополнительная информация
  • Каждый открывающий тэг, определяющий некоторую область данных в документе обязательно должен иметь своего закрывающего «напарника», т.е., в отличие от HTML, нельзя опускать закрывающие тэги
  • В XML учитывается регистр символов
  • Все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки
  • Вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов
  • Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные и поэтому учитываются все символы форматирования ( т.е. пробелы, переводы строк, табуляции не игнорируются, как в HTML)

Если XML- документ не нарушает приведенные правила, то он называется формально-правильным и все анализаторы, предназначенные для разбора XML- документов, смогут работать с ним корректно.

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

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

На сегодняшний день существует два способа контроля правильности XML- документа: DTD — определения(Document Type Definition) и схемы данных(Semantic Schema). Более подробно об использовании DTD и схемах мы поговорим в следующих разделах. В отличии от SGML, определение DTD- правил в XML не является необходимостью, и это обстоятельство позволяет нам создавать любые XML- документы, не ломая пока голову над весьма непростым синтаксисом DTD.

Конструкции языка

Содержимое XML- документа представляет собой набор элементов, секций CDATA, директив анализатора, комментариев, спецсимволов, текстовых данных. Рассмотрим каждый из них подробней.

Элементы данных

Элемент — это структурная единица XML- документа. Заключая слово rose в в тэги , мы определяем непустой элемент, называемый , содержимым которого является rose. В общем случае в качестве содержимого элементов могут выступать как просто какой-то текст, так и другие, вложенные, элементы документа, секции CDATA, инструкции по обработке, комментарии, — т.е. практически любые части XML- документа.

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

Набором всех элементов, содержащихся в документе, задается его структура и определяются все иерархическое соотношения. Плоская модель данных превращается с использованием элементов в сложную иерархическую систему со множеством возможных связей между элементами. Например, в следующем примере мы описываем месторасположение Новосибирских университетов (указываем, что Новосибирский Университет расположен в городе Новосибирске, который, в свою очередь, находится в России), используя для этого вложенность элементов XML :

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

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

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

В случае, если элемент не имеет содержимого, т.е. нет данных, которые он должен определять, он называется пустым. Примером пустых элементов в HTML могут служить такие тэги HTML, как
, ,

Комментарии

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

Атрибуты

Если при определении элементов необходимо задать какие-либо параметры, уточняющие его характеристики, то имеется возможность использовать атрибуты эдлемента. Атрибут — это пара «название» = «значение», которую надо задавать при определении элемента в начальном тэге. Пример:

Примером использования атрибутов в HTML является описание элемента :

Cпециальные символы

Для того, чтобы включить в документ символ, используемый для определения каких-либо конструкций языка (например, символ угловой скобки) и не вызвать при этом ошибок в процессе разбора такого документа, нужно использовать его специальный символьный либо числовой идентификатор. Например, < , > " или &amp#036;(десятичная форма записи), &amp#x1a (шестнадцатеричная) и т.д. Строковые обозначения спецсиволов могут определяться в XML документе при помощи компонентов (entity), о чем мы еще поговорим немного позже.

Директивы анализатора

Инструкции, предназначенные для анализаторов языка, описываются в XML документе при помощи специальных тэгов — ) или создании пространства имен[11].

CDATA

Чтобы задать область документа, которую при разборе анализатор будет рассматривать как простой текст, игнорируя любые инструкции и специальные символы, но, в отличии от комментариев, иметь возможность использовать их в приложении, необходимо использовать тэги . Внутри этого блока можно помещать любую информацию, которая может понадобится программе- клиенту для выполнения каких-либо действий (в область CDATA, можно помещать, например, инструкции JavaScript). Естественно, надо следить за тем, чтобы в области, ограниченной этими тэгами не было последовательности символов ]].

Что дальше

Мы рассмотрели в общих чертах основные структурные части XML- документа, правила описания элементов XML и теперь можем создать синтаксически правильный XML- документ, содержащий каким-то образом структурированные данные( более подробный пример приведен в Приложении 1.) Однако при этом почти не коснулись вопросов практического применения XML. Как отображать содержимое XML- документов на Web- страницах, осуществлять контроль над правильностью их составления; существуют ли уже сегодня какие-либо удобные средства для создания, анализа и просмотра таких документов? В следующих разделах мы попробуем ответить на эти вопросы.

IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.

Расширяемый язык разметки XML. Синтаксис XML. Структура XML документа. Применение XML

Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Сегодня решил открыть рубрику Заметки о XML и XLST. В которой постараюсь на пальцах объяснить, что такое язык разметки XML. Рассказать о том, что такое XML схемы, подробно остановиться на вопросе применения языка XML. Собственно про сам расширяемый язык разметки можно рассказать в одной или двух статья, все будет зависит от того на сколько объемной получится статья, собственно в это статье я собираюсь поговорить о синтаксисе XML, о представление данных в языке разметки XML, о грамматике, семантике и синтаксисе XML элементов. Так же мы поговорим, о XML тегах и применение XML. Где, зачем и как можно применять XML.

Что такое XML. Дифирамбы расширяемому языку разметки.

XML — это язык, язык разметки, если HTML является языком разметки гипертекста, то XML является языком, который позволяет представлять какие-либо структурированные данные. В то время как HTML позволяет нам представлять структуру документа, какие-либо элементы, строки, блоки и прочее. XML позволяет нам создать структуру, в которой достаточно удобно хранить данные.

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

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

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

XML документ. Структура XML документа. Что может содержать XML документ.

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

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

И так в реферате по географии были данные, о том, что Земля круглая и она вертится, биография Галилео Галилея — это все данные. У моего реферата по географии была структура, то есть введение, в котором я рассказал, про что мой реферат и с какой целью я его пишу(естественно, что цель у меня была сугубо корыстная, получить трояк, что бы двойки за четверть не было, но во введение я ее не написал), было заключение, в котором я подвел итоги проделанной работе(нервным ночным копипастам из википедии и с сайтов рефератов и дз), так же для удобства я разбил реферат на несколько логических частей: Биография Галилео Галилея, Планета Земля, Планета Земля как объект Солнечной системы. Все это является структурой моего реферата, так же и в XML мы можем создавать структуру XML документа самостоятельно. Обычно у XML документа древовидная структура, ее можно сравнить с договорами, ну например с договором ипотеке, пункт 1, подпункт 1.1 далее подподпункт 1.1.1, кто оформлял знает, вообщем-то это бюрократическая структура. Все это можно назвать вложенностью или деревом или древовидной структурой, вот примерно такая структура у XML документа.

Уровень представления XML или представление XML документа. Ну это все очень просто, уровень представления это то как вы видите документ, на экране монитора, в браузере, на принтере и так далее, вернемся к моему реферату, оформляя его я выделял жирным заголовки, сделал их 16 размером шрифта, а так же сделал их курсивными, отступ слева я сделал 20 мм, справа, снизу и сверху по 5 мм. Для текста в реферате я задал шрифт Times New Roman, размером 14, без дополнительных стилей, межстрочный интервал был 1.5, все это можно назвать представлением документа, который можно видеть, как на экране в Ворде, так и после того как я отправил свой реферат по географии на печать. У XML так же имеется представление документа.

Но у XML есть очень важное отличие от других языков разметки, опять же HTML — это язык описания обычной страничке, где будут расположены элементы, как они будут расположены, размеры этих элементов и прочее. А вот в XML нет уровня представления, при помощи XML можно описать только данные и отношения. Наш ботаник с первой парты, любимчик Надежды Петровны(учитель математике), обязательно спросил бы — Как это можно понять? Или в каком виде XML представляет данные? Ответ на этот вопрос прост — XML ни в каком виде не представляет данные, пока вы этого не захотите и причем документ будет выглядеть так, как этого хотите именно вы, но стандартно в XML этого нет.

Или такой вопрос, как XML документ будет выглядеть на экране браузера? Ответ — XML документ никак не будет выглядеть на экране браузера. Просто на экран браузера напечатается сам XML документ. XML очень абстрактный язык, при помощи которого можно сделать свой документ и делать с ним все, что душе угодно.

XML теги и XML элементы.

Поскольку XML разрабатывал w3.org, он, как и язык разметки гипертекста HTML, описывает документ при помощи тегов. Тег это слово, которое обрамлено треугольными скобками, вот так — данная конструкция является тегом, теги в XML бывают двух видов, открывающий тег и закрывающий тег, как и в языке HTML, но в HTML есть одиночные теги, а в XML одиночных тегов нет. То есть в XML есть открывающий тег Содержание элемента, которое пишется между тегами . Так же у XML есть закрывающий тег , а между открывающим и закрывающим тегами пишется содержание или контент или значение. В HTML есть одиночные теги, в XML по определению одиночных тегов нет.

Что бы не было путаницы, я опять же уточню, тег это метка написанная в текстовом редакторе(например, в Notepad++), а элемент это, то что в итоге нам выведется, то есть содержание плюс метка является XML элементом или HTML элементом, в случае если вы открыли HTML-документ. Если в HTML элементы могут быть блочными и строчными, то в XML элементы не делятся никак, просто XML элемент. И понятно, что все эти элементы могут быть вложенными друг в друга:

КРАТКИЙ ОБЗОР ЯЗЫКА XML

Название XML является сокращением от «Extensible (не extensible!) Markup Language» (расширяемый язык разметки). Неформально документ XML можно определить как документ, созданный с использованием средств XML. Ниже приведен простой пример. Обратите внимание на то, как широко используются в нем угловые скобки, » » (их не следует путать с угловыми скобками, которые применяются в этой книге в грамматических определениях, которые представлены в форме Бэкуса-Наура).

Первая строка в этом документе представляет собой объявление XML (в котором не показаны некоторые вспомогательные конструкции); такое объявление обычно можно найти в каждом документе XML, хотя оно и не является обязательным. Во второй строке представлен элемент XML, состоящий из начального дескриптора, некоторых символьных данных и конечного дескриптора. (Вообще говоря, любой элемент может содержать символьные данные или другие элементы, или сочетание тех и других.) Символьными данными является строка «Hello, world. «, начальный дескриптор — это разметка, предшествующая этой строке, а конечный дескриптор — это разметка, которая следует за ней. (Неформально неуточненный термин дескриптор используется также для обозначения начального дескриптора и соответствующего ему конечного дескриптора, вместе взятых.) Дескрипторы обозначаются тем именем, которое присвоено им разработчиком документа; кроме того, считается, что это имя обозначает тип элемента, поэтому в данном примере дескриптор является дескриптором типа «greeting», а элемент — элементом «greeting». Показанная ниже спецификация в начальном дескрипторе представляет собой атрибут XML (он не имеет ничего общего с атрибутами, которые рассматриваются в реляционном контексте).

Здесь именем атрибута является «kind», а его значением — строка «succinct».

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

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

■ Поскольку элементы включают разграничительные дескрипторы, различные «экземпляры» внешне «одинакового» элемента вовсе не обязательно должны иметь постоянный размер, а могут изменяться от одного документа к другому или даже в одном документе.

2 Данные, которые непосредственно содержатся в документе, должны быть именно символьными данными, но благодаря использованию встроенных ссылок документ фактически может содержать, например, изображения, видеозаписи и другие типы несимвольных данных. Такие ссылки рассматриваются как часть разметки.

■ (Еще более важное замечание!) Новые элементы (т.е. элементы каких-то новых типов) могут вводиться в существующий документ в любое время, не оказывая отрицательного воздействия на работу пользователей (в частности, прикладных программ).

Иными словами, XML позволяет решать некоторые проблемы обмена данными, при условии, что производители и потребители данных согласуют друг с другом способы интерпретации разметки. В отличие от этого, при использовании традиционных протоколов с фиксированным форматом, таких как протокол электронного обмена данными (Electronic Data Interchange — EDI), для внесения изменений в формат данных необходимо внести соответствующие изменения в программное обеспечение, применяемое не отдельными, а всеми производителями и потребителями рассматриваемых данных.

Для того чтобы оценить важность некоторых причин создания языка XML, необходимо ознакомиться с тем, каким образом он создавался на основе более ранних языков разметки. Языки разметки никогда не были предназначены для использования в качестве обычных языков программирования; их назначение (по меньшей мере, как оно рассматривалось с самого начала) состояло лишь в том, чтобы с их помощью можно было создавать текстовые файлы, включающие команды форматирования (разметку), которые могли восприниматься соответствующим текстовым процессором. В одних случаях разметка обозначалась с помощью двоичного кода, а в других — с помощью обычного текста, но применяемые при этом языки разметки всегда оставались собственностью отдельных компаний. Например, в компании IBM для форматирования руководств пользователей и других подобных документов использовался собственный язык текстовой разметки, Script. Ниже в качестве примера приведена выдержка из типичного файла Script.

.il 3m;You should specify the ;.us on;first;.us off; parameter as PRIVATE. This specification will allow the processor to complete the conversion without further input.

Применяемая здесь разметка передает программе форматирования указания отступить вниз на две строки («. sp 2″), сделать отступ в первой строке текста на три пробела с шириной em (» .il 3m»), подчеркнуть слово «first» («.us on» и «.us off»), а затем перейти на следующую строку («. br»).

Отметим, что один из недостатков языка Script и аналогичных языков состоял в том, что разметка носила весьма процедурный характер (т.е. была основана на использовании не описаний, а команд), не говоря уже о том, что эта разметка управляла только форматированием документов и к тому же была предназначена для устройств определенного типа (как правило, монохромных построчно-печатающих устройств). Именно в целях устранения этих недостатков три исследователя3 из компании IBM предложили обобщенный язык разметки (Generalized Markup Language — GML). Основное различие между

3 Тот факт, что первые буквы в сокращенном обозначении этого языка совпадают с первыми буквами фамилий его создателей, Чарльза Голдфарба (Charles Goldfarb), Эдварда Мошера (Edward Mosher) и Раймонда Лори (Raymond Lorie), — не случайное совпадение.

GML и языками наподобие Script состоит в том, что разметка в GML является в значительно большей степени описательной (или декларативной), чем разметка, применявшаяся в этих ранних языках, которая в основном носит процедурный характер. Ниже еще раз показан приведенный выше пример на языке Script, но в данном случае он представлен на языке GML.

You should specify the first parameter as PRIVATE. This specification allows the processor to complete the conversion without further input.

Теперь эта разметка просто сообщает программе форматирования о том, что текст представляет собой абзац (» » — сокращение от «paragraph»), а не просто подробно описывает компоновку такого абзаца («отступить вниз на две строки» и т.д.). Кроме того, она сообщает программе форматирования, что слово «first» должно иметь первый уровень выделения (» » и » » — сокращение от «emphasis 1»), но не указывает, что в качестве такого выделения должно быть выполнено подчеркивание.

Примечание. В этом примере автор намеренно допустил немного вольное обращение с языком GML; в частности, использовал для обозначения дескрипторов угловые скобки

вместо обычно применяемых в этом языке символов двоеточия («: «). В данном изложении такие отклонения от обычной практики не имеют особого значения.

Таким образом, разметка GML оказалась более описательной, но она все еще нацелена в основном на представление, или отображение текста (хотя и позволяет проще решать некоторые другие задачи, такие как подсчет количества абзацев). В частности, пользователи вынуждены ограничиваться только теми дескрипторами, которые встроены в этот язык. В отличие от него, стандартный язык GML (Standard GML — SGML), который представляет собой расширенную форму GML, позволяет пользователям определять свои собственные дескрипторы и придавать им любой желаемый смысл4. Используя это средство, можно расширить приведенный выше пример для определения структуры данных до мельчайших подробностей, например, следующим образом.

Примечание. Обратите внимание на тот факт, что в этом примере элемент «object»

содержит и данные в виде символьной строки, и другой элемент (‘adjective»).

Но, как показывает этот пример, SGML в действительности не является языком разметки как таковым (и поэтому фактически название «SGML» не полностью соответствует

4 Приведем в этой связи интересную цитату: «Даже в самой небольшой организации причиной большинства конфликтов становится отсутствие четких определений и единого понимания смысла используемых слов» [27.4].

назначению этого языка). Его, скорее, можно назвать метаязыкам, поскольку в нем предусмотрены правила, позволяющие пользователям определять собственные наиболее подходящие для них языки разметки, в частности, имеющие собственные дескрипторы, определяемые пользователями5. Одним из таких языков является HTML; это означает, что HTML определен в терминах SGML и может рассматриваться как конкретное приложение SGML (здесь термин приложение SGML обозначает язык, который определен с применением правил метаязыка SGML, а не прикладную программу, в которой используется SGML). Но, к сожалению, в HTML не удалось сохранить чисто описательный характер GML, и вместо этого в дополнение к структурной и семантической разметке снова была введена конкретная форматирующая разметка. Фактически некоторые дескрипторы HTML относятся ко всем трем типам разметки одновременно; например, такой дескриптор HTML, как » «, определяет одновременно и заголовок уровня 1 (структура) и название страницы (семантика), а также может содержать необязательный атрибут с обозначением шрифта (форматирование).

Разработка языка XML

Язык XML [27.25] был первоначально разработан в 1996 году наблюдательным советом по пересмотру языка SGML под руководством консорциума World Wide Web Consortium, W3C (основанным Бернерсом-Ли в 1994 году) в целях устранения некоторых недостатков языков SGML и HTML. Недостатком SGML было лишь то, что этот язык оказался слишком большим и сложным для того, чтобы его можно было легко поддерживать в Web. А что касается HTML, то он обладает в основном двумя описанными ниже недостатками.

■ Как уже было сказано, этот язык не позволяет должным образом отделить друг от друга метаданные, которые описывают структуру, семантику и форматирование.

■ Более того, этот язык не исключает возможности создавать документы, которые нарушают принципы «формальной правильности», т.е. фактически этот язык не препятствует созданию и использованию документов, нарушающих6 его собствен ные синтаксические правила! Такая проблема возникла в связи с тем, что на рынке одновременно представлено несколько браузеров, а все они (вполне естественно) конкурируют друг с другом; и если неправильно сформированный документ D мо жет быть успешно отображен браузером А, но не браузером в, то этот факт вос принимается как недостаток не документа D, а скорее браузера В.

XML, как и его предшественник SGML, в действительности является не языком, а метаязыком (и поэтому его название «XML» также не полностью ему соответствует); фактически язык XML является строгим подмножеством языка SGML. Эта его особенность подчеркнута в приведенной ниже выдержке из спецификации XML [27.25].

Расширяемый язык разметки (Extensible Markup Language — XML)это подмножество SGML… Его назначение состоит в обеспечении возможности использовать универсальные средства SGML для передачи, приема и обработки документов в Web с

5 По сути, такое же замечание остается справедливым и по отношению к GML.

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

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

XML позволяет снова восстановить описательный характер разметки (т.е. языки разметки, определяемые с помощью XML, включают только описательную разметку). Но следует обратить особое внимание на то, что XML как таковой не предписывает какой-либо конкретный смысл применяемой разметке.

Несмотря на то, что такая цель была определена при его создании, XML еше не смог в

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

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

■ Рассмотрим обычно применяемую в этой книге переменную отношения деталей Р. Допустим, что потребовалось расширить эту переменную отношения для включе ния дополнительного атрибута DRAWING (рис. 27.1), значением которого в любом конкретном кортеже является чертеж рассматриваемой детали, представленный с помощью какого-то конкретного языка, производного от XML (см. следующий подраздел) и называемого языком масштабируемой векторной графики (Scalable Vector Graphics — SVG). Следует отметить, что каждое такое значение представля ет собой целый документ SVG, и поэтому вся база данных может рассматриваться как «объектно-реляционная» база данных в том смысле этого термина, который был определен в предыдущей главе.

Примечание. Фактически утверждение, что значения DRAWING являются чертежами как таковыми, является не совсем точным; эти значения, скорее, можно назвать документами XML, которые интерпретируются определенной прикладной программой для создания таких чертежей (см. рис. 27.1).

■ Аналогичным образом, в переменную отношения Р можно ввести атрибут DESCRIPTION, значением которого в любом конкретном кортеже является доку мент ХМL с описанием рассматриваемой детали и пояснением правильных спосо бов ее использования.

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

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

На основании сказанного можно сделать приведенные ниже выводы.

■ Конкретная приведенная здесь компоновка документа (в частности, отступы и разбивка по строкам) предусмотрена исключительно для удобства чтения. Она не является обязательной частью документов XML. В действительности, большинст во документов XML, применяемых в деловом мире, не содержат каких-либо по добных «пробельных символов», а состоят из разметки и данных, соединенных друг с другом без каких-либо разрывов.

■ В тексте документа имя Р# было заменено именем PNUM, поскольку символ «#» не разрешается использовать в именах дескрипторов XML (и аналогичные изменения для единообразия были внесены во все остальные примеры этой главы, относя щиеся как к реляционным базам данных, так и к XML).

■ Как указано во вступительных комментариях XML, все значения (реляционных)

атрибутов были преобразованы в простые символьные строки.

■ Для упрощения было решено представить только тело отношения, а не его заголо вок (и такое же соглашение применяется во всех последующих примерах этой гла вы там, где это возможно).

■ Следует отметить, что разрешено использовать пустые элементы. Например, предположим, что для некоторых деталей не предусмотрено использование ат рибута с использованием цвета, и для представления значения COLOR для такой

детали решено применять пустую строку. В таком случае достаточно ввести в спецификацию , или (более кратко) просто .

Примечание. Анализ термина «пустой элемент» позволяет сделать вывод, что в языке XML подобные элементы рассматриваются как не содержащие вообще ничего. Но было бы более логически правильным считать, что эти элементы все равно что-то содержат (а именно строку, пусть даже и пустую), поэтому термин «пустой элемент» может служить еще одним примером неправильного словоупотребления (как и название самого языка XML). Более того, как будет показано в разделе 27.4, в подразделе «Схема XML», якобы «пустые элементы» также могут иметь атрибуты XML.

■ Наконец, необходимо отметить, что этот документ XML не является таким уж верным представлением отношения деталей, поскольку он налагает упорядочение сверху вниз на кортежи и упорядочение слева направо на атрибуты этих кортежей (фактически в обоих случаях используется лексическое упорядочение). И действительно, документы XML всегда характеризуются упорядочением своих элементов7 (это свойство носит официальное название упорядочение документа). Дополнительные сведения на эту тему приведены в разделе 27.6, в подразделе «Принцип

«Разделяй и публикуй»».

Структура документа XML

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

Допустим, что XD — язык, производный от XML. В таком случае разработчик XD должен определить смысл разметки, применяемой в XD (хотя бы неформально), ввести операторы и написать программы для обработки документов, в которых используется XD. Допустим, что D — такой документ. Поэтому этот документ на определенном уровне абстракции может рассматриваться как имеющий иерархическую структуру, которая состоит из корневого узла и последовательности дочерних узлов (где каждый дочерний узел может иметь свою последовательность дочерних узлов и т.д., а каждый дочерний узел имеет один и только один родительский узел). На рис. 27.2 показана иерархия документа PartsRelation, который был приведен в предыдущем подразделе. Как показывает этот рисунок, каждый узел представляет некоторый элемент XML, за исключением узлов, описанных ниже.

7 Но атрибуты XML являются неупорядоченными, поэтому может оказаться более предпочтитель ным способ представления таких данных, как PNUM, PNAME, COLOR, WEIGHT и CITY, с помощью атрибу тов, а не элементов (см. раздел 27.4).

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

■ Корневой узел, или узел документа, который представляет весь документ (обратите внимание на то, что он не соответствует корневому элементу документа!).

■ Листовые узлы, которые представляют символьные данные.

Примечание. Листовые узлы используются также для представления, во-первых, атрибутов XML (но в данном примере атрибуты отсутствуют) и, во-вторых, различных элементов, таких как комментарии XML, пробельные символы и т.д. (на данном рисунке показано несколько таких узлов).

Вся эта иерархия называется информационным набором или инфонабором («infoset» — сокращение от information set) для рассматриваемого документа, а интерфейс прикладного программирования (Application Programming Interface — API) для этой иерархии предусмотрен в виде средства XML, называемого объектной моделью документа (Document Object Model — DOM) [27.24]. С использованием такого API-интерфейса (кроме всего прочего) в прикладной программе можно осуществлять выборку, вставку, удаление и модификацию узлов9.

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

будут характеризоваться существенными отличиями на уровне реализации конкретной структуры; вполне очевидно, что количество различных вариантов структуры будет значительно больше, чем обычно можно встретить среди кортежей отношения в реляционной модели. А поскольку отношения, как правило, рассматриваются как более жестко структурированные, а документы XML считаются обладающими гораздо более свободной структурой10, иногда можно встретить такие утверждения, что отношения содержат структурированные данные, а документы XML — слабоструктурированные данные (иначе говоря, основаны на слабоструктурированной модели данных).

Но приведенные выше доводы фактически не выдерживают никакой критики. Истина заключается в том, что отношения не являются более или менее «структурированными», чем документы XML (безусловно, они имеют другую структуру, но нельзя отрицать и того факта, что все данные, представляемые в виде документа XML, могут быть столь же

9 Может оказаться полезным такое замечание, что инфонабор для данного конкретного документа очень близок к той структуре, которая является «возможным представлением» (possrep) для данного документа, в том смысле, который определен в главе 5.

10 Но, разумеется, нельзя утверждать, что они вообще не имеют структуры, поскольку «данные», полностью лишенные структуры, по определению представляют собой чистый шум, иными словами, термин «неструктурированные данные» содержит противоречие в своих компонентах.

успешно представлены в реляционной базе данных, — возможно, в виде кортежа, в виде множества кортежей или иным образом.) Но термин слабоструктурированный так широко используется в сфере обработки данных, что автор также вынужден его упомянуть.

Примечание. Справедливости ради следует лишь добавить, что в литературе можно также найти некоторые другие доводы в пользу применения этого термина, которые приведены ниже.

■ В [26.35] указано, что данный термин возник в связи с тем, что часть данных имеет постоянную структуру, а другая часть изменяется (например, каждая книга имеет название, но не в каждой книге есть предметный указатель). :

‘■ Согласно [27.13], этот термин применяется по той причине, что полуструктурирбванные данные не имеют обычной схемы, а являются «лишенными схемы» и «описывающими сами себя». В [27.17] сказано то же самое, но дополнительно указано, что они «подобны объектам».

■ В [27.23] в качестве причины применения этого термина указан тот факт, что дан ные «могут быть нерегулярными или неполными и [иметь] структуру, [которая] может изменяться быстро и непредсказуемо».

■ Безусловно, структура, которой должен обладать документ XML, в значительной части зависит от проектировщика документа11; в определенном смысле структура налагается на данные проектировщиком, а разные проектировщики, разумеется, вправе применять различные структуры, подразделяя данные разными способами и выбирая разные дескрипторы. Например, поэму можно представить в виде еди ного сплошного фрагмента текста ( … ),как последовательность стихов (

… … ) или многими другими спосо бами. Таким образом, можно утверждать, что термин слабоструктурированный возник с учетом этих соображений.

Но, по мнению автора, ни один из этих доводов не выдерживает тщательного критического анализа. В действительности, невозможно обнаружить существенное различие между «слабоструктурированной моделью» и структурными аспектами старомодной иерархической модели, которая была описана (и подвергнута критике) в главе 13 работы [1.5]. Но внимания, безусловно, заслуживает еще один нюанс — по определению предполагается, что модели данных вообще и иерархическая модель в частности, должны включать операции, но создается впечатление, что «слабоструктурированная модель» в основном (или даже исключительно) посвящена лишь описанию структуры данных.

Приведем еще одно, последнее замечание на эту тему — в литературе часто встречается мнение, что либо инфонабор (рассматриваемый с точки зрения универсальной интерпретации этого термина в [27.26]), либо, вообще говоря, «слабоструктурированная модель» — это «модель данных XML». Но это идеальное представление в значительной степени становится расплывчатым в связи с тем фактом, что в каждой из работ [27.24], [27.28], и (совместно) [27.27], и [27.29], а также в работе [27.26] как таковой, определена собственная «модель данных XML» (причем в одних из таких моделей предусмотрены операции, а в других — нет). Поэтому не совсем ясно, какая из этих моделей (если вообще таковая имеется) заслуживает право называться «моделью данных XML».

11 А также от проектировщика типа документа, если он участвует в этой работе (см. раздел 27.4).

Языки, производные от XML, и стандарты XML

Язык XML как таковой был стандартизирован12 только лишь относительно недавно (в феврале 1998 года), поэтому та степень признания, которой он сумел достичь за столь короткое время, является просто поразительной. Ко времени подготовки настоящего издания книги (начало 2003 года) имелось по меньшей мере 200 различных языков, производных от XML, причем некоторые из них оказались совершенно новыми, а другие стали результатом переработки более ранних спецификаций, основанных на языке HTML. Ниже в качестве примера приведена небольшая выборка из перечня этих производных языков.

CML. Язык химической разметки (Chemical Markup Language):

ebXML. Рекомендуемая замена для стандарта EDI, предназначенная для использо вания при обмене данными между предприятиями (Business-Two-Business — В2В).

MathML. Язык математической разметки (Mathematical Markup Language).

PMML. Стандарт информационной проходки.

WML. Язык разметки для беспроводных систем (Wireless Markup Language).

XMLife. Промышленный стандарт страхования.

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

SOAP. Простой протокол доступа к объектам (Simple Object Access Protocol) — один из компонентов новой технологии программирования Web Services, в кото рой приложения создаются по принципу объединения программных модулей, а обнаружение и доступ к этим модулям осуществляется в среде Web.

XML Стандарт обмена данными между инструментальными средствами (XML Metadata Interchange).

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

Пространства имен в XML. Схема уточнения имен, которая позволяет совместно использовать различные словари XML13, предотвращая при этом конфликты имен.

Информационный набор XML. Абстрактная модель структуры документов XML (см.

12 Поскольку W3C — это консорциум организаций, а не формально утвержденная организация по стандартизации, то спецификация XML не является стандартом в полном смысле этого слова, а только «рекомендацией». Но это различие на практике не имеет значения. Кстати, следует отметить, что сама спецификация XML определена как производная от стандарта Unicode и в ней применяются понятия, которые определены в этом стандарте ([27.22]).

13 Описание этого термина приведено в подразделе «Определения типа документа» раздела 27.4.

и XML Schema. Язык создания схем, которые описывают документы XML (см. раздел 27.4).

DOM. Объектная модель документа (Document Object Model) — объектно-ориенти рованный API-интерфейс, позволяющий манипулировать инфонаборами XML (см. предыдущий подраздел).

XPath. Язык XML Path, который предоставляет средства адресации <обозначения пути) и поэтому обеспечивает доступ к частям документа ХМL(см. раздел 27.5).


XPointer. Язык XML Pointer, который создан на основе языка XPath, но предостав ляет более развитые средства адресации.

XQuery. Язык XML Query, или язык запросов XML (см. раздел 27.5).

XLink. Язык связывания документов XML, позволяющий вставлять в документы XML такие элементы, которые создают и описывают связи между информацион ными ресурсами.

XSL и XSLT. Язык таблиц стилей XML и язык преобразования таблиц стилей, ко торые при совместном использовании обеспечивают (а фактически поощряют)

: хранение информации форматирования отдельно от описательной разметки.

Рис. 27.3. Стандарты и спецификации, происходящие от спецификации XML или связанные с

Источник: Дейт К. Дж., Введение в системы баз данных, 8-е издание.: Пер. с англ. — М.: Издательский дом «Вильямс», 2005. — 1328 с.: ил. — Парал. тит. англ.

XML. Обзор языка

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

Нажав кнопку «Принять и продолжить», вы соглашаетесь с Политики конфиденциальности

Мы запустили рейтинг зарплат интернет-маркетологов! Прими участие в анонимном опросе.

How-to – Читать 6 минут – 7 мая 2020

XML (расширяемый язык разметки) — это язык программирования, который состоит из объявлений в виде информации и определяющих тегов. С его помощью удобно хранить и передавать любые данные.

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

Именно поэтому данный язык называют расширяемым, и в этом его главное достоинство, за которое его так ценят.

  • Легкость чтения, подача в простой форме;
  • стандартный вид кодировки;
  • возможность создания разных структур (списков, схем, деревьев);
  • возможность восстановить данные, которые были сохранены в XML;
  • возможность обмена данными между любыми платформами;
  • популярность в разных сферах программирования.
  • Чрезмерный синтаксис, большое количество сущностей и тегов;
  • один объект может быть представлен в разных описаниях;
  • отсутствуют стандартные указания типа объекта.

Альтернативные варианты языка XML: XAML, JSON, XF.

Теперь разберем этот пример детальнее.

Первая строка документа — это XML декларация. Здесь определяется версия XML (version=»1.0″) и тип кодировки документа (encoding=»UTF-8″)

Далее описывается корневой элемент документа. Корневой элемент в документе может быть только один, и он будет содержать все ваши данные. Поскольку мы можем сами давать названия тегам, мы использовали . . Наш документ будет содержать список героев . .

Обратите внимание, что в документе можно писать комментарии, но это не обязательное требование. Пример комментария:

Далее внутри тега . мы описываем каждого героя. У нас есть тег . в который мы записали псевдоним героя, . — в который мы записали реальное имя героя, . — в который мы записали суперспособности героя.

Также у тега hero присутствует атрибут ( ). Атрибуты предоставляют дополнительную информацию об элементе. Эта информация может быть важна для приложений, которые будут манипулировать этим элементом. Значение атрибута всегда должно заключаться в кавычки. Название атрибута вы можете придумать сами, поскольку язык — расширяемый.

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

XML может применяться в любой сфере программирования. Например, иерархии с XML-данными могут использоваться в:

  • XHTML — для отображения страниц в интернете;
  • SVG — для описания картинок в векторном формате;
  • RDF — для описания ресурсов каталогов;
  • WSDL — для обращения к удаленным программам и веб-сервисам;
  • OWL — для описания структуры каталогов;
  • XAML — для описания интерфейса приложений.

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

  • XPath — невероятно гибкий, мощный, и простой инструмент для навигации по документам XML. Используется для быстрого поиска запросов к элементам;

XQuery — язык запросов, разработанный для обработки данных в формате XML;

  • XSLT — используется для трансформации XML документов в другие форматы (например, для трансформации XML в HTML).
  • XML не является заменой HTML. Эти два языка дополняют друг друга.

    HTML используется для отображения информации, а XML — для хранения и транспортировки информации. В XML вы изобретаете свои собственные теги, так как в языке нет предопределенных тегов.

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

    Документ XML можно преобразовать в формат HTML. При передаче данных с сервера в браузер этот процесс выполняется автоматически. Чтобы вручную конвертировать XML в HTML, можно использовать онлайн-инструменты. Например, Aconvert или Fconvert.

    Также можно выполнить обратное преобразование HTML в XML. Например, с помощью сервиса Beautifyconverter.

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

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

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

    К тому же XML отличается расширенной разметкой и может быть дополнен самописными тегами. Этот язык используется во всех сферах программирования и очень популярен как метод преобразования объемной информации в форму иерархии для ее удобного хранения.

    Сэкономьте время на изучении Serpstat

    Хотите получить персональную демонстрацию сервиса, тестовый период или эффективные кейсы использования Serpstat?

    AVEWEB.RU

    Вебмастеру

    Это интересно

    Обзор формата xml

    Плюсы XML

    Как правило, xml-файлы передаются в связке с html-файлами, поэтому для написания кода на xml следует разбираться в синтаксисе html, хотя бы на базовом уровне. Язык разметки XML достаточно прост и невероятно удобен, так как позволяет web-программисту или верстальщику самому определять команды, которые будут использованы в основном коде. При использовании xml разработчик способен добиться построения наиболее рациональной структуры основных данных, которая бы полностью соответствовала желаемому типу разметки.

    Для создания xml-файла необходим всего лишь стандартный блокнот, так как он представляет из себя обычный текстовый документ, в которой при помощи тегов описывается вся структура основных данных.

    XML-формат хорошо стандартизован и универсален. Данный метаязык не зависит от платформы и будет понятен каждой машине.

    Минусы формата XML

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

    Design, photoshop, illustrator, web-разработки, дизайн, уроки photoshop

    Наш партнер предлагает купить манекены для магазины.

    XML. Обзор языка

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

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

    Самым широко используемым на данный момент языком гипертекстовой разметки — html. html содержит набор инструкций (тегов), с помощью которых осуществляется разметка текста. Теги html управляют процессами ввода-вывода информации в программе-клиенте (что, кстати, есть серьезным недостатком, так как вид представления документа может меняться при переходе от одного клиента к другому). Вследствие этого этот язык не определяет структуру документа.

    Данные, заключенные в теги html, никак не связаны с самими тегами. Например:

    Броузер отображает текст полужирным шрифтом, однако он не «видит» связи данного тега с другими, не «понимает», включен ли этот тег в другие, включает ли он сам что-либо. Это крайне затрудняет поиск информации в таких документах. Также, недостатком html является ограниченный набор тегов и отсутствие возможности вводить разработчиком новых инструкций.

    В связи с этим в 1998 году консорциумом world wide web consortium был принят принципиально новый язык гипертекстовой разметки xml (extensible markup language), отличающийся следующими признаками:

    · Разделение представлений и данных облегчает модификацию gui, поскольку обрабатываемые данные при этом не меняются

    · Возможность введения новых тегов, что позволяет создавать и использовать специальные языки представления данных

    · По мере стандартизации дополнительных тегов облегчается обмен данными между веб-страницами.

    Автор документа на xml сам создает его структуру, наборы элементов, строит связи между ними и добивается оптимального типа разметки, поиска и анализа документа.

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

    Для xml не требуется сложных программ-обработчиков, поэтому о его поддержке заявили такие производители программного обеспечения, как microsoft (ms explorer 4.0/5.0/5.5), netscape, oracle и др.

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

    Требования к xml-документу:

    · Заголовок документа — с необходимыми параметрами.

    · В отличие от html, в xml каждый тег должен иметь закрывающий элемент.

    · В учитывается регистр символов.

    · Атрибуты тегов заключаются в кавычки.

    · Необходим строгий порядок следования открывающих и закрывающих тегов при использовании вложений.

    Существуют два способа проверки корректности xml-документов — определения dtd (document type definition) и семантические схемы.

    В xml представлены следующие конструкции:

    Элементы данных — основные структурные единицы документа. Например:

    Любой элемент должен обязательно содержать открывающий и закрывающий теги. Его содержимым могут выступать любые конструкции языка. Набором элементов определяется структура документа. Поиск в документе производится, опираясь на эту структуру.

    Атрибуты — это параметры, определяющие характеристики тех или иных элементов. Так же, как и в html, они задаются парой «название»=»значение».

    Директивы анализаторам обозначаются в xml тегами . Броузер использует эти инструкции для управления разбора документа.

    Для отображения в тексте документа некоторых специальных символов, как, например, кавычки или угловой скобки, необходимо использовать их специальные символьные идентификаторы (&lt, &qout).

    Комментарии определяются по аналогии с html как . Они игнорируются анализатором при разборе структуры документа.

    Тегом cdata определяется область документа, рассматриваемая анализатором, как просто текст. В эту область можно помещать, например, java script. Форма записи тега:

    Что же можно отнести к недостаткам нового языка разметки? Вследствие отсутствия предопределенных тегов и гибкости структуры языка существует множество программ-обработчиков (parsers) xml-файлов. Это приводит к затруднениям в области стандартизации языка и может повлечь за собой разделение его на множество диалектов.

    xml можно называть новой ступенью web-программирования, можно считать просто следующим шагом в развитии html, но, несомненно, можно сказать, что его внедрение и повсеместное применение (не только в Интернете, а и в других информационных системах, например, в системах управления предприятием) приведет к значительному упрощению поиска, анализа, обработки и отображения информации.

    Добавить в:

    Постоянные ссылки

    При копировании ссылка на Заметки дизайнера обязательна!

    Обзор языка XML/OWL. Приложение

    Страницы работы

    Содержание работы

    Министерство Образования и Науки Российской Федерации

    Новосибирский Государственный Технический Университет

    по дисциплине «Сетевые информационные технологии»

    «Обзор языка XML/OWL. Приложение»

    Студент: Белоглазов А. В.

    Преподаватель: Хайретдинов М. С.

    Новосибирск, 2006 г.

    Приложение на языке XML/OWL

    Ниже приведёна прокомментированная часть приложения на языке XML/OWL, представляющего собой онтологию вина (приложение взято из спецификации).

    Определение констант, для обеспечения возможности сокращённого написания длинных URL в дальнейшем:

    Определение используемых словарей, набор объявлений XML namespaces.

    Это обеспечивает возможность однозначно интерпретировать идентификаторы и

    делает остальную часть представления онтологии более читабельной:

    Определение большей части метаданных OWL-документа — коллекция утверждений об онтологии.

    Эти тэги поддерживают такие критические вспомогательные задачи как комментарии,

    управление версиями и включение других онтологий:

    An example OWL ontology — комментарий

    — тэг для поддержки систем управления версиями, работающими с онтологиями

    — тег, обеспечивающий механизм импорта других онтологий

    Derived from the DAML Wine ontology at

    Substantially changed, in particular the Region based relations.

    Wine Ontology — метка онтологии

    Определение класса «Вино»

    — определение идентификатора для возможности ссылок на данный класс

    — связывания класса вина с более общим классом «Напиток»

    — связывание с более общим классом

    — определение ограничения — неименованный класс, который представляет набор вещей, которые имеют одно значение свойства имеетСоздателя

    XML для начинающих

    Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

    Вероятно, вы слышали о языке XML и вам известно множество причин, по которым его необходимо использовать в вашей организации. Но что именно представляет собой XML? В этой статье объясняется, что такое XML и как он работает.

    В этой статье

    Пометки, разметка и теги

    Чтобы понять XML, полезно вспомнить о том, как можно помечать данные. Документы создавались людьми в течение многих столетий, и на протяжении всего этого времени люди делали в них пометки. Например, учителя часто делают пометки в работах учащихся, указывая на необходимость переместить абзацы, сделать предложение более ясным, исправить орфографические ошибки и т. д. Посредством пометок в документе можно определить структуру, смысл и внешний вид информации. Если вы когда-либо использовали исправления в Microsoft Office Word, то вы знакомы с компьютеризованной формой добавления пометок.

    В мире информационных технологий термин «пометка» превратился в термин «разметка». При разметке используются коды, называемые тегами (или иногда токенами), для определения структуры, визуального оформления и — в случае XML — смысла данных.

    Текст этой статьи в формате HTML является хорошим примером применения компьютерной разметки. Если в Microsoft Internet Explorer щелкнуть эту страницу правой кнопкой мыши и выбрать команду Просмотр HTML-кода, вы увидите читаемый текст и теги HTML, например

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

    ) и местоположение рисунков.

    Отличительные черты XML

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

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

    Учитывайте при работе следующее:

    HTML нельзя использовать вместо XML. Однако XML-данные можно заключать в HTML-теги и отображать на веб-страницах.

    Возможности HTML ограничены предопределенным набором тегов, общим для всех пользователей.

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

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

    Но не путайте теги в данном примере с тегами в HTML-файле. Например, если приведенный выше текст в формате XML вставить в HTML-файл и открыть его в браузере, то результаты будут выглядеть следующим образом:

    Izzy Siamese 6 yes no Izz138bod Colin Wilcox

    Веб-браузер проигнорирует теги XML и отобразит только данные.

    Правильно сформированные данные

    Вероятно, вы слышали, как кто-то из ИТ-специалистов говорил о «правильно сформированном» XML-файле. Правильно сформированный XML-файл должен соответствовать очень строгим правилам. Если он не соответствует этим правилам, XML не работает. Например, в предыдущем примере каждый открывающий тег имеет соответствующий закрывающий тег, поэтому в данном примере соблюдено одно из правил правильно сформированного XML-файла. Если же удалить из файла какой-либо тег и попытаться открыть его в одной из программ Office, то появится сообщение об ошибке и использовать такой файл будет невозможно.

    Правила создания правильно сформированного XML-файла знать необязательно (хотя понять их нетрудно), но следует помнить, что использовать в других приложениях и системах можно лишь правильно сформированные XML-данные. Если XML-файл не открывается, то он, вероятно, неправильно сформирован.

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

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

    Схемы

    Не пугайтесь термина «схема». Схема — это просто XML-файл, содержащий правила для содержимого XML-файла данных. Файлы схем обычно имеют расширение XSD, тогда как для файлов данных XML используется расширение XML.

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

    Схемы могут быть сложными, и в данной статье невозможно объяснить, как их создавать. (Кроме того, скорее всего, в вашей организации есть ИТ-специалисты, которые знают, как это делать.) Однако полезно знать, как выглядят схемы. Следующая схема определяет правила для набора тегов . :

    Не беспокойтесь, если в примере не все понятно. Просто обратите внимание на следующее:

    Строковые элементы в приведенном примере схемы называются объявлениями. Если бы требовались дополнительные сведения о животном, например его цвет или особые признаки, то специалисты отдела ИТ добавили бы к схеме соответствующие объявления. Систему XML можно изменять по мере развития потребностей бизнеса.

    Объявления являются мощным средством управления структурой данных. Например, объявление означает, что теги, такие как и
    , должны следовать в указанном выше порядке. С помощью объявлений можно также проверять типы данных, вводимых пользователем. Например, приведенная выше схема требует ввода положительного целого числа для возраста кота и логических значений (TRUE или FALSE) для тегов ALTERED и DECLAWED.

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

    Преобразования

    Как говорилось выше, XML также позволяет эффективно использовать и повторно использовать данные. Механизм повторного использования данных называется преобразованием XSLT (или просто преобразованием).

    Вы (или ваш ИТ-отдел) можете также использовать преобразования для обмена данными между серверными системами, например между базами данных. Предположим, что в базе данных А данные о продажах хранятся в таблице, удобной для отдела продаж. В базе данных Б хранятся данные о доходах и расходах в таблице, специально разработанной для бухгалтерии. База данных Б может использовать преобразование, чтобы принять данные от базы данных A и поместить их в соответствующие таблицы.

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

    В следующем примере представлено преобразование, которое загружает данные в таблицу на веб-странице. Суть примера не в том, чтобы объяснить, как создавать преобразования, а в том, чтобы показать одну из форм, которую они могут принимать.

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

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

    XML в системе Microsoft Office

    Профессиональные выпуски Office обеспечивают расширенную поддержку XML. Начиная с 2007 Microsoft Office System, Microsoft Office использует форматы файлов на основе XML, например DOCX, XLSX и PPTX. Так как XML хранит данные в текстовом формате, а не в собственном двоичном формате, клиенты могут определять собственные схемы и использовать ваши данные разными способами, без необходимости платить ройалтиес. Дополнительные сведения о новых форматах см. в статье форматы Open XML и расширения имен файлов. Ниже приведены другие преимущества.

    Меньший размер файлов. Новый формат использует ZIP и другие технологии сжатия, поэтому размер файла на 75 процентов меньше, чем в двоичных форматах, применяемых в более ранних версиях Office.

    Более простое восстановление данных и повышенная безопасность. XML — это читаемость, поэтому если файл поврежден, вы можете открыть его в Microsoft Notepad или в другом текстовом средстве чтения и восстановить по крайней мере часть ваших данных. Кроме того, новые файлы более безопасны, поскольку они не могут содержать код Visual Basic для приложений (VBA). Если для создания шаблонов используется новый формат, все элементы ActiveX и макросы VBA располагаются в отдельном, более безопасном разделе файла. Кроме того, для удаления личных данных можно использовать инструменты, такие как инспектор документов. Дополнительные сведения об использовании инспектора документов см. в статье Удаление скрытых и персональных данных путем проверки документов.

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

    Включение средств XML в Office

    По умолчанию вкладка «Разработчик» не отображается. Ее необходимо добавить на ленту для использования команд XML в Office.

    В Office 2020, Office 2013 или Office 2010: Отображение вкладки «Разработчик».

    IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.

    Расширяемый язык разметки XML. Синтаксис XML. Структура XML документа. Применение XML

    Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Сегодня решил открыть рубрику Заметки о XML и XLST. В которой постараюсь на пальцах объяснить, что такое язык разметки XML. Рассказать о том, что такое XML схемы, подробно остановиться на вопросе применения языка XML. Собственно про сам расширяемый язык разметки можно рассказать в одной или двух статья, все будет зависит от того на сколько объемной получится статья, собственно в это статье я собираюсь поговорить о синтаксисе XML, о представление данных в языке разметки XML, о грамматике, семантике и синтаксисе XML элементов. Так же мы поговорим, о XML тегах и применение XML. Где, зачем и как можно применять XML.

    Что такое XML. Дифирамбы расширяемому языку разметки.

    XML — это язык, язык разметки, если HTML является языком разметки гипертекста, то XML является языком, который позволяет представлять какие-либо структурированные данные. В то время как HTML позволяет нам представлять структуру документа, какие-либо элементы, строки, блоки и прочее. XML позволяет нам создать структуру, в которой достаточно удобно хранить данные.

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

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

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

    XML документ. Структура XML документа. Что может содержать XML документ.

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

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

    И так в реферате по географии были данные, о том, что Земля круглая и она вертится, биография Галилео Галилея — это все данные. У моего реферата по географии была структура, то есть введение, в котором я рассказал, про что мой реферат и с какой целью я его пишу(естественно, что цель у меня была сугубо корыстная, получить трояк, что бы двойки за четверть не было, но во введение я ее не написал), было заключение, в котором я подвел итоги проделанной работе(нервным ночным копипастам из википедии и с сайтов рефератов и дз), так же для удобства я разбил реферат на несколько логических частей: Биография Галилео Галилея, Планета Земля, Планета Земля как объект Солнечной системы. Все это является структурой моего реферата, так же и в XML мы можем создавать структуру XML документа самостоятельно. Обычно у XML документа древовидная структура, ее можно сравнить с договорами, ну например с договором ипотеке, пункт 1, подпункт 1.1 далее подподпункт 1.1.1, кто оформлял знает, вообщем-то это бюрократическая структура. Все это можно назвать вложенностью или деревом или древовидной структурой, вот примерно такая структура у XML документа.

    Уровень представления XML или представление XML документа. Ну это все очень просто, уровень представления это то как вы видите документ, на экране монитора, в браузере, на принтере и так далее, вернемся к моему реферату, оформляя его я выделял жирным заголовки, сделал их 16 размером шрифта, а так же сделал их курсивными, отступ слева я сделал 20 мм, справа, снизу и сверху по 5 мм. Для текста в реферате я задал шрифт Times New Roman, размером 14, без дополнительных стилей, межстрочный интервал был 1.5, все это можно назвать представлением документа, который можно видеть, как на экране в Ворде, так и после того как я отправил свой реферат по географии на печать. У XML так же имеется представление документа.

    Но у XML есть очень важное отличие от других языков разметки, опять же HTML — это язык описания обычной страничке, где будут расположены элементы, как они будут расположены, размеры этих элементов и прочее. А вот в XML нет уровня представления, при помощи XML можно описать только данные и отношения. Наш ботаник с первой парты, любимчик Надежды Петровны(учитель математике), обязательно спросил бы — Как это можно понять? Или в каком виде XML представляет данные? Ответ на этот вопрос прост — XML ни в каком виде не представляет данные, пока вы этого не захотите и причем документ будет выглядеть так, как этого хотите именно вы, но стандартно в XML этого нет.

    Или такой вопрос, как XML документ будет выглядеть на экране браузера? Ответ — XML документ никак не будет выглядеть на экране браузера. Просто на экран браузера напечатается сам XML документ. XML очень абстрактный язык, при помощи которого можно сделать свой документ и делать с ним все, что душе угодно.

    XML теги и XML элементы.

    Поскольку XML разрабатывал w3.org, он, как и язык разметки гипертекста HTML, описывает документ при помощи тегов. Тег это слово, которое обрамлено треугольными скобками, вот так — данная конструкция является тегом, теги в XML бывают двух видов, открывающий тег и закрывающий тег, как и в языке HTML, но в HTML есть одиночные теги, а в XML одиночных тегов нет. То есть в XML есть открывающий тег Содержание элемента, которое пишется между тегами . Так же у XML есть закрывающий тег , а между открывающим и закрывающим тегами пишется содержание или контент или значение. В HTML есть одиночные теги, в XML по определению одиночных тегов нет.

    Что бы не было путаницы, я опять же уточню, тег это метка написанная в текстовом редакторе(например, в Notepad++), а элемент это, то что в итоге нам выведется, то есть содержание плюс метка является XML элементом или HTML элементом, в случае если вы открыли HTML-документ. Если в HTML элементы могут быть блочными и строчными, то в XML элементы не делятся никак, просто XML элемент. И понятно, что все эти элементы могут быть вложенными друг в друга:

    Мастер Йода рекомендует:  Кроссбраузерное выравнивание по центру (table height=100%)
    Добавить комментарий