Разработка Web-приложения с помощью Xml

advertisement
Разработка Web-приложения с
помощью Xml
Презентацию подготовила Шакирова Айгель, гр.950б
 Создание Web-приложения на основе
файла Xml
 Выполнение преобразования XSLT на
стороне сервера
 Использование объектной модели
документа Xml для создания узлов
дерева Xml
Проектирование Web-приложения
Данные содержатся в файле XML на сервере, а
вы инициализируете объект модели XML DOM
для создания новых узлов в сохраненном дереве
документа. Сценарии на стороне сервера,
выполненные в виде Active Server Pages,
используются для преобразований XSLT над
исходными документами XML для приведения его
к формату HTML, когда надо представить все
сохраненные данные в виде таблицы.
Сохранение данных в документе
Данные будут сохраняться в файле XML в рамках
корневого
элемента.
Каждый
элемент
представляет
собой
аналог
записи
в
иерархической структуре базы данных и содержит
дочерние элементы.
<wine_notes> корневой элемент
<wine date="6/9/2001 10:40:01"> элемент
<house>Chateau de La Chaize</house>
<region>Brouilly, France</region>
<type>Beaujolais</type>
<vintage>1998</vintage>
<notes><![CDATA(Full of berries and firm
enough to hold its own with a variety of foods,
particulary aged hard cheeses)]></notes>
</wine>
</wine_notes>
Создание Web-формы
HTML страница должна содержать форму,
поля которой соответствуют определенным
элементам в файле XML. Каждое из этих
полей, за исключением notes создается с
помощью стандартного дочернего элемента
HTML Input по отношению к элементу Form.
<INPUT SIZE="Значение" TYPE=TEXT NAME="Ссылка" MAXELENGTH="Значение">
Поле note указывается с помощью:
<TEXTAREA NAME="Ссылка" COLS="Значение" ROWS="Значение">
Для того, чтобы связать каскадную таблицу
стилей с текущей страницей, используется
элемент LINK, который содержится в
<HEAD>
<HEAD>
<Title>ЭЭЭЭЭЭЭЭ</Title>
<LINK rel="stylesheet" type="text/css" href="адрес файла"/>
</HEAD>
Управление данными на
сервере с помощью ASP
Сценарий ASP используется для добавления
сведений
в
документ
xml.
Для
этого
предусмотрены объекты DOM. Необходимо
определить
переменные,
которые
будут
содержать данные, полученные с помощью
формы, для каждого из узлов элементов в наборе
данных.
Dim wRegion
Dim wHouse
Dim wType
Dim wVintage
Dim wNotes
Необходимо определить переменные,
которые
будут
содержать
отдельные
данные, переданные с помощью DOM
узлам в экземпляре документа XML.
Переменные нужны для узла документа,
корневого узла, узлов notes, а также
потребуется атрибут notes, который будет
содержать сведения о дате и времени.
Dim oWineNotesDOM
Dim oWineNotesRootNode
Dim oDateStamp
Dim oWineNotesNodes
Поскольку
данные
передаются
непосредственно из полей формы HTML,
вы
можете
"перехватывать"
соответствующие значения HTTP:
wHouse=Request("HOUSE")
Инициализация объекта DOM выглядит
следующим образом:
Set oWineNotesDOM=Server.CreateObject("Microsoft.XMLDOM")
oWineNotesDOM.async=false
Загрузить документ
помощью команды:
XML
можно
с
oWineNotesDOM.load server.mappath("имя файла xml")
Для каждого из узлов документов
(elementNameXML) в документе XML вы
передаете данные формы новому узлу
элемента
(oMyObjectName)
в
результирующей древовидной структуре.
Следующий код необходимо повторить
для каждого из узлов
Set oMyObjectName=oMyDateStampObjectName.appendChild(oMyObjectName.createElement("elementNameXML"))
oMyObjectName.Text=MyElementName
Отображение сведений с
помощью сценария asp
Для получение списка всех элементов,
содержащихся в документе xml, нужно
использовать сценарий, который будет
выполнять на сервере преобразования XSL
(файл с расширением xsl). Для этого надо
инициализировать 2 объекта XML DOM - один
для документа XML и другой для документа
XSL. После этого, для завершения создания
древовидной структуры результатов, надо
использовать команду
Response.Write oWineNotesXML.TransformNode(oWineNotesXSL)
Выполнение преобразований XSLT на стороне
сервера с помощью Active Server Pages
Dim oWineNotesXML
Dim oWineNotesXSL
Set oWineNotesXML=Server.CreateObject("Microsoft.XMLDOM")
oWineNotesXML.async=False
oWineNotesXML.Load Server.MapPath("wine_notes.xml")
Set oWineNotesXSL=Server.CreateObject("Microsoft.XMLDOM")
oWineNotesXSL.async=False
oWineNotesXSL.Load Server.MapPath("wine_notes.xsl")
Response.Write
oWineNotesXML.TransformNode(oWineNotesXSL)
Преобразование содержания с
помощью xsl
В преобразовании используется один
шаблон для корневого элемента документа
XML,
после
чего
соответствующие
дескрипторы
HTML
размещаются
в
результирующем
документе.
Соответствующий шаблон совпадающий с
корневым узлом
<xsl:template match="/">
После этого
стилей css.
можно
создать
таблицу
<xsl:for-each
select="wine_notes/wine"
order-by="wine[@date]">
<B>Entered:</B><xsl:value-of select="@date"/>
<B>House:</B><xsl:value-of select="@house"/>
<B>Region:</B><xsl:value-of select="@region"/>
<B>Type:</B><xsl:value-of select="@type"/>
<B>Vintage:</B><xsl:value-of select="@vintage"/>
<B>Notes:</B><PRE><SPAN><xsl:value-of
select="notes"></SPAN></PRE>
Создание Web-узла
Создав все необходимые файлы:
• html-для размещения формы
• asp-сценарий, на стороне сервера
• xml-хранение набора данных
• xsl-преобразование, для представления в
браузере
надо сохранить их в папке на Web-сервере.
Download