Скачать пример Xml Файла

      Комментарии к записи Скачать пример Xml Файла отключены

Скачать пример Xml Файла.rar
Закачек 3532
Средняя скорость 6919 Kb/s

Здравствуйте! Я уже приводил довольно много примеров XML, и теперь решил собрать их все в одном месте, чтобы Вам, уважаемые читатели блога okITgo.ru, можно было быстро найти решение конкретной задачи при использовании языка разметки XML или просто познакомиться с этим языком.

Эти примеры демонстрируют XML файлы, XML форматирование и XML трансформацию (XSLT).

Также они показывают использование JavaScript совместно с XML (AJAX).

Для того, чтобы работать с данным документом, вам необходимо располагать как минимум браузером Internet Explorer версии 5.0 и выше. При этом будут работать некоторые из приведенных в тексте примеров.

Для того, чтобы у вас работали все примеры, необходимо установить XML-парсер версии 3. Если пример работает только под управлением XML-парсера версии 3, то в каждом случае это оговаривается особо. Отметим, что версии IE вплоть до 5.5 используют более ранние версии парсера, поэтому устанавливать его все равно придется. О более старших версиях IE узнайте самостоятельно.
Дистрибутив XML-парсера версии 3 можно найти по адресу http://msdn.microsoft.com/ XML/ XMLDownloads/ default.aspx.
После установки парсера вам нужно будет зарегистрировать его в реестре. Для этого в командной строке необходимо выполнить команду: regsvr32 msxml3.dll . Затем необходимо сообщить IE, что вы намерены использовать этот парсер. Для этого нужно запустить утилиту xmlinst . Утилиту xmlinst можно найти по адресу http://msdn.microsoft.com/ library/ default.asp?url=/ downloads/ list/ xmlgeneral.asp. Вы можете также попробовать найти ответы на вопросы об установке XML-парсера по адресу http://www.netcrucible.com/xslt/msxml-faq.htm.

А теперь перейдем к основной части нашего документа.

Рассмотрим простой пример XML-файла (ex01.xml).

«Заметки об XSL»
Леонов Игорь Васильевич

Если мы откроем этот файл в браузере Internet Explorer, то мы увидим тот же самый текст, который приведен выше, вместе со всеми тегами и служебной информацией. Но нам не нужны теги и служебная информация! Мы хотим видеть только ту информацию, которая относится к делу, а при помощи тегов — управлять внешним видом этой информации. Эта задача решается легко и просто: необходимо к XML-файлу добавить шаблон преобразования — XSL-файл.

Перепишем наш XML-файл в следующем виде (ex01-1.xml).

«Заметки об XSL»
Леонов Игорь Васильевич

И создадим XSL-файл ex01-1.xsl. Текст файла приведен ниже.

Если мы теперь откроем файл ex01-1.xsl в браузере Internet Explorer, то мы увидим, что наша задача решена, — на экране осталась только необходимая нам информация, все теги исчезли. Результат, который вы получите на экране браузера, приведен ниже.

«Заметки об XSL»

Леонов Игорь Васильевич

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

Перепишем XML-файл. Информационную часть изменять не будем, а шаблон укажем другой ex01-2.xml.

«Заметки об XSL»
Леонов Игорь Васильевич

Создадим XSL-файл ex01-2.xsl. Текст файла приведен ниже.

Если мы теперь откроем файл ex01-2.xsl в браузере Internet Explorer, то результат будет другим.

Леонов Игорь Васильевич

«Заметки об XSL»

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

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

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

Есть и еще одно соображение, которое может быть существенным для разработчиков баз данных. Большинство современных СУБД могут форматировать результаты запроса к базе данных в виде XML-файла. То есть при построении интерфейса пользователя в рамках технологии XML и XSL мы добиваемся определенной независимости от поставщика СУБД. В части организации вывода — практически полной независимости. А эта часть весьма велика в большинстве прикладных систем, ориентированных на работу с базами данных. Конечно, помимо вывода есть еще ввод и серверная обработка бизнес-логики, но здесь вам придется искать какие-то иные решения.

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

«Заметки об XSL»
Леонов Игорь Васильевич

Первая строка информирует браузер о том, что файл имеет формат XML. Атрибут version является обязательным. Атрибут encoding не является обязательным, но если у вас в тексте есть русские буквы, то необходимо вставить этот атрибут, в противном случае XML-файл просто не будет обрабатываться, — вы получите сообщение об ошибке.

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

Элементы могут иметь атрибуты, значения которых тоже могут обрабатываться в соответствии с шаблоном.

На верхнем уровне XML-файла всегда находится один элемент. То есть файл вида

«Заметки об XSL»
Леонов Игорь Васильевич

«Введение в CSP»
Леонов Игорь Васильевич

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

«Заметки об XSL»
Леонов Игорь Васильевич

«Введение в CSP»
Леонов Игорь Васильевич

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

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

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

Рассмотрим теперь текст XSL-файла

Первая строка файла содержит тег элемента xsl:stylesheet . Атрибуты элемента — номер версии и ссылка на пространство имен. Эти атрибуты элемента xsl:stylesheet являются обязательными. В нашем случае пространство имен — это все имена элементов и их атрибутов, которые могут использоваться в XSL-файле. Для XSL-файлов ссылка на пространство имен является стандартной.

Заметим, что XSL-файл является одной из разновидностей XML-файлов. Он не содержит пользовательских данных, но формат его тот же самый. Файл содержит элемент верхнего уровня xsl:stylesheet , а далее идет дерево правил преобразования.

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

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

В первом примере мы посмотрели, как с помощью элемента xsl:value-of можно вывести в HTML-формате содержание элемента (текст, заключенный между тегами). Теперь мы посмотрим, как при помощи того же самого элемента можно вывести значение атрибута элемента.

