РефератыОстальные рефератыЗаЗаголовок сообщения

Заголовок сообщения

Учреждение образования “Гродненский государственный университет имени Янки Купалы”


Математический факультет


Кафедра информатики и вычислительной техники






КУРСОВАЯ РАБОТА


Разработка и сопровождение многофункционального персонального сайта преподавателя


Студента 4 курса 4 группы


Герасимчука Д. Г.



Научный руководитель:


кандидат технических наук,


старший преподаватель
кафедры


информатики и вычислительной техники


Ливак Елена Николаевна


Гродно 2003


Оглавление

Введение


Цель работы


Глава I. Обзор использованных средств и технологий……………………..5


1.1.Технологии XML……………………………………………………5


1.2. Объектная модель документа DOM……………………………….6


1.3. Сервер приложений Zope и скриптовый язык Python……………7


Глава II. Реализация…………………………………………………………..11


2.1. Модернизация разделов сайта “Программирование” и ”Курсовые работы”………………………………………………………………………...11


2.2. Реализация системы поиска………………………………………14


2.3. Реализация системы конференции……………………………….15


2.4. Реализация системы голосования на сайте………………………17


2.5. Разработка и реализация методов защиты HTML-документов, публикуемых на сервере Zope…………………………………………18


2.6. Адаптирование разработанного программного обеспечения для поддерживаемого сайта………………………………………………..21


Заключение…………………………………………………………………….23


Список использованной литературы………………………………………...24


Введение



Работа в сети Internet дает неограниченные возможности в получении необходимой информации, например, для учебного процесса.


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


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


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


Поиск, голосование, конференция расширяют возможности сайта.


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















Цель работы

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


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


Для решения поставленной цели необходимо решить следующие задачи:


1) Модернизировать разделы сайта “Программирование” и ”Курсовые работы”.


2) Реализовать систему поиска.


3) Реализовать систему конференций.


4) Реализовать систему голосования на сайте.


5) Изучить возможности скриптового языка Python.


6) Разработать и реализовать методы защиты HTML-документов, публикуемых на сервере Zope.


7) Адаптировать разработанное программное обеспечение для поддерживаемого сайта.


8) Осуществлять поддержку сайта в течение учебного года.

















Глава
I
.


Обзор использованных средств и технологий



1.1.Технологии XML


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


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


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


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


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


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


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


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


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




1.2. Объектная модель документа DOM


Одним из самых мощных интерфейсов доступа к содержимому XML документов является Document Object Model - DOM.


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


Для следующего фрагмента XML документа:


<tree-node>


<node-level1>


<node-level2/>


<node-level2>text</node-level2>


<node-level2/>


</node-level1>


<node-level1>


<node-level2>text</node-level2>


<node-level1>


<node-level2/>


<node-level2><node-level3/></node-level2>


</node-level1>


</tree-node>


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


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


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





1.3. Сервер приложений
Zope
и скриптовый язык
Python



Zope - разработанный фирмой Digital Creations сервер приложений следующего поколения и набор средств разработки информационных порталов, доступный в исходных текстах. Он работает почти на всех UNIX платформах и Windows NT, может использоваться вместе с наиболее популярными WWW серверами или отдельно, используя встроенный WWW сервер. Zope написан на мощном объектно-ориентированном языке Python и может быть расширен с использованием последнего или языка С для компонентов с критичной производительностью.


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


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


Управление через WWW;
Интегрированный контроль доступа;
Контент-менеджмент;
Доступ к распределенным данным;
Встроенные средства поиска;
Мощную модель разделения данных;
Безопасное делегирование полномочий.

Технология, положенная в основу Zope, полностью объектно ориентирована. URL WWW ресурса на самом деле - путь к объекту в содержащей его иерархии объектов, а протокол HTTP - способ послать сообщение объекту и получить от него ответ.


Zope с самого начала разрабатывался для отражения объектной модели WWW. Объекты в нем - Каталоги, Документы, Изображения и SQL запросы - иерархически упорядочены, представляя внешне привычную среду, основанную на именах. К примеру, URL "/Marketing/index.html" используется для доступа к Документу "index.html" в Каталоге "Marketing".


Для создания объектов в Zope и работы с ними, Вы используете Ваш браузер для доступа к интерфейсу управления. Все связанное с управлением и разработкой приложений может быть выполнено удаленно с использованием WWW-браузера. Интерфейс управления представляет объектную систему Zope в виде, похожем на обычный Windows Explorer, позволяя разработчику создавать и описывать объекты и даже новые типы объектов, исключая необходимость доступа к файловой системе WWW сервера.


