Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Правильно построенные и действительные документы XML. Стандартом определены два уровня правильности документа XML:



Стандартом определены два уровня правильности документа XML:

Правильно построенный документ соответствует всем правилам синтаксиса XML. Иначе XML-процессор (парсер) не должен обрабатывать его обычным образом, а обязан классифицировать ситуацию как фатальная ошибка.

Действительный (англ. valid). Действительный документ дополнительно соответствует некоторым семантическим правилам. Эти правила могут быть разработаны как самим пользователем, так и разработчиками словарей или стандартов обмена данными. Обычно такие правила хранятся в специальных файлах — схемах, где подробным образом описана структура документа, все допустимые названия элементов, атрибутов и многое другое. И если документ содержит не определённое заранее в схемах название элемента, то такой документ считается недействительным. Проверяющий XML-процессор (валидатор) при проверке на соответствие правилам и схемам обязан сообщить об ошибке.

В общем случае XML- документы должны удовлетворять следующим требованиям:

· В заголовке документа помещается объявление XML, в котором указывается язык разметки документа, номер его версии и дополнительная информация ;

· Каждый открывающий тэг, определяющий некоторую область данных в документе обязательно должен иметь своего закрывающего "напарника", т.е., в отличие от HTML, нельзя опускать закрывающие тэги ;

· В XML учитывается регистр символов;

· Все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки;

· Вложенность тэгов строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов;

· Вся информация, располагающаяся между начальным и конечными тэгами, рассматривается в XML как данные и поэтому учитываются все символы форматирования ( т.е. пробелы, переводы строк, табуляции не игнорируются, как в HTML)

· Если XML- документ не нарушает приведенные правила, то он называется формально-правильным и все анализаторы, предназначенные для разбора XML- документов, смогут работать с ним корректно.

· Однако кроме проверки на формальное соответствие грамматике языка, в документе могут присутствовать средства контроля над содержанием документа, за соблюдением правил, определяющих необходимые соотношений между элементами и формирующих структуру документа. Например, следующий текст, являясь вполне правильным XML- документом, будет абсолютно бессмысленным:

· <country><title>Belarus</title> <city><title>Minsk</country></title></city>

· Чтобы обеспечить проверку корректности XML- документов, необходимо использовать анализаторы, производящие такую проверку и называемые верифицирующими.