Рассмотрим следующий XML-файл ex02-1.xml

В этом файле информация хранится не в содержании элементов, а в виде значений атрибутов. Файл ex02-1.xsl имеет вид

Обратите внимание на синтаксис ссылки на атрибут элемента — //dog/@name . Имя элемента и имя атрибута разделены парой символов » /@ «. В остальном синтаксис тот же самый, что и для ссылки на содержание элемента.

Результат имеет следующий вид:

Собака: Шарик. 18 кг, рыжий с черными подпалинами.

Обратим теперь внимание на следующий момент. В XSL-файле мы никак не использовали элемент tutorial . На самом деле можно было использовать полный путь. Перепишем наш XML-файл, увеличив глубину дерева (ex02-2.xml)

Файл ex02-2.xsl имеет вид

Результат будет тем же самым.

Собака: Шарик. 18 кг, рыжий с черными подпалинами.

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

На этом мы закончим разбор примеров с выводом одиночных значений и перейдем к выводу табличной информации — к выводу результатов запроса.

Вывод результатов запроса

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

Рассмотрим следующий XML-файл — ex03.xml. Текст его приведен ниже.

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

Простая таблица

Первый шаг — это, как всегда, добавление шаблона преобразования. Модифицируем наш файл, добавив в него ссылку на шаблон. В результате получим файл ex03-1.xml.

В этот файл добавлен шаблон преобразования ex03-1.xsl.

Рассмотрим этот шаблон подробнее. Вот его текст.

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

Этот элемент шаблона позволяет выбрать и просмотреть все группы информации, полный путь к которым задается списком тегов «tutorial/enimals/dogs/dog» . Обратите внимание — путь задается полностью, ни один из тегов опустить нельзя. Далее в ячейки таблицы помещается информация о наших собаках. В отличие от первых примеров путь к соответствующей информации тоже задается полностью. Попробуем, например, разместить информацию о кличке чуть-чуть иначе ex03-2.xml:

Если мы в соответствующем XSL-файле поставим ссылку , то в соответствующем столбце никакой клички мы не увидим. Ссылка должна быть полной — . Вы можете самостоятельно поэкспериментировать с файлом ex03-2.xsl. Правильный результат приведен ниже.

Если в вашей сети более 30 филиалов, обновлять данные в Справочнике можно с помощью XML-файла.

Такое обновление имеет следующие преимущества :

  • Данные о ваших филиалах будут всегда актуальны во всех сервисах и мобильных приложениях Яндекса. Ваши потенциальные клиенты смогут легко добраться до ближайшего филиала с помощью Яндекс.Карт, Яндекс.Навигатора, найти филиал в Поиске и других сервисах Яндекса.
  • Вы можете полностью автоматизировать передачу данных о филиалах, настроив выгрузку данных из своей базы 1С, ERP (SAP, Axapta) или других систем.

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

    Подготовка файла

    Подготовьте файл в формате XML. Файл можно проверить через валидатор Вебмастера.

    Выложите файл на свой сайт по обновляемой ссылке.

    Данные должны быть доступны по протоколу FTP, HTTP или HTTPS.

    Подготовка файла и настройка делаются один раз. Все обновления происходят в автоматическом режиме.

    Загрузка файла в интерфейсе

    На странице сети в Загрузка филиалов файлом нажмите кнопку Добавить . В открывшемся окне укажите ссылку на подготовленный файл, выберите тип «xml» и нажмите Проверить . Проверка файла может занять несколько минут.

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

    Если в результате проверки будут обнаружены ошибки, кнопка Результаты проверки будет отмечена красным. Исправьте ошибки и снова отправьте файл на проверку.

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

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

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

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

    Формат XML-файла

    Передаваемые данные должны соответствовать спецификации формата XML.

    Общие требования

    1. XML-файл должен быть создан в кодировке UTF-8.

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

    Каждое свойство филиала следует обернуть в отдельный элемент. Подробнее см. в разделе Описание элементов.

    В данном примере выделен сайт:

  • Основные и дополнительные элементы должны быть расположены так же, как в примере и таблице с описанием элементов.
  • Для каждого филиала обязательно должны быть указаны:
    • уникальный идентификатор — элемент company-id ;
    • название — элемент name ;
    • полный адрес местонахождения, с точностью до дома;
    • рубрика (вид деятельности);
    • сайт — элемент url ;
    • дата актуализации XML-файла — элемент actualization-date ;
    • координаты (для филиалов без точного адреса) — элемент coordinates .

    Чтобы пользователи могли уточнить информацию о вашей организации, укажите телефон в элементе phone .

    Некоторые элементы могут быть мультиязычными. К ним относятся элементы name , name-other , address , country , address-add , working-time . Атрибут lang может принимать следующие значения:

    • ru — русский язык;
    • ua — украинский язык;
    • by — белорусский язык;
    • kz — казахский язык.
  • Чтобы информация о сети организаций была полной, передавайте максимальный набор элементов для каждого филиала сети (в том числе дополнительные элементы).
  • Каждый филиал должен быть представлен в отдельной карточке: для каждого филиала должен быть указан свой идентификатор с отдельным набором элементов.
  • В данных не должно быть HTML-элементов. В стандарте XML недопустимы символы с ASCII-кодами в диапазоне значений от 0 до 31 в текстовых полях. Исключением являются значения 9, 10, 13 — табуляция, перевод строки, возврат каретки. Также этот стандарт строго требует заменять в тексте некоторые символы: & на & .
  • Укажите полный адрес одной строкой в элементе address , страну — в элементе country , название торгового центра, бизнес-центра, номер офиса, этаж — в элементе address-add .

    Дополнительные параметры

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


    Статьи по теме