1 / 12

XML и связывание данных

XML и связывание данных. Презентацию подготовил Шакирзянов Айрат, гр. 950б. Все, что происходит в мире XML связано с хранением данных. Одна из технологий, позволяющих извлекать данные, не прибегая к методу программирования, именуется связыванием данных.

parson
Download Presentation

XML и связывание данных

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML и связывание данных Презентацию подготовил Шакирзянов Айрат, гр. 950б Все, что происходит в мире XML связано с хранением данных. Одна из технологий, позволяющих извлекать данные, не прибегая к методу программирования, именуется связыванием данных.

  2. Связывание данных с HTML-элементами • Лишь немногие элементы в Internet Explorerподдерживают свойства, обеспечивающие связывание с объектами DSO (Data Source Objects, применяются для чтения документа). Для этого применяются атрибуты DATASRC и DATAFLD этих элементов. Атрибуту DATASRCв качестве значения присваивается название объекта DSO, а атрибуту DATAFLD– имя поля данных, связываемое с элементом. После этого элемент будет отображать данные из текущей записи DSO. Вы можете использовать методы moveFirst, moveLast, moveNextи movePrevious, чтобы сделать другие записи текущими, причем связанные элементы будут обновляться автоматически. • Например, если управляющий элемент типа «текстовое поле» связывается с полем NAMEв записи dsoCustomerDSO, то этот управляющий элемент будет отображать имя Charles при первой загрузке страницы. После вызова метода moveNextв качестве текущей выбирается следующая запись, а управляющий элемент отобразит имя Franklin.

  3. Текст HTML-документа 01.html <HTML> <HEAD> <TITLE> Customer Data </TITLE> </HEAD> <BODY> Name: <SPAN ID=“NAME”>Charles</SPAN><BR> ID: <SPAN ID=“CUSTOMER_ID”>58704</DPAN><BR> Purchase date: Date: <SPAN ID=“PURCHASE_DATE”> 10/15/2003</SPAN><BR> Department: <SPAN ID=“DEPARTMENT”> Meat</SPAN><BR> Product: <SPAN ID=“PRODUCT_NAME”>Ham</SPAN><BR> Name: <SPAN ID=“NAME”>Franklin</SPAN><BR> ID: <SPAN ID=“CUSTOMER_ID”>58705</DPAN><BR> Purchase date: Date: <SPAN ID=“PURCHASE_DATE”> 10/15/2003</SPAN><BR> Department: <SPAN ID=“DEPARTMENT”> Produce</SPAN><BR> Product: <SPAN ID=“PRODUCT_NAME”>Tomatoes</SPAN><BR>

  4. Name: <SPAN ID=“NAME”>Phoebe</SPAN><BR> ID: <SPAN ID=“CUSTOMER_ID”>58706</DPAN><BR> Purchase date: Date: <SPAN ID=“PURCHASE_DATE”> 10/15/2003</SPAN><BR> Department: <SPAN ID=“DEPARTMENT”> Meat</SPAN><BR> Product: <SPAN ID=“PRODUCT_NAME”>Turkey</SPAN><BR> Name: <SPAN ID=“NAME”>Mark</SPAN><BR> ID: <SPAN ID=“CUSTOMER_ID”>58707</DPAN><BR> Purchase date: Date: <SPAN ID=“PURCHASE_DATE”> 10/15/2003</SPAN><BR> Department: <SPAN ID=“DEPARTMENT”> Meat</SPAN><BR> Product: <SPAN ID=“PRODUCT_NAME”>Beef</SPAN><BR> Name: <SPAN ID=“NAME”>Nancy</SPAN><BR> ID: <SPAN ID=“CUSTOMER_ID”>58708</DPAN><BR> Purchase date: Date: <SPAN ID=“PURCHASE_DATE”> 10/15/2003</SPAN><BR> Department: <SPAN ID=“DEPARTMENT”> Frozen</SPAN><BR> Product: <SPAN ID=“PRODUCT_NAME”>Broccoli</SPAN><BR> </BODY> </HTML>

  5. HTML-элементы Internet Explorer, детализирующие связываемые свойства атрибутов DATASRCи DATAFLD • Aсвязывается со свойством href. Не обновляет данные. • APPLETсвязывается со свойством param. Обновляет данные. • BUTTONсвязывается со свойством value. Не обновляет данные. • DIV связывается со свойствами innerTextи innerHTML. Не обновляет данные. • FRAME связывается со свойством src. Не обновляет данные. • IFRAMEсвязывается со свойством src. Не обновляет данные. • IMGсвязывается со свойством src. Не обновляет данные. • INPUT TYPE=BUTTONсвязывается со свойством value. Не обновляет данные. • INPUT TYPE=CHECKBOXсвязывается со свойством checked. Обновляет данные. • INPUT TYPE=HIDDENсвязывается со свойством value. Обновляет данные. • INPUT TYPE=PASSWORD связывается со свойством value. Обновляет данные. • INPUT TYPE=RADIO связывается со свойством checked. Обновляет данные. • INPUT TYPE=TEXT связывается со свойством value. Обновляет данные. • LABELсвязывается со свойством value. Не обновляет данные. • MARQUEE связывается со свойствами innerTextи innerHTML. Не обновляет данные.

  6. OBJECTсвязывается со свойством objects. Обновляет данные. • PARAMсвязывается со свойством param. Обновляет данные. • SELECT связывается со свойством textвыбранного жлемента списка. Обновляет данные. • SPAN связывается со свойствами innerTextи innerHTML. Не обновляет данные. • TABLEконструирует таблицу в целом. Не обновляет данные. • TEXTAREAсвязывается со свойством value. Обновляет данные. • Кроме того, HTML-теги включают определенные события, применяемые в процессе связывания данных: • onafterupdate происходит после изменения данных элемента посредством DSO; • onbeforeunload происходит перед выгрузкой страницы; • onbeforeupdate происходит до изменения данных элемента посредством DSO; • onerrorupdate происходит в случае прекращения процесса изменения данных вследствие ошибки.

  7. Добавим управляющий элемент dsoCustomerна веб-страницу и подключим его с помошью DSO к документу01.html: <HTML> <HEAD> <TITLE> Data Binding With the MSHTML DSO </TITLE> </HEAD> <BODY> <CENTER> <H1> Data Binding With the MSHTML DSO </H1> <OBJECT ID=“dsoCustomer” DATA=“01.html” HEIGHT=“0” WIDTH=“0”> </OBJECT> - - -

  8. Таким же образом поле CUSTOMER_IDсвязывается с другим текстовым полем. Текстовые данные объекта DSO могут отображаться непосредственно на веб-странице – без использования текстового управляющего элемента – путем привязки объекта DSO к элементу <SPAN> следующим образом: <OBJECT ID=“dsoCustomer” DATA=“01.html” HEIGHT=“0” WIDTH=“0”> </OBJECT> Name: <INPUT TYPE=“TEXT” DATASRC=“#dsoCustomer” DATAFLD=“NAME” SIZE=“10”> <P> ID: <INPUT TYPE=“TEXT” DATASRC=“#dsoCustomer” DATAFLD=“CUSTOMER_ID” SIZE=“5”> <P> Purchase date: <SPAN DATASRC=“#dsoCustomer” DATAFLD=“PURCHASE_DATE”></SPAN> - - -

  9. Чтобы показать, каким образом связываются другие управляющие элементы, поле DEPARTMENT, которое принимает значения Produce, Meat или Frozen, будет связано с управляющим элементом <SELECT>, отображающим раскрывающийся список. Этот управляющий элемент связывается с DSOdsoCustomer таким же образом, как это делается в случае с другими элементами; однако следует определить возможные значения связываемого поля DEPARTMENT, выступающие в качестве элементов <OPTION>в управляющем элементе <SELECT>: - <P> Department: <SELECT DATASRC=“#dsoCustomer” DATAFLD=“DEPARTMENT” SIZE=“1”> <OPTION VALUE=“Produce”>Produce <OPTION VALUE=“Meat”>Meat <OPTION VALUE=“Frozen”>Frozen </SELECT> <P> Product: <SPAN DATASRC=“#dsoCustomer” DATAFLD=“PRODUCT_NAME”> </SPAN> -

  10. Аналогичным образом поле PRODUCT_NAMEпривязывается к другому элементу <SPAN>. При первой загрузке страницы отображается имя покупателя, его идентификатор, дата покупки, название отдела и IDтовара первой записи элементов, которые размещены на странице. Однако в этом случае имеют место некоторые проблемы. Объект DSO не отображается на странице. В связи с этим возникает вопрос о том, каким образом пользователь может просматривать различные записи? Ответ на поставленный выше вопрос заключается в применении методов набора записей: moveFirst, moveLast, moveNextи movePrevious, вызываемых после щелчка на отображаемых кнопках. К объекту набора записей в DSO можно обращаться по имени dsoCustomer.recordset. Таким образом, вызов метода moveFirstдля перехода к первой записи выглядит следующим образом: dsoCustomer.recordset.moveFirst(). Перед использованием методов moveNextи movePreviousстоит проверить, можно ли совершить переход к следующей или предыдущей записи,- если выйти за пределы набора записей, связанные элементы будут на странице пустыми. Можно воспользоваться свойствами набора записей BOF (beginning of file, начало файла) и EOF(end of file, конец файла) для определения нахождения в начале или в конце набора записей соответственно.

  11. - - - <P> <BUTTON ONCLICK=“dsoCustomer.recordset.moveFirst()”>&lt;&lt; </BUTTON> <BUTTON ONCLICK=“if (!dsoCustomer.recordset.BOF) dsoCustomer.recordset.movePrevious()”>&lt; </BUTTON> <BUTTON ONCLICK=“if (!dsoCustomer.recordset.EOF) dsoCustomer.recordset.moveNext()”>&gt; </BUTTON> <BUTTON ONCLICK=“dsoCustomer.recordset.moveLast()”>&gt;&gt; </BUTTON> </CENTER> </BODY> </HTML> Соответствующая веб-страница показана ниже. Пользователь может перемещаться по записям файла 01.html, используя кнопки, размещенные внизу страницы.

More Related