Главная Обратная связь Дисциплины:
Архитектура (936)
|
Тема: Побудова сценаріїв об’єктної моделі відображення XML – документів
Мета роботи: Ознайомитися із: засобами побудови сценаріїв використовуючи об’єктну модель документа. Побудова сценаріїв перевірки правильності XML – документа з пошуком помилок.
Теоретичні відомості :[1 -4].
Для виконання роботи потрібно знати: · Мови розробки сценаріїв, які використовуються при створення HTML – сторінок; · Мову програмування сценаріїв JScript; · Програмний об’єкт збереження даних (DSO) збереження - даних; · Типи вузлів; · Ієрархічна структура XML – документа; · Загальні властивості, які підтримуються всіма типами вузлів; · Доступ і відображення XML – документа; · Властивості та методи вузла документ; · Об’єкт NodeListта його властивості; · Властивості та методи вузла Text; · Властивості та методи вузла Element; · Перевірка валідності документа.
Зміст роботи 1. Побудувати HTML – сторінку відображення XML – документу з використанням об’єктної моделі документу(DOM), згідно варіанту для кожного студента, в лабораторні роботі №1; 2. Побудувати HTML – сторінку із відображенням нотацій, примітивів та атрибутів в XML – документі; 3. Побудувати HTML – сторінку відображення структури об’єктної моделі документа та перевірки його валідності(правильності). Варіанти та умови завдання такі ж як у лабораторні роботі №1. Приклад. Створити валідний XML – документу наявності книг у магазині. Наявність книг зберігаються у двох таблицях. Друга таблиця буде під таблицею першої за спільним полем. Перша з них має таку структуру: А) назва; б) автор книги; в) палітурка; в) ціна; г) кількість сторінок. Друга база даних: А) автор книги; б) рік видання. Файл з даними має вигляд <?xml version="1.0"?> <!-- File Name: Inventory12.xml --> <INVENTORY> <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR Year = “1891”> Mark Twain </AUTHOR> <BINDING> mass market paperback</BINDING> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> <-- і так далі --> </INVENTORY>
HTML – файл буде мати вигляд <HTML> <HEAD> <TITLE>Book Inventory</TITLE> <SCRIPT LANGUAGE="JavaScript" FOR="window" EVENT="ONLOAD"> HTMLCode = ""; Document = dsoInventory.XMLDocument; for (i=0; i < Document.documentElement.childNodes.length; i++) { HTMLCode += "<SPAN STYLE='font-style:italic'>Title: </SPAN>" + Document.documentElement.childNodes(i).childNodes(0).text + "<BR>" + "<SPAN STYLE='font-style:italic'>Author: </SPAN>" + Document.documentElement.childNodes(i).childNodes(1).text + "<BR>" + "<SPAN STYLE='font-style:italic'>Author Born : </SPAN>" + Document.documentElement.childNodes(i).childNodes(1).attributes(0).nodeValue + "<BR>" + "<SPAN STYLE='font-style:italic'>Binding: </SPAN>" + Document.documentElement.childNodes(i).childNodes(2).text + "<BR>" + "<SPAN STYLE='font-style:italic'>Number of pages: " + "</SPAN>" + Document.documentElement.childNodes(i).childNodes(3).text + "<BR>" + "<SPAN STYLE='font-style:italic'>Price: </SPAN>" + Document.documentElement.childNodes(i).childNodes(4).text + "<P>"; } DisplayDIV.innerHTML=HTMLCode; </SCRIPT> </HEAD> <BODY> <XML ID="dsoInventory" SRC="Inventory.xml"></XML> <H2>Book Inventory</H2> <DIV ID="DisplayDIV"></DIV> </BODY> </HTML> Відображення атрибутів <?xml version="1.0"?> <!-- File Name: Entity.xml --> <!DOCTYPE INVENTORY [ <!NOTATION TXT SYSTEM "plain text file"> <!ENTITY Born_1835 SYSTEM "Review of Huckleberry Finn.txt" NDATA TXT> <!ENTITY Born_1819 SYSTEM "Review of Leaves of Grass.txt" NDATA TXT> <!ENTITY Born_1804 SYSTEM "Review of Sleepy Hollow.txt" NDATA TXT> <!ELEMENT INVENTORY (BOOK)*> <!ELEMENT BOOK (TITLE, AUTHOR, BINDING, PAGES, PRICE)> <!ELEMENT TITLE (#PCDATA)> <!ELEMENT AUTHOR (#PCDATA)> <!ATTLIST AUTHOR Born ENTITY #IMPLIED> <!ELEMENT BINDING (#PCDATA)> <!ELEMENT PAGES (#PCDATA)> <!ELEMENT PRICE (#PCDATA)> ] > <INVENTORY> <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR Born='Born_1835'>Mark Twain</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> <BOOK> <TITLE>Leaves of Grass</TITLE> <AUTHOR Born='Born_1819'>Walt Whitman</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>462</PAGES> <PRICE>$7.75</PRICE> </BOOK> <BOOK> <TITLE>The Legend of Sleepy Hollow</TITLE> <AUTHOR Born='Born_1804' >Washington Irving</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>98</PAGES> <PRICE>$2.95</PRICE> </BOOK> </INVENTORY> <!-- File Name: Entity.htm --> <HTML> <HEAD> <TITLE>Get Entity Information</TITLE> <SCRIPT LANGUAGE="JavaScript" FOR="window" EVENT="ONLOAD"> Document = dsoInventory.XMLDocument; DisplayText = " Hi !" alert (DisplayText); DisplayText =""; Attribute = Document.documentElement.childNodes(0).childNodes(1).attributes(0); if (Attribute.dataType == "entity") { DisplayText = "'" + Attribute.nodeName + "' attribute has ENTITY type" + "\n"; DisplayText += "attribute value = " + Attribute.nodeValue + "\n"; Entity = Document.doctype.entities.getNamedItem(Attribute.nodeValue); DisplayText += "entity file = " + Entity.attributes.getNamedItem("SYSTEM").nodeValue + "\n"; NotationName = Entity.attributes.getNamedItem("NDATA").nodeValue; DisplayText += "entity notation = " + NotationName + "\n"; Notation = Document.doctype.notations.getNamedItem(NotationName); DisplayText += "notation URI or description = " + Notation.attributes.getNamedItem("SYSTEM").nodeValue + "\n"; alert (DisplayText); location.href = Entity.attributes.getNamedItem("SYSTEM").nodeValue; } </SCRIPT> </HEAD> <BODY> <XML ID="dsoInventory" SRC="Entity.xml"></XML> </BODY> </HTML>
|