Все, что происходит в мире XML связано с хранением данных. Одна из технологий, позволяющих извлекать данные, не прибегая к методу программирования, именуется связыванием данных. XML и связывание данных Презентацию подготовил Шакирзянов Айрат, гр. 950б
Лишь немногие элементы в Internet Explorer поддерживают свойства, обеспечивающие связывание с объектами DSO (Data Source Objects, применяются для чтения документа ). Для этого применяются атрибуты DATASRC и DATAFLD этих элементов. Атрибуту DATASRC в качестве значения присваивается название объекта DSO, а атрибуту DATAFLD – имя поля данных, связываемое с элементом. После этого элемент будет отображать данные из текущей записи DSO. Вы можете использовать методы moveFirst, moveLast, moveNext и movePrevious, чтобы сделать другие записи текущими, причем связанные элементы будут обновляться автоматически. Например, если управляющий элемент типа « текстовое поле » связывается с полем NAME в записи dsoCustomer DSO, то этот управляющий элемент будет отображать имя Charles при первой загрузке страницы. После вызова метода moveNext в качестве текущей выбирается следующая запись, а управляющий элемент отобразит имя Franklin. Связывание данных с HTML- элементами
Customer Data Name: Charles ID: Purchase date: Date: 10/15/2003 Department: Meat Product: Ham Name: Franklin ID: Purchase date: Date: 10/15/2003 Department: Produce Product: Tomatoes Текст HTML- документа 01.html
Name: Phoebe ID: Purchase date: Date: 10/15/2003 Department: Meat Product: Turkey Name: Mark ID: Purchase date: Date: 10/15/2003 Department: Meat Product: Beef Name: Nancy ID: Purchase date: Date: 10/15/2003 Department: Frozen Product: Broccoli
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. Не обновляет данные. HTML- элементы Internet Explorer, детализирующие связываемые свойства атрибутов DATASRC и DATAFLD
OBJECT связывается со свойством objects. Обновляет данные. PARAM связывается со свойством param. Обновляет данные. SELECT связывается со свойством text выбранного жлемента списка. Обновляет данные. SPAN связывается со свойствами innerText и innerHTML. Не обновляет данные. TABLE конструирует таблицу в целом. Не обновляет данные. TEXTAREA связывается со свойством value. Обновляет данные. Кроме того, HTML- теги включают определенные события, применяемые в процессе связывания данных : onafterupdate происходит после изменения данных элемента посредством DSO ; onbeforeunload происходит перед выгрузкой страницы ; onbeforeupdate происходит до изменения данных элемента посредством DSO ; onerrorupdate происходит в случае прекращения процесса изменения данных вследствие ошибки.
Добавим управляющий элемент dsoCustomer на веб - страницу и подключим его с помошью DSO к документу 01.html: Data Binding With the MSHTML DSO Data Binding With the MSHTML DSO -
Таким же образом поле CUSTOMER_ID связывается с другим текстовым полем. Текстовые данные объекта DSO могут отображаться непосредственно на веб - странице – без использования текстового управляющего элемента – путем привязки объекта DSO к элементу следующим образом : Name: ID: Purchase date: -
Чтобы показать, каким образом связываются другие управляющие элементы, поле DEPARTMENT, которое принимает значения Produce, Meat или Frozen, будет связано с управляющим элементом, отображающим раскрывающийся список. Этот управляющий элемент связывается с DSO dsoCustomer таким же образом, как это делается в случае с другими элементами ; однако следует определить возможные значения связываемого поля DEPARTMENT, выступающие в качестве элементов в управляющем элементе : - Department: Produce Meat Frozen Product: -
Аналогичным образом поле PRODUCT_NAME привязывается к другому элементу. При первой загрузке страницы отображается имя покупателя, его идентификатор, дата покупки, название отдела и ID товара первой записи элементов, которые размещены на странице. Однако в этом случае имеют место некоторые проблемы. Объект DSO не отображается на странице. В связи с этим возникает вопрос о том, каким образом пользователь может просматривать различные записи ? Ответ на поставленный выше вопрос заключается в применении методов набора записей : moveFirst, moveLast, moveNext и movePrevious, вызываемых после щелчка на отображаемых кнопках. К объекту набора записей в DSO можно обращаться по имени dsoCustomer.recordset. Таким образом, вызов метода moveFirst для перехода к первой записи выглядит следующим образом : dsoCustomer.recordset.moveFirst(). Перед использованием методов moveNext и movePrevious стоит проверить, можно ли совершить переход к следующей или предыдущей записи,- если выйти за пределы набора записей, связанные элементы будут на странице пустыми. Можно воспользоваться свойствами набора записей BOF (beginning of file, начало файла ) и EOF(end of file, конец файла ) для определения нахождения в начале или в конце набора записей соответственно.
- << < > >> Соответствующая веб - страница показана ниже. Пользователь может перемещаться по записям файла 01.html, используя кнопки, размещенные внизу страницы.