XML и XSLT в примерах для начинающих

февраля 18, 2008 / Автор sowich / Рубрики Программинг / Ответ

   Доброго времени суток пользователь рунета. Сегодня мы поговорим о довольно перспективных и новых технологиях – xml и xslt. Сразу же стоит оговорится об одно вещи, чтобы как можно подробнее понять весь смысл технологии на вашей рабочей станции должен быть установлен php и библиотеки работы с xml и xslt документами, либо можно предложить альтернативный вариант – скачать стандартный xml парсер 3 версии от Microsoft. Ссылка приведена ниже:
http://download.microsoft.com/download/xml/Install/3.0/WIN98Me/EN-US/msxml3.exe
Подробную установку парсера можно без особого труда найти у поисковых роботов…

Итак, приступим. Для тех кто знает что такое xml и xslt можно будет пропустить данный абзац, но я думаю прочесть пару-тройку предложений не составит никакого труда никому. Чтоже такое на самом деле XML? Xml(extensible_markup_language) – «свободный» язык разметки. Да да, именно «свободный», вы спросите как же так? Да очень просто, если взять стандартный html документ, то в основном он состоит из стандартных тегов, таких как: <p></p> <div></div> <a href=”host.com”></a> и т.д.

Xml же нам позволяет в процессе своей работы создавать «свои» теги и далее в процессе обработки ими свободно оперировать. Ниже я приведу простейший пример xml документа с четко структурированными данными:
<?xml version=”1.0″ encoding=”WINDOWS-1251″?>
<tutorial>
<title>”Это заголовок документа”</title>
<author>Расмус Лердорф</author>
</tutorial>

Чуток остановимся на данном примере, необходимо попытаться донести читателю что к чему. Первая строка («<?xml version=”1.0″ encoding=”WINDOWS-1251″?>») является обязательной и составляет неотъемлемую часть любого xml документа. «version=”1.0″» указывает версию (логично, так как даже не просвещенный читатель увидит что написано), «encoding=”WINDOWS-1251″» по сути является не обязательной строкой, НО если в вашем тексте присутствуют русские буквы то она просто необходима так же как рыбе вода. Далее идут строки самого xml документа(подобно тегу <body> в html странице). Все тело состоит из элементов, которые в сумме образуют общее тело древовидной структуры. Так же каждый элемент тела идентифицируется тегами и может быть вложен друг в друга. Сразу стоит закрепить данный материал, сейчас я приведу 2 примера – один будет выполнен с ошибкой, а второй будет выполнен верно. Смотрим и вникаем:

Неверно сформированный документ
<?xml version=”1.0″ encoding=”WINDOWS-1251″?>
<tutorial>
<title>” Это заголовок документа “</title>
<author>Расмус Лердорф</author>
</tutorial>
<tutorial>
<title>”Основы Perl”</title>
<author> Ларри Уолл</author>
</tutorial>

Верно сформированный документ

<?xml version=”1.0″ encoding=”WINDOWS-1251″?>
<knowledgeDatabase>
<tutorial>
<title>” Это заголовок документа “</title>
<author>Расмус Лердорф</author>
</tutorial>
<tutorial>
<title>”Основы Perl”</title>
<author>Лари Уолл</author>
</tutorial>
</knowledgeDatabase>

Я думаю, после того как я привел наглядные примеры читателю стало понятно, что такое xml и что такое вложенность элементов друг в друга. Также стоит отметить, что имена тегов чувствительны к регистру символов.

Перейдем теперь к шаблону преобразования именуемого как XSLT. Вообще, если выражаться простым языком, то основной задачей XSL является преобразовать дерево xml-файла в другое дерево, которое, к примеру будет соответствовать формату HTML и может быть изображено на экране браузера с учетом форматирования, выбора шрифтов и т.п. Для того, чтобы браузер выполнил необходимое преобразование, нужно в XML-файле указать ссылку на XSL-файл
<?xml version=”1.0″ encoding=”WINDOWS-1251″?>
<?xml-stylesheet type=’text/xsl’ href=’eample1-xsl’?>

Целесообразно ниже рассмотреть пример xslt файла и наглядно показать как же взаимодействуют между собой данные технологии. Рассмотрим теперь текст XSL-файла:
<xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/TR/WD-xsl”>
<xsl:template match=”/”>
<p><strong><xsl:value-of select=”//title”"/></strong></p>
<p><xsl:value-of select=”//author”/></p>
</xsl:template>
</xsl:stylesheet>

Первая строка файла содержит тег элемента xsl:stylesheet. Здесь атрибутами элемента являются: номер версии и ссылка на так называемое пространство имен (линк статичен). Данная строка является ОБЯЗАТЕЛЬНОЙ и ни в коем случае не стоит упускать ее из виду при разработке и создании документа. Также следует отметить еще один примечательный факт, оказывается xslt является одной из разновидностей xml. Общие сведения и понятия на этом закончились(если кто ничего не понял то прочтите данный материал заново).

Помчались дальше…

Комментарии (201) к “XML и XSLT в примерах для начинающих”

Пингбэк и Трэкбек