Объекты могут располагаться в любом месте иерархии. Управляющие сайтом могут работать с ними, выбирая с помощью закладок нужные представления. Эти представления зависят от типа объекта. Объект типа ‘DTML Документ’, к примеру, имеет закладку "Edit", позволяющую редактировать исходный текст, в то время как объект типа Соединение с базой данных имеет закладки для изменения строки описания соединения и для редактирования параметров кэширования объектов. Все объекты, однако, имеют представление "Безопасность", служащее для управления полномочиями, необходимыми для доступа к объекту.


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


Python является интерпретируемым, изначально объектно-ориентированным языком программирования. Он чрезвычайно прост и содержит небольшое число ключевых слов, вместе с тем очень гибок и выразителен. Это язык более высокого уровня нежели Pascal, C++ и, естественно C, что достигается, в основном, за счет встроенных высокоуровневых структур данных (списки, словари, кортежи).


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


Также можно выделить другие достоинства языка Python:


свободный - все исходные тексты интерпретатора и библиотек доступны для любого, включая коммерческое, использования;
интерпретируемый - "позднее связывание" ;
объектно-ориентированный - классическая ОО модель, включая множественное наследование;
расширяемый - имеет строго определенные API для создания модулей, типов и классов на C или C++;
встраиваемый - имеет строго определенные API для встраивания интерпретатора в другие программы;
сверхвысокого уровня - динамическая типизация, встроенные типы данных высокого уровня, классы, модули, механизм прерываний (исключений);

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





















Глава
II
.



Реализация



2.1. Модернизация разделов сайта “Программирование” и ”Курсовые работы”


Важной частью курсовой работы является модернизация некоторых разделов сайта.


В разделе “Программирование” изменена логическая структура. Старая структура оказалась неудобной для доступа к информации. Была реализованна более удобная структура:


Программирование на языке Pascal


Программа курса Лекции
Лекция 1


Лекция 2



Лабораторные работы
Лабораторная работа 1


Лабораторная работа 2


Доп. материал Разное


Программирование в среде Delphi


Программа курса Лекции
Лекция 1


Лекция 2



Лабораторные работы
Лабораторная работа 1


Лабораторная работа 2



Доп. материал Разное


Программирование на языке Assembler


Программа курса Лекции
Лекция 1


Лекция 2



Лабораторные работы
Лабораторная работа 1


Лабораторная работа 2



Доп. материал Разное


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


Рассмотрим структуру xml-файла на примере xml-файла с курсовыми работами автора:


<?xml version='1.0' encoding="windows-1251"?>


<?xml:stylesheet type="text/xsl" href="../zadanie.xsl"?>


<library>


<
kurs
DOCI
=”
False

”>
// нет текста курсовой работы


<god> 2 курс</god>


<
tema
>"Исследование
PE
-формата исполняемых файлов
Windows
" (2000/2001)</
tema
>


<link>kurs2.htm</link>


</kurs>


<
kurs
DOCI
=”
True
”>
// есть текст курсовой работы


<god> 2 курс</god>


<
tema
> "Изучение и практическое применение
XML
/
XSL
технологий" (2001/2002)</
tema
>


<link>kurs3.htm</link>


</kurs>


</library>


Этот xml-файл обрабатывается с помощью технологии XSL:


<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">


<xsl:template match="/">


<font face="Verdana" size="2" style="cursor:hand; color:maroon;">


<xsl:for-each select="library/kurs">


<xsl:choose>


<xsl:when match=".[@DOCI='True']"> //
ФЛАГ!


<DIV>


<P>


<h3>


<a CLASS="tablinks"><xsl:attribute name="href"><xsl:value-of select="kurs/link"/></xsl:attribute><xsl:value-of select="library/god"/> <xsl:value-of select="kurs/tema"/>


</a>


</h3>


</P>


</DIV>


</xsl:when>


<xsl:otherwise>


<DIV>


<b>


<h3>


</xsl:attribute><xsl:value-of select="kurs/god"/> <xsl:value-of select="kurs/tema"/>


</a>


</h3>


</b>


</DIV>


</xsl:otherwise>


</xsl:choose>



</xsl:template>


</xsl:stylesheet>


2.2. Реализация системы поиска


Система поиска по сайту была реализована при помощи языка DTML и скриптового языка Python.


Основа системы поиска – это скрипт на языке Python. Он возвращает список файлов, в которых содержится запрашиваемая строка, а также, возвращает количество найденных документов.


Рассмотрим код скрипта:


#Скрипт получает 3 параметра: self, search_expr, cnt=0,


#где self – каталог,


#search_expr – искомое выражение,


#cnt - обнуление списка результата


#импортируем модуль string


import string


# переменная, в которой хранится результат поиска


ret=''


# число найденных файлов


count
=
cnt


# находим список всех DTML-документов и каталогов в директории сайта


for i in self.objectItems(['Folder',,'DTML Document']):


#берем первый элемент списка