· На сегодняшний день существует два способа контроля правильности XML- документа: DTD – определения (Document Type Definition) и схемы данных (Semantic Schema. В отличии от SGML, определение DTD- правил в XML не является необходимостью, и это обстоятельство позволяет нам создавать любые XML- документы, не ломая пока голову над весьма непростым синтаксисом DTD.

Отображение XML документа

Наиболее распространены три способа преобразования XML-документа в отображаемый пользователю вид:

1. Применение стилей CSS;

2. Применение XSL;

3. Написание на каком-либо языке программирования обработчика XML-документа.

Без использования CSS или XSL XML-документ отображается как простой текст в большинстве веб-браузеров. Некоторые браузеры отображают структуру документа в виде дерева, позволяя сворачивать и разворачивать узлы с помощью нажатий клавиши мыши.

Для применения CSS при отображении в браузере, XML-документ должен содержать специальную ссылку на таблицу стилей. Например:

<?xml-stylesheet type="text/css" href="myStyleSheet.css"?>

В подходе HTML используется элемент <link>.

XSL является семейством рекомендаций, описывающих языки преобразования и визуализации XML-документов. Документ трансформируется в формат, подходящий для отображения в браузере. Браузер — это наиболее частое использование XSL, но не стоит забывать, что с помощью XSL можно трансформировать XML в любой формат, например VRML, PDF, текст.

Для задания XSL трансформации (XSLT) на стороне клиента требуется наличие в XML инструкции следующего вида:



<?xml-stylesheet type="text/xsl" href="transform.xsl"?>

Словари XML

Словарь позволяет разработчикам договориться о некотором конечном наборе имен тегов и атрибутов этих тегов. Одним из первых словарей является XHTML, который понимают большинство браузеров. XHTML часто используют для хранения и редактирования контента в CMS.

Существуют специализированные словари, например для передачи данных по протоколу SOAP, который не является человеко-ориентированным. Коммерческие словари, такие как CommerceML, xCBL и cXML используются для передачи данных, ориентированных на торговую деятельность и включают в себя описание системы заказов, поставщиков, продуктов и прочее.

Обычно, описывая какой-либо документ, человек для себя придумывает некоторый словарь, который потом описывается посредством DTD или просто объясняется «на пальцах» заинтересованным лицам.

Одним из словарей, получивших широкое распространение, является FB2 — словарь, описывающий формат книги, со всевозможными сносками, цитатами, даже картинками.

Adobe Flash

Разработчики страниц пытаются придать страницам привлекательный вид, используя графику и анимацию. Замечательным инструментом создания графики и анимации является программное средство Adobe Flash. Flash обладает такими возможностями как:

- Применение векторной графики, представляющей собой ряд формул, описывающих изображения. Это позволяет уменьшать размеры графических файлов.

- Свойство потоковой передачи графики позволяет отображать сайт в Web-браузере до полной его загрузки.

- Интерактивность позволяет вводить кнопки, меню или фрагменты анимации, с помощью которых пользователь перемещается по сайту. Задавая события с помощью языка создания сценариев ActionScript можно создавать интерактивные анимации.

Adobe Flash - мультимедийная платформа компании Adobe для создания веб-приложений и мультимедийных презентаций. Широко используется для создания рекламных баннеров, анимации и игр. Flash часто предпочитают другим средствам разработки приложений для web из-за скорости разработки, простоты изучения языка программирования (ActionScript) и возможности легко создавать сложные и красивые эффекты. Adobe Flash позволяет работать с векторной, растровой и ограниченно с трёхмерной графикой, а также поддерживает двунаправленную потоковую трансляцию аудио и видео.

Платформа Adobe Flash включает в себя ряд средств разработки, прежде всего Adobe Flash Professional и Adobe Flash Builder, а также программу для воспроизведения flash-контента — Adobe Flash Player.

Одним из последних новшеств Flash является возможность упаковать приложение в мобильные форматы для iPhone и Android. Для КПК и других мобильных устройств выпущена специальная «облегчённая» версия платформы Flash Lite, функциональность которой ограничена в расчёте на возможности мобильных устройств и их операционных систем.

Стандартным расширением для скомпилированных flash-файлов (анимации, игр и интерактивных приложений) является .SWF. Расширение FLA соответствует формату рабочих файлов в среде разработки.

Вставка флэш в страницу

При вставке .swf ролика в страницу необходимо помнить, что Flash Player часто по разному вставляется в IE, и в другие браузеры. Необходимо проверять наличие необходимой версии Flash Player у пользователя

Пример кода для вставки в страницу .swf ролика:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="300" height="150">

<param name=movie value="адрес флэшки">

<param name=quality value=high>

<embed src="адрес флэшки" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="300" height="150"></embed></object>

Для вставки .swf роликов в страницу рекомендуется пользоваться проектом swfobject (http://code.google.com/p/swfobject/ ). Swfobject позволяет избавиться от типичных ошибок при вставке .swf файлов в страницу и значительно упрощает процесс интеграции flash ролика в страницу.

Язык ActionScript

ActionScript выполняется виртуальной машиной AVM, которая является частью проигрывателя Flash Player и пакета AIR. Код ActionScript обычно преобразуется компилятором в формат байт-кода. Байт-код встроен в SWF-файлы, которые исполняет проигрыватель Flash Player и пакет AIR. Среди примеров компиляторов — компилятор, встроенный в Adobe Flash Professional, компилятор, встроенный в Adobe Flash Builder, а также компилятор, доступный в компоненте Adobe Flex SDK.

Пример hello world на языке ActionScript 3.0

package {

import flash.display.Sprite;

import flash.text.TextField;

public class HelloWorld extends Sprite {

public function HelloWorld() {

var txtHello:TextField = new TextField();

txtHello.text = "Hello, world";

addChild(txtHello);

}

}

}

 

 

Более сложный пример рисования:

package

{

import flash.display.Sprite;

import flash.display.Shape;

public class FirstDrawing extends Sprite

{

public function FirstDrawing()

{

// создание объекта класса Shape

var circle:Shape = new Shape( );

// инициализация заливки

circle.graphics.beginFill( 0xff9933 , 1 );

// рисование круга

circle.graphics.drawCircle( 0 , 0 , 40 );

// изменение позиции

circle.x = 140;

circle.y = 40;

// добавление круга к дисплей листу

addChild( circle );

// создание объекта класса Shape

var rectangle:Shape = new Shape( );

// инициализация заливки

rectangle.graphics.beginFill( 0xaaFFaa , 1);

// рисование прямоугольника

rectangle.graphics.drawRect(0, 0, 40, 60);

// изменение позиции

rectangle.x = 0;

rectangle.y = 0;

// добавление прямоугольника к дисплей листу

addChild( rectangle );

// создание объекта класса Shape

var line:Shape = new Shape( );

// инициализация стиля линии

line.graphics.lineStyle(1, 0x3333ff);

// рисование линии

line.graphics.moveTo(140, 40);

line.graphics.lineTo(20, 30);

// добавление линии к дисплей листу

addChild( line );

}

}

}

 

Видео-аудио проигрыватели

Одним из самых частых способов использования технологии flash в интернете является проигрывание видео и аудио треков. В большинстве случаев для интеграции видео в веб страничку достаточно уже готовых интернет проигрывателей. Рассмотрим, например, один из популярных и свободно распространяемых проигрывателей: JW FLV Player ( http://www.longtailvideo.com/players/jw-flv-player/ )

 

 

Для интеграции JW FLV Player на сайт достаточно проследовать 4-м шагам:

1. Скачать архив с плеером с сайта проигрывателя

2. Загрузить файлы jwplayer.js и player.swf из архива на ваш сервер.

3. Подключите jwplayer.js на странице на которой вы собираетесь его использовать.

Например можно сделать так:

<script type="text/javascript" src="/jwplayer/jwplayer.js"></script>

4. Проинициализируйте плеер где-либо в коде вашей страницы. Сделать это можно следующим образом

<div id="container">Loading the player ...</div>

<script type="text/javascript"> jwplayer("container").setup({});

flashplayer: "/jwplayer/player.swf", file: "/uploads/video.mp4", height: 270,width: 480

</script>

Более детальные инструкции можно найти в документации по плееру.

Flex

Adobe Flex — технология для легкого и быстрого создания Rich Internet Applications, использующая описание интерфейса приложения с помощью диалекта XML — MXML. Flex приложение может компилироваться на сервере, а может — из IDE как во Flash, результатом является swf файл, исполняемый с помощью Flash Player.

Flex SDK - это большой набор классов, расширяющих возможности Flash. Flex-framework включает возможности локализации, стилизации приложения, разработки модульного приложения, встроенные валидаторы и форматоры текстовых полей — все те инструменты, которые нужны разработчикам приложений, работающих online.

Adobe предоставляет бесплатную интегрированную среду разработки на Flex: Flash Builder. Adobe Flash Builder создана на свободно распространяемой платформе разработки Eclipse, которую многие разработчики уже используют при программировании на Java.

Flex, помимо скорости разработки, предоставляет полные мультимедийные возможности Flash платформы: включая потоковое мультимедиа, возможность получить доступ к веб-камере и микрофону пользователя, бинарные сокеты, обширные возможности сетевых коммуникаций (HTTP-запросы, веб-сервисы, встроенный формат сериализации AMF), оперирование координатами трехмерного пространства, возможности использования встроенных фильтров (таких как расфокусировка, падающая тень и др.), и написания собственных.

Flex – это сложные приложения для веб и декстопов, в то время как Flash – это анимации, баннеры и простые игры.

Технология «клиент-сервер»

Приложения WWW работают по технологии «клиент-сервер», в которой все программное обеспечение разделяется на клиентскую и серверную части. Взаимодействие клиента и сервера происходит по принципу «запрос-ответ». Клиент посылает запрос, сервер обрабатывает его и посылает ответ. Рассмотрим, например, этапы соединения по протоколу http.

· Запрос клиента. Браузер формирует запрос на основе данных из URL пользователя, либо из данных формы.

· Установка соединения клиента с сервером

· Посылка запроса клиента и ожидание ответа от сервера.

· Обработка запроса сервером. Генерация ответа.

· Прием ответа клиентом.

· Разрыв соединения.

Пока нет обращений клиентов, HTTP-сервер просто «спит», установив прослушку заданного порта (по умолчанию 80). Когда клиент устанавливает соединение, сервер «просыпается» и, приняв данные запроса, вызывает скрипт для их обработки. Результат всех манипуляций - это выдача ответа, которого ожидает клиент. После того как сервер выдал ответ, он разрывает соединение и вновь «погружается в сон». В случае возникновения ошибки HTTP-транзакция может закончиться на любом из этих этапов.

Первой технологией, позволившей создавать динамические веб-сайты стал интерфейс CGI, который позволял обычным программам формировать содержимое веб-страницы и возвращать пользователю результат в виде HTML документа. Этот способ создания веб-сайтов популярен до сих пор.

Следующим поколением в разработке динамических веб-сайтов стал интерфейс ISAPI. Он мало чем отличается от CGI, однако решены многие проблемы с производительностью и масштабируемо­стью.

Гипертекстовые препроцессоры стали новой ступенью эволюции серверных технологий. Основное их отличие — возможность вставлять программный код прямо в HTML-страницу. Это позволило значительно упростить процесс разработки, а также частично отделить представление от программного кода. Самым популярным гипертекстовым препро­цессором является PHP. Современ­ный подход к созданию веб-приложений — это использование технологий JSP и ASP.NET. У JSP есть одно преимущество — кроссплатфор­менность(может работать и на Windows и на Unix серверах). В основном выбор технологии сводиться к выбору связки: JSP+Linux или ASP.NET+Windows. Linux является бесплатной операционной системой, но много компаний и разработчиков выбирают именно ASP.NET+Windows.

Технологии CGI

Технология CGI (Common Gateway Interface – стандартный шлюзовой интерфейс) – была разработана для расширения возможностей WWW за счет подключения внешнего программного обеспечения – гостевых книг, баз дан­ных, интернет-магазинов и т.д. При этом сервер взаимодействует с подклю­чаемыми программами через стандартные потоки ввода/вывода. Входной информацией для таких приложений служит содержимое HTTP-заголовка (метод GET) либо тело запроса (метод POST). CGI-приложения генерируют HTML-код, который возвращается браузеру для отображения новой страницы.

Отметим, что вместе с CGI широко используется и термин «CGI-скрипты». Подобные приложения писались на скриптовом языке Perl и выполнялись на сервере. Основная проблема CGI-приложений заключается в том, что при каждом клиентском запросе сервер загружает это приложение в отдельное адресное пространство, а затем инициирует его выполнение и выгрузку. Это ограничивает производительность приложений и возможность одновременной обработки большого количества клиентских запросов. CGI — это способ общения между http сервером и программой - скриптом. CGI-приложения можно создавать с помощью любого средства разработки, генерирующего консольные приложения для операционной системы, под управле­нием которой функционирует Web-сервер, а не только на Perl. Программа, , которая читает get-данные из системных переменных, post-данные из stdin и пишет результирующий html-код в stdout, может быть написана на любом языке. CGI-скрипт получает данные от пользователя и, в зависимости от этих данных выполняет какие-либо действия, например формирует HTML-страницу. Допустим вы вводите в браузере строку http://bbbb.by/cgi-bin/prr.cgi Ваш браузер соединяется по протоколу HTTP с указанным сервером и просит у него нужный файл. Серверу передается строка GET http://bbbb.by/cgi-bin/prr.cgi HTTP/1.1 Дальше идет посылаемая браузером информация о себе. Если такой файл есть, то сервер отошлет браузеру ответ: HTTP/1.1 200 Ok Content-Type: text/html Если в запрашиваемом URL указать специальную CGI - программу, то в ре­зультате эта программа запустится на сервере и браузер получит то, что выдала эта программа на выходе. При этом программа может выполнить какие-то дру­гие действия, например, записать данные в базу данных. При запуске CGI-скрипта сервер создает в системе набор переменных ок­ружения через которые и передаются данные от пользователя REQUEST_METHOD -Это поле, используемое для определения метода за­проса HTTP Протокол HTTP использует методы GET и POST для запроса к серверу.Они отличаются тем что при методе GET запрос является как-бы ча­стью URL т.е. http://www..../my.cgi?request а при методе POST данные переда­ются в теле HTTP-запроса. Следовательно для CGI при GET запрос идет в пе­ременную QUERY_STRING а при POST подается на STDIN скрипта. Пример:REQUEST_METHOD=GET QUERY_STRING Это строка запроса при методе GET. Известно, что запрос из формы кодируется браузером поскольку не все символы разрешены в URL, некоторые имеют специальное назначение. В методе urlencode все пробелы заменяются на знак '+', а все специальные и непечатные символы на %hh, где hh-шестнадцате­ричный код символа. Разделителем полей формы служит знак '&'. При обра­ботке форм надо произвести декодирование. При методе запроса POST необходимо считать со стандартного входа STDIN CONTENT_LENGTH байт, а потом производить их обработку. Обычно методом POST пользуются для передачи форм, содержащих потенциально большие области ввода текста TEXTAREA. Браузер посылает на сервер и информацию о себе, чтобы CGI-скрипт мог представить информацию с учетом этого. Что такое скрипт CGI-скрипт - это программа, которая выполняется на web-сервере по за­просу клиента. CGI - это не код, а специализированный интерфейс, при по­средстве которого производится запуск скрипта и дальнейшая работа. Если посетитель сайта заполнит какие-то формы и нажмет кнопку "Отправить", данные поступают на сервер, запускается cgi-скрипт и происходит обработка поступившей информации. Например, текст сообщения и прочие значения считываются скриптом из формы отправки и записываются в файл гостевой книги. Взамен этого, на браузер посетителя отправляется сообщение. Сервера, функционирующие под управлением Windows могут работать с CGI – скриптами на С++, Perl Visual Basic или Delphi. Если вы скачали какой-то скрипт и хотите его использовать, необходимо подстроить под себя - в начале скрипта потребуется указать кое-какие данные. На­пример, путь к интер­претатору Perl (чаще всего - /usr/local/bin/perl/ или /usr/bin/perl/), адрес сайта, название файла, в который должны записы­ваться результаты выполнения скрипта и т.д. Вдобавок ко всему, скрипт следует поместить в специальный каталог. Классический пример - имя скрипта Perl должно иметь расширения .cgi, а сам он будет находиться в каталоге cgi-bin. Но это необязательно: скрипт может располагаться где угодно, при этом большинство веб-серверов требуют специальной настройки. В веб-сервере Apache, например, такая настройка может производиться при помощи общего файла настроек httpd.conf или с помощью файла .htaccess в том каталоге, где содержится этот скрипт. Пример скрипта Hello World на языке Python:   #!/usr/bin/python print("""Content-Type: text/plain Hello, world!""")   Пример программы Hello World на языке C: #include <stdio.h> int main(void) { printf("Content-Type: text/plain;charset=us-ascii\n\n"); printf("Hello, world!\n\n"); return 0; }  

Использование CGI имеет ряд недостатков: сложность отделения про­граммного кода от HTML-представления, отсутствие встроенных средств для создания пользовательского интерфейса. При создании сайта приходится либо все писать самому, либо использовать готовое решение, которое не­легко приспо­собить к другим условиям.

ISAPI и Apache DSO

Проблему ограниченной производительности CGI - приложений, кото­рые выполняются в отдельном адресном пространстве, можно решить, создав приложение в виде библиотеки, загружающейся в адресное пространство Web-сервера и при необходимости остающейся там для обработки после­дующих запросов от других клиентов. Web-сервер должен поддерживать за­грузку таких библиотек. Подобные приложения для Microsoft Internet Information Servise носят название ISAPI (Internet Server Application Program Interface), а для Web-сервера Apache такие библиотеки называются Apache DSO (Dynamic Shared Objects).

ASP, JSP, PHP

Очередным шагом в развитии технологий создания Интернет-приложений было появление средств, позволяющих отделить задачи Web-дизайна от задач, связанных с реализацией функциональности приложений. Такой технологией стала Active Server Pages (ASP), построенная на основе ISAPI. Основная идея ASP заключается в создании Web-страниц с внедренными в них фрагментами кода на скриптовых языках. Однако, указанные фрагменты кода интерпретируются не браузером, а сервером (ISAPI-библиотекой). Результат выполнения замещает сам фрагмент кода в версии страницы, которая передается в пользовательский браузер. Вскоре появились и другие технологии, реализующие идею размещения внутри Web-страницы кода, выполняемого Web-сервером. Известной является технология JSP (Java Server Pages), основная идея которой — однократная компиляция Java-кода (сервлета) при первом обращении к нему, выполнение методов этого сервлета и помещение результатов выполнения этих методов в набор данных, отправ­ляемых в браузер. Еще одной популярной технологией подобного типа является PHP (Personal Home Pages), которая использует CGI-приложения, интерпретирующие внедренный в HTML-страницу код на скриптовом языке.


Эта страница нарушает авторские права

allrefrs.ru - 2019 год. Все права принадлежат их авторам!