Таблица в xml формате

Таблица в xml формате

Основы использования XSL-таблиц стилей

XSL-таблица стилей (eXtensible Stylesheet Language — расширяемый язык таблиц стилей) связывается с XML-документом и сообщает браузеру, как отображать данные XML. XSL позволяет открывать XML-документ непосредственно в браузере без посредничества HTML-страницы. XSL позволяет осуществлять отбор и сортировку данных XML при их отображении, предоставляет доступ ко всем компонентам XML (элементам, атрибутам, комментариям и инструкциям по обработке), даёт возможность включать в таблицу стилей сценарии.

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

  1. Создание файла XSL-таблицы стилей. XSL является приложением XML, т.е. XSL-таблица представляет собой корректно сформированный XML-документ, который отвечает правилам XSL.
  2. Связывание XSL-таблицы стилей с XML-документом. В XML-документ включается инструкция по обработке xml-stylesheet, которая имеет следующую форму записи:

Здесь "xslFileURL" — URL файла XSL-таблицы стилей. Если вы используете полный (не относительный) URL, таблица стилей должна размещаться в том же домене, что и сам XML-документ. Инструкция по обработке xml-stylesheet добавляется в пролог XML-документа вслед за объявлением XML.

Если вы связываете с XML-документом более одной XSL-таблицы стилей, браузер использует первую таблицу и игнорирует все остальные. Если вы связываете с XML-документом одновременно CSS-таблицу и XSL-таблицу стилей, браузер использует только XSL-таблицу стилей.

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

Вы можете просмотреть эту таблицу, введя указанный URL в адресную строку Internet Explorer.

XSL-таблица включает один или несколько шаблонов, каждый из которых содержит информацию для отображения определённой ветви элементов в XML-документе. XSL-таблица должна иметь корневой элемент xsl:stylesheet, содержащий все шаблоны и имеющий следующую форму записи:

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

Шаблоны имеют следующую форму:

Браузер использует каждый шаблон для отображения определённой ветви элементов в иерархии XML-документа. Атрибут match шаблона указывает на определённую ветвь и аналогичен селектору в правиле CSS. Значение атрибута match называется образцом (pattern). Образец в приведённом выше примере ("/") представляет "элемент", для которого является дочерним корневой элемент XML-документа (т.е. представляет "сам" XML-документ). Этот шаблон будет таким образом служить для отображения всего XML-документа. Каждая XSL-таблица стилей должна содержать один и только один шаблон с образцом "/". Вы также можете включить один или несколько дополнительных шаблонов для отображения определённых подчинённых ветвей XML-документа.

Шаблон может содержать два вида XML-элементов:

    XML-элементы, представляющие HTML-разметку, например:

Каталог товаров

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

Браузер отличает XML-элемент от HTML-элемента, поскольку первый имеет префикс xsl.

XSL-элемент value-of добавляет текстовое содержимое определённого XML-элемента и всех его дочерних элементов в выходной модуль HTML. Вы указываете определённый XML-элемент заданием образца, который присваиваете атрибуту select элемента value-of. XML-элемент в образце задаётся с помощью оператора пути (в примере — "PRODUCT/TITLE"). Оператор пути аналогичен неполному пути к файлу, задающему местонахождение файла относительно текущей рабочей папки. Текущим элементом ("текущей папкой") является значение атрибута match самого шаблона. Если вы опустите атрибут select для XSL-элемента value-of, будет использоваться этот текущий элемент.

Читайте также:  Красивые номера теле2 кемеровская область

Порядок следования элементов value-of в шаблоне определяет порядок вывода информации. Таким образом, можно сказать, что XSL-таблица стилей имеет преимущество перед CSS-таблицей стилей, которая выводит данные всегда только в том порядке, в котором они следуют в XML-документе.

Вам не нужно включать в XSL-шаблон HTML-элементы "HTML" и "BODY", поскольку они будут сформированы автоматически.

Чтобы отобразить все отвечающие образцу XML-элементы, а не только первый из них, следует использовать XSL-элемент for-each, например:

Заголовок

Атрибут select элемента for-each задаёт текущий элемент, поэтому внутри элемента for-each все образцы (пути к элементам в атрибутах select) задаются уже относительно этого текущего элемента.

Другой способ отображения всех отвечающих образцу XML-элементов, а не только первого из них, состоит в использовании XSL-элемента apply-templates:

Заголовок

В приведённом выше примере XSL-элемент apply-templates сообщает браузеру, что для каждого элемента PRODUCT внутри корневого элемента PRODUCTS он должен обрабатывать шаблон, для атрибута match которого установлено значение "PRODUCT".

Если вы не укажете атрибут select для элемента apply-templates, браузер будет обрабатывать соответствующий шаблон (если таковой имеется) для каждого дочернего элемента текущего элемента.

XSL трактует любой атрибут, принадлежащий любому элементу в XML-документе, как дочерний элемент. Однако, когда вы ссылаетесь на атрибуты, вы должны предварять имя атрибута символом @. Например, вот так может выглядеть ссылка на атрибут import элемента PRODUCT:

Пример отображения XML-документа

Попробуем отобразить с помощью XSL-таблицы стилей следующий XML-документ, представляющий из себя некий абстрактный упрощённый каталог товаров:

XSL-таблица стилей (файл Sample.xsl) для отображения приведённого выше XML-документа может выглядеть следующим образом:

Фильтрация и сортировка данных

Вы можете ограничить количество элементов, отвечающих шаблону, введя фильтр — выражение, заключённое в квадратные скобки и следующее непосредственно за оператором пути. Например, следующий образец указывает, что обрабатывать надо только те элементы PRODUCT, у которых есть сорт серого цвета (элемент SORT имеет дочерний элемент COLOR, который содержит текст "gray"):

Следующий образец указывает, что обрабатывать надо только импортные товары (т.е. только те элементы PRODUCT, у которых атрибут import равен "yes":

Если в фильтр включено только имя элемента (без знака равенства и "контрольного" значения), проверяется только наличие этого дочернего элемента. Если элемент имеет более одного дочернего элемента с именем, указанным в условии фильтрации, проверяется только первый дочерний элемент.

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

Читайте также:  Как добавить изображение в автокад

XML – это универсальный формат работы с данными. Его поддерживает множество программ, в том числе из сферы СУБД. Поэтому конвертация информации в XML важна именно с точки зрения взаимодействия и обмена данными между различными приложениями. Excel как раз входит в число программ, которые работают с таблицами, и даже может выполнять манипуляции с базами данных. Разберемся, как конвертировать файлы Эксель в XML.

Процедура конвертации

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

Способ 1: простое сохранение

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

  1. Запускаем программу Excel. Для того, чтобы открыть элемент, подлежащий конвертации переходим во вкладку «Файл». Далее жмем по пункту «Открыть».

Запускается окно открытия файлов. Переходим в директорию, где содержится файл, который нам нужен. Он должен быть в одном из форматов Эксель – XLS или XLSX. Выбираем его и жмем на кнопку «Открыть», расположенную в нижней части окна.

Как видим, файл был открыт, а его данные отобразились на текущем листе. Опять переходим во вкладку «Файл».

Открывается окно сохранения. Переходим в ту директорию, в которой желаем, чтобы хранился конвертированный файл. Впрочем, можно оставить и директорию по умолчанию, то есть ту, что предложила сама программа. В этом же окне, если возникнет желание, можно изменить наименование файла. Но основное внимание нужно обратить на поле «Тип файла». Раскрываем перечень кликом по данному полю.

Среди вариантов сохранения ищем наименование «Таблица XML 2003» или «XML-данные». Выбираем один из этих пунктов.

  • После этого жмем на кнопку «Сохранить».
  • Таким образом, преобразование файла из формата Excel в XML будет совершено.

    Способ 2: инструменты разработчика

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

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

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

    Читайте также:  Фотошоп требования к ноутбуку

    Далее открываем таблицу Excel в программе любым удобным способом.

    На её основе нам предстоит создать схему, которая формируется в любом текстовом редакторе. Для этих целей можно использовать и обычный Блокнот Windows, но лучше применять специализированное приложение для программирования и работы с языками разметки Notepad++. Запускаем эту программу. В ней создаем схему. На нашем примере она будет выглядеть, как показано внизу на скриншоте окна Notepad++.

    Как видим, открывающим и закрывающим тегом для документа в целом служит «data-set». В этой же роли для каждой строки выступает тег «record». Для схемы вполне будет достаточно, если мы возьмем всего две строки таблицы, а не будем переводить её всю вручную в XML. Название открывающего и закрывающего тега столбца может быть произвольным, но в данном случае для удобства мы предпочли просто перевести русскоязычные наименования колонок на английский язык. После того, как данные внесены, просто сохраняем их через функционал текстового редактора в любом месте на жестком диске в формате XML под названием «schema».
    Опять переходим к программе Excel с уже открытой таблицей. Перемещаемся во вкладку «Разработчик». На ленте в блоке инструментов «XML» кликаем по кнопке «Источник». В открывшемся поле в левой части окна жмем на кнопку «Карты XML…».

    В открывшемся окне кликаем по кнопке «Добавить…».

    Запускается окно выбора источника. Переходим в директорию расположения схемы составленной ранее, выбираем её и кликаем по кнопке «Открыть».

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

  • Кликаем правой кнопкой мыши по полученной таблице. В контекстном меню последовательно переходим по пунктам «XML» и «Экспорт…». После этого сохраняем файл в любой директории.
  • Как видим, существуют два основных способа конвертации файлов XLS и XLSX в формат XML программой Microsoft Excel. Первый из них предельно простой и заключается в элементарной процедуре сохранения с заданным расширением через функцию «Сохранить как…». Простота и понятность данного варианта, несомненно, являются преимуществами. Но у него есть один очень серьезный недостаток. Преобразование выполняется без учета определенных стандартов, и поэтому файл, конвертируемый таким способом, сторонними приложениями может просто не распознаваться. Второй вариант предполагает составление карты XML. В отличие от первого способа, таблица, преобразованная по данной схеме, будет соответствовать всем стандартам качества XML. Но, к сожалению, не каждый пользователь сможет быстро разобраться с нюансами этой процедуры.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Примеры XML

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

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

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

    Ссылка на основную публикацию
    Сталкер зов припяти лучшее оружие в игре
    S.T.A.L.K.E.R.: Call of Pripyat 4,260 уникальных посетителей 105 добавили в избранное "Уникальная модель пистолета СИП-т М200. Была выпущена малой партией...
    Соевый соус стебель бамбука классический отзывы
    Всем доброго дня!Много мнений по этому поводу, как вы считаете, соевый соус или морская соль, что менее вредно для организма....
    Соевый соус ямаса отзывы
    Полное наименование: Соевый Соус классический (натурально сваренный) Изготовитель: Yamasa Corporation Все характеристики Соевый соус Yamasa: Результаты теста Достоинства Безопасный Не...
    Сталкер зов припяти много оружия
    Для Всех любителей отличного отечественного шутера S.T.A.L.K.E.R.Зов Припяти представлен новый Оружейный мод Автоматы Штурмовые винтовки:1. АК-472. АКS-47 тактический3. АК-113 "Монгол"4....
    Adblock detector