o=i[1] #the object


#если это Папка(Folder) читаем содержимое каталога


if o.getNodeName()=="Folder":


ret1,count1=self.scr.site_search(o,search_expr,count)


ret=ret+ret1


count=count1


#переходим к поиску в фаиле: если искомое выражение пусто или #совпадение найдено


else:


if search_expr=='' or string.find(string.lower(o.raw),string.lower(search_expr)) != -1 or:


count=count+1


#То формируем результат: берем абсолютный адрес вместе со значком #документа


ret=ret+'<img src="'


if o.hasProperty('ico'): ret=ret+self.iconspath+o.ico


else: ret=ret+o.icon


ret=ret+'" border=0 width=18 height=16>


<a ref="'+o.absolute_url()


ret=ret+'">'+o.title_or_id()+'</a><br>'


#
возвращаем результат - список файлов и количество найденных документов.


return ret,count


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


Вызывается скрипт из DTML-документа при помощи следующего тэга:


<dtml-var "scr.site_search(PARENTS[0],'text to search',0)">


DTML-документ содержит JavaScript, переводящий фокус курсора в строку поиска:


<script>


document.searchform.search_expr.focus();


</
script
>




2.3. Реализация системы конференции


Система конференции была реализована с помощью технологии DOM, языка XML и скриптового языка Python.


Текст сообщений хранится в xml-файле, имеющего следующую структуру:


<?xml version="1.0" encoding="windows-1251"?>


<news>


<n>


<
title
>Заголовок сообщения</
title
>


<
description
>Содержание сообщения. </
description
>


</n>


………..


</
news
>


Этот xml-файл обрабатывается с помощью технологии DOM:


Вся обработка ведется с помощью скрипта, написанного на языке JavaScript:


Подключаем xml-файл:


function onLoad()


{


news = new ActiveXObject("Microsoft.XMLDOM")


news.async = false


news.load("news.xml")


if (news.parseError != 0) {


alert(news.parseError.reason)


return


}


Далее следует его обработка: Выводим заголовок сообщения:


function main() {


N = root.childNodes.length


str = ""


for (i=0; i <= N - 1; i++) {


curNode = root.childNodes.item(i)


str = str + "<li><a href='news.htm?" +


i + "'>" +


curNode.getElementsByTagName("title").item(0).text +


"</a>&nbsp;&nbsp;<i>" +


}


xmlnews.innerHTML = str


}


Выводим содержание сообщения:


function
descr
() {


curNode = root.childNodes.item(parseInt(id))


str = "<p><b>" +


curNode.getElementsByTagName("title").item(0).text +


"</b>&nbsp;&nbsp;<i>" +


curNode.getElementsByTagName("description").item(0).text +


"<p>"


str = str + "<p>[<a href='news.htm'>Все
сообщения
</a>]"


xmlnews
.
innerHTML
=
str


}


Добавление сообщений ведется скриптом, реализованном на языке Python. При добавлении сообщения:


1. Cкрипт считывает xml-файл.


2. Разбивает его на две части. Первая часть – заголовок xml-файла с тегом <news>. Вторая – оставшаяся часть xml-файла.


3. Формирует строку для добавления.


4. Производит конкатенацию следующим образом: первая часть файла+сообщение+вторая часть файла.


5. Записывает контент в xml-файл.




2.4. Реализация системы голосования на сайте



Система голосования аналогична системе конференции, за исключением того, что здесь в дополнение используется технология XSL, которая обрабатывает xml-файл. А с помощью технологии DOM поизводится подключение 2 файлов: xml и xsl следующим образом:


<script language="JScript">


<!--


var doc, st


// создаем 2 объекта ActiveX, являющихся обьектами DOM


doc = new ActiveXObject("Microsoft.XMLDOM")


st = new ActiveXObject("Microsoft.XMLDOM")


//
синхронно обрабатываем их, загружая xml и xsl файлы


doc.async = false


st.async = false


doc.load("results")


st.load("result.xsl")



//
если возникает ошибка при обработке, сообщеем о ней


if (doc.parseError == 0 && st.parseError == 0) {


XmlTreeMenu.innerHTML = doc.transformNode(st)


}


else {


XmlTreeMenu.innerHTML = "Error !"


}


//-->


</script>




2.5. Разработка и реализация методов защиты


HTML
-документов, публикуемых на сервере
Zope


Одной из задач курсовой работы являлась разработка и реализация методов защиты HTML-документов.


На основе анализа методов защиты HTML-документов, был предложен собственный метод защиты HTML-документов.


Схема защиты HTML-документа следующая:


1
.Читаем содержимое HTML-документа


2.
Каждый символ контента переводим в HEX-отображение:


Например,


if i=='6':


gg
=
hex
(
ord
(
i
))
#Получаем hex значение символа


u
=
u
+"%"+
gg
[2:]
#Берем два последних значащих символа



Для решения проблемы кодировки русских символов использовалось прямое указание значений символов:


Например,


if i==
а
':


u=u+"%u0430"


3.
Добавляем к контенту строку, содержащую закодированный скрип Java, запрещающий выделение и нажатие правой клавиши мыши:


<script language="JavaScript1.2">


<!--


var message="";


function clickIE() {


if (document.all) {


alert(message);return false;


}


}


function clickNS(e) {


if (document.layers||(document.getElementById&&!document.all)) {


if (e.which==2||e.which==3) {


alert(message);return false;


}


}


}


if (document.layers) {


document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;}


else {


document.onmouseup=clickNS;document.oncontextmenu=clickIE;


}


document.oncontextmenu=new Function("return false")


// -->


document.oncontextmenu=new Function("return false")


function disableselect(e){


return false


}


function reEnable(){


return true


}


//if IE4+


document.onselectstart=new Function ("return false")


//if NS6


if (window.sidebar){


document.onkeypress=disableselect


document.onmousedown=disableselect


document.onclick=reEnable


}


</script>


<script language="JavaScript">


function goaway(evnt){


if (evnt.which == 0){


location.href = "blank.htm"


return false;


}


}


document.onkeypress=goaway;


</
script
>


4.
Формируем JavaScript, который декодирует контент с помощью функции unescape(контент) - перевод из кода символа в символ “..”


Пример:


<script language=JavaScript>


m
='Строка закодированных символов';


d=unescape(m);


document.write(d);


</script>


5.
Запись контента в HTML-документ.



Метод реализован для поддержки браузерами Internet Explorer, начиная с версии 3.0, а также Netscape Navigator, начиная с версии 6.0.




2.6. Адаптирование разработанного программного обеспечения для поддерживаемого сайта


В качестве применения метода защиты HTML-документов, реализованы скрип на языке Python и интерфейс, позволяющие защищать документы, публикуемые на сервере Zope.


На вход скрипту поступает 2 параметра:


1) file
- cсылка на файл, находящийся на машине клиента или в локальной сети;


2) id

название документа после его публикации на сервере Zope.



Алгоритм работы скрипта может быть представлен следующим образом:


Публикация документа на сервере Zope в каталог, в котором находится скрипт:


container.manage_addFile(id,title="", content_type= "text/plain", file=file)


Получение доступа к содержимому документа.


Чтение содержимого HTML-документа


Посимвольный перевод контента в HEX-отображение(аналогично пункту 2.5.)


Добавление к контенту строки, содержащей закодированный скрип Java, запрещающий выделение и нажатие правой клавиши мыши (скрипт описан в пункте 2.5.)


Формирование JavaScript, который декодирует контент с помощью функции unescape(контент)-перевод из кода символа в символ “..”


Удаление загруженного документа:


container.manage_delObjects(id)


Публикация документа в закодированном виде на сервере Zope в текущий каталог:


container.manage_addFile(id, title="", content_type= "text/plain", file=t)


# t – текстовая переменная, где содержится зашифрованный текст


Возвращает в каталог, где находится скрипт:


if REQUEST is not None:


try: u=context.DestinationURL()


except: u=REQUEST['URL1']


REQUEST.RESPONSE.redirect('self.absolute_url()+'/manage_main')










Заключение

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


· Модернизированы разделы сайта “Программирование” и ”Курсовые работы”.


· Реализована система поиска.


· Реализована система конференций.


· Реализована система голосования на сайте.


· Изучены возможности скриптового языка Python.


· Разработаны и реализованы методы защиты HTML-документов, публикуемых на сервере Zope.


· Адаптировано разработанное программное обеспечение для поддерживаемого сайта.


· Поддержка сайта осуществлялась в течении учебного года.


В результате разработки персонального сайта преподавателя были получены практические навыки по использованию следующих технологий:


- XML


- XSL


- DOM 1.0 и 2.0


И языков:


- HTML


- DTML


- Python


- Java Script


Результат работы можно посмотреть по адресу http://mf.grsu.by/home/livak.






Список использованной литературы


1. Дидье Мартин, Никола Озу, Брюс Пит и др. XML для профессионалов. - ЛОРИ - Москва, 2001. – 865 стр.


2. Официальный сайт организации World Wide Web Consortium // www.w3c.org


3. Сайт Нижегородского Государственного Университета // www.xml.nsu.ru


4. Didier Martin. XML for beginners. - Wrox Press. - Birmingham, 2002. – 597 стр.


5. Сайт издательского дома Wrox Press // www.wrox.com


6. Сайт компании Digital Creations // www.zope.org



Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Заголовок сообщения

Слов:3799
Символов:39419
Размер:76.99 Кб.