в текстовом редакторе Notepadсоздайте новый файлlab2.html:
сохраните файл в той папке, где находится file_1.xmlи откройте в браузереInternetExplorer5;
объясните значение каждого элемента и атрибута.
Создайте новый файл lab2_str.html, в котором реализовать постраничный вывод записей документаfile_1.xml:
добавьте элементу TABLEатрибутID, присвоив ему уникальное значение, и атрибут DATAPAGESIZE, присвоив ему значение 2:
в верхнюю часть страницы добавьте четыре элемента BUTTON, с атрибутомONCLICK, значение которого для каждой кнопки определяется одним из методов элементаTABLE:
созданный документ должен выглядеть в InternetExplorer5 следующим образом.
Щелчок мышью на кнопке <Следующая страница> должен приводить к отображению следующих двух записей. Аналогично должно соответствовать подписи действие при щелчке мыши по трем другим кнопкам.
Используя варианты предметных областей, создайте XML-документ, содержащий не менее 15 записей. Используя сцепление HTML-элемента TABLE с данными документа XML, реализуйте постраничный вывод записей в браузере (по пять записей на одной странице) и кнопки постраничного перехода.
Варианты предметных областей создаваемых XML-документов:
вариант 1: |
библиографическое описание списка литературы |
вариант 2: |
описание фильмов видеотеки |
вариант 3: |
список сотрудников организации |
вариант 4: |
список моделей мобильных телефонов |
вариант 5: |
список студентов факультета |
вариант 6: |
список изучаемых дисциплин |
Лабораторная работа 2.
Отображение XML-документов
с использованием связывания данных.
1
Вопросы и задания к лабораторно работе № 2 1
Методический материал к лабораторно работе № 2. 2
1.Отображение XML-документов с использованием связывания данных. 2
2.Использование табличного сцепления данных 4
3.Использование постраничного отображения 5
При связывании данных соединяют XML-документ сHTML-страницей, а затем встраивают стандартныеHTML-элементы, такие какSPANилиTABLE, в отдельныеXML-элементы.HTML-элементы затем автоматически отображают содержимоеXML-элементов, в которые они встроены.
При этом Internet Explorer создаёт программный объект, называемый "Объект исходных данных" (Data Source Object, DSO). Объект DSO хранит данные XML и обеспечивает доступ к ним. DSO позволяет осуществлять доступ и манипулирование XML-данными посредством ряда методов, свойств и событий. Internet Explorer берет на себя большую часть работы; не нужно писать сценарии или вызывать методы (функции). Можно использовать одну таблицу HTML для отображения XML-документа, структурированного как набор записей, или можно использовать вложенные HTML-таблицы для отображения XML-документа, содержащего иерархический набор записей (более сложную структуру записей).
Два основные этапа связывания данных.
Установить связь XML-документ сHTML-страницей, на которой необходимо отобразить данныеXML.
<XML ID="dsoStudent" SRC="file_1.xml"></XML>,
где атрибут ID - это уникальный идентификатор, который используется для доступа к XML-документу сHTML-страницы
Сцепить HTML-элементы сXML-элементами. КогдаHTML-элемент сцепляется сXML-элементом,HTML-элемент автоматически отображает содержимоеXML-элемента.
1. Для установки связи XML-документа с HTML-страницей можно использовать две формы записи наHTML-страницу:
Поместить весь текст XML-документа между начальным и конечным тегамиXMLдокументаHTML
<HTML>
<HEAD>
<TITLE>Лабораторная работа </TITLE>
</HEAD>
<BODY>
<XML ID="dsoStudent">
<?xml version="1.0" encoding="windows-1251"?>
<STUDENT>
<FAMILY>Иванов</FAMILY>
<NAME>Сергей </NAME>
<YEAR>1993</YEAR>
<GROUP>ИФ 87</GROUP>
</STUDENT>
</XML>
<!-Другие элементы HTML -->
</BODY>
</HTML>
На странице HTML создать пустой HTML-элемент с именем XML. URL адрес XML-документа представлен значением атрибута XML тега. В качестве значения атрибута SRC может выступать как полный, так и относительный URL адрес XML-документа
Пример фрагмента данных на HTML- странице:
<HTML>
<HEAD>
<TITLE>Лабораторная работа </TITLE>
</HEAD>
<BODY>
<XML ID="dsoStudent" SRC= "file_1.xml">
</XML>
<!-Другие элементы HTML-->
</BODY>
</HTML>
Текст XML-документа должен содержаться в отдельном файле file_1.xml:
<?xml version="1.0" encoding="windows-1251"?>
<STUDENT>
<FAMILY>Иванов</FAMILY>
<NAME>Сергей </NAME>
<YEAR>1993</YEAR>
<GROUP>ИФ 87</GROUP>
</STUDENT>
В подавляющем большинстве случаев используется вторая форма, так как она больше соответствует основам философии XML, согласно которой собственно данные (XML-документ) хранятся отдельно от информации по их форматированию и обработке (таблицы стилей или, в данном случае, HTML-страницы).
Вторая форма облегчает работу с XML-документом, особенно если один документ отображается на нескольких различных HTML-страницах.
2. Сцепление HTML-элементов с XML-элементами можно осуществить двумя способами:
табличное сцепление- сцеплениеHTML-элементаTABLEс даннымиXML, так чтобы в таблице автоматически отображался весь набор записей, принадлежащихXML;
сцепление по отдельным записям- сцепление на табличных элементовHTMLсXML-элементами, так что за один раз отображается только одна запись.
Самый простой способ отобразить XML-документ, который состоит из группы записей (file_1.xml, лабораторная работа_1), - это сцепить HTML-элемент TABLE с данными XML таким образом, чтобы в таблице автоматически отображались сразу все записи (или одна страница записей за раз, если установить режим постраничного отображения).
Можно использовать один HTML-элементTABLEдля отображенияXML-документа, составленного по следующим правилам:
корневой элемент содержит множество элементов типа запись;
каждый элемент типа запись содержит одинаковый набор элементов типа полей;
каждый элемент типа поле содержит только символьные данные.
В созданном в лабораторной работе № 1 документе file_1.xmlкорневой элементFILE_1 содержит набор из четырех элементов-записей (элементыSTUDENT), и каждый из элементов-записей имеет одинаковый набор элементов-полей, которые содержат только символьные данные (FAMILY,NAME,YEAR,GROUP).
Сцепление элемента TABLE с данными XML требует следующего синтаксиса:
<TABLE datasrc="#[ссылка]">
<TR>
<TD> <SPAN datafld = "имя элемента"/></SPAN></TD>
: инструкции для каждого поля :
</TR>
</TABLE>
Элемент TABLE страницы сцеплен со всем XML-документом путем присвоения атрибуту DATASRCэлемента идентификатора (ID) фрагмента данных, предваренного символом #:
<TABLE DATASRC="#dsoStudent" BORDER="6" CELLPADDING="5" width="100%">
Таблица определена с одной строкой (элемент TR). Каждая ячейка в этой строке (т.е. каждый элементTD) состоит из элементаSPAN, который сцеплен с одним из полейXML-документа таким образом, что этот элемент отображает содержимое поля.
Так как элемент TDне является связываемымHTML- элементом, то он не может быть непосредственно сцеплен с полямиXML, поэтому необходимо использовать элементSPAN в качестве контейнера для данныхXML. Атрибутdatafldэтого элемента, задает конкретное поле, которое должно связываться. Например,для связывания элемента SPAN с элементомFAMILYиз документаfile_1.xmlможно использовать следующую строку:
<TD> < SPAN DATAFLD = "FAMILY" > </SPAN> <TD>
Не смотря на то, что в элементе TABLEопределена только одна строка, когда браузер отображает таблицу, он повторяет строковый элемент для каждой записи вXML- документе.
Для обеспечения заголовков всех столбцов таблицы можно использовать раздел стандартного заголовка:
<THEAD style="background-color:aqua">
<TH> Фамилия </TH>
: инструкции для каждого заголовка:
</THEAD>
Если XML-документ содержит много записей, можно использовать постраничный вывод группы записей за один раз вместо отображения всех записей одновременно в огромной таблице. Для активизации постраничного отображения в обычной связанной таблице выполняются следующие действия.
Для сцепленного элемента TABLE добавляется атрибут DATAPAGESIZE, значение которого равное максимальному числу записей, отображаемых за раз. Каждая страница записей будет содержать заданное число записей;
Для сцепленного элемента TABLE добавляется атрибут ID и присвоить ему уникальный идентификатор;
Для перемещения между записями таблицы вызывать методы элемента TABLE, с использованием его значения его уникального идентификатора в качестве объекта, вызывающего метод.
Использование методов элемента TABLE
Отображает первую страниц записей |
ID_таблицы.firstPage () |
Отображает предыдущую страницу записей |
ID_таблицы.previousPage() |
Отображает следующую страницу записей |
ID_таблицы.nextPage() |
Отображает последнюю страницу записей |
ID_таблицы.lastPage() |
В простейшем случае обращения к методам элемента TABLE заключается в присвоении метода атрибуту ONCLICKHTML-элементаBUTTON
Релятивисты и позитивисты утверждают, что "мысленный эксперимент" весьма полезный интрумент для проверки теорий (также возникающих в нашем уме) на непротиворечивость. В этом они обманывают людей, так как любая проверка может осуществляться только независимым от объекта проверки источником. Сам заявитель гипотезы не может быть проверкой своего же заявления, так как причина самого этого заявления есть отсутствие видимых для заявителя противоречий в заявлении.
Это мы видим на примере СТО и ОТО, превратившихся в своеобразный вид религии, управляющей наукой и общественным мнением. Никакое количество фактов, противоречащих им, не может преодолеть формулу Эйнштейна: "Если факт не соответствует теории - измените факт" (В другом варианте " - Факт не соответствует теории? - Тем хуже для факта").
Максимально, на что может претендовать "мысленный эксперимент" - это только на внутреннюю непротиворечивость гипотезы в рамках собственной, часто отнюдь не истинной логики заявителя. Соответсвие практике это не проверяет. Настоящая проверка может состояться только в действительном физическом эксперименте.
Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.
Понятие "мысленный эксперимент" придумано специально спекулянтами - релятивистами для шулерской подмены реальной проверки мысли на практике (эксперимента) своим "честным словом". Подробнее читайте в FAQ по эфирной физике.