съдържа мета-елементи за съответната колода и елементи, через които се управлява достъпа до колодата. Нейното съдържание – текст и директиви - не се изобразява на екрана от браузера
o командата
съдържа алтернативно командите и (с еднократна форма)
15. Kоманда :
o задава достъпа до съответната колода:
o при отсъствието й колодата е достъпна от картите на всяка произволна колода
o атрибутите на са domain и path (+ базовите атрибути!), чрез които се задават колоди (респ. с URL или със съответния път по директории), от които съответната колода е достъпна
o имплицитните стойности на двата атрибута са
o domain: текущия URL-адрес
o path: / (главната директория)
o съпоставянето на оторизирания в domain URL-адрес с текущия адрес на превключване между колодите става отдясно наляво
o съпоставянето на оторизираната в path директория с текущата директория на превключване между колодите става отляво надясно
o пример:
дефинира достъп до съответната колода от
o acta.fi/WAP/test.wml – разрешен
o wap.acta.fi/WAP/WEB/public/test2.wml - разрешен
o cta.fi/WAP/test.wml – неразрешен
o wap.acta.fi/WEB/public/test2.wml – неразрешен
16. Kоманда :
o съдържа мета-елементи, характеризиращи имента и стойностите на дадени характеристики на съответната колода, които улесняват откриването на съответната колода при търсене
o атрибути на командата са content (задължителен); name, http-equiv и
forua – (алтернативни) и scheme (опция)
o content посочва стойност на характеристиката, зададена с някой от алтернативните атрибути
o пример:
Стр. 5 от 7
WAP/WML 3
дефинира продължителност на съхраняване на колодата в локалната памет (след което при ново обръщение тя се презережда от сървера) – тук 1 час; имплицитна стойност – 30 дни
o align, който задава изравняването на пярягряфите във всяка колона със символите L, C и R
o Примери – таблици с 2 и с 3 колони
"http://www.wapforum.org/DTD/wml_1.1.xml">
Lili Ivanova
12345
Drago 4aja
54321
"http://www.wapforum.org/DTD/wml_1.1.xml">
First row: First cell
First row: Second cell
First row: Third cell
Second row: First cell
Second row: Second cell
Second row: Third cell
Third row: First cell
Third row: Second cell
Third row: Third cell
Fourth row: First cell
Fourth row: Second cell
Fourth row: Third cell
IV. Хипервръзки, графика и таймери в WML 1. Хипервръзки в WML
WAP/WML 4
o задават адреси на отдалечени и локални (принадлежащи на заредената колода) обекти
– документи, script приложения или графика
o в текущата карта се представят като избираем текст или графичен обект, като асоциираната с него хипервръзка се активира избор и команда от бутон на мобилния терминал
o относителна адресация се ползва при преход между обекти от същата директория или същия сървер на съдържанието;
o за начален избор на обект от даден сървер и при превключване между сървери се ползва абсолютен URL адрес:
http://wap.acta.fi/documents/doc1.wml
2. Команди и
o дефинира [eдна и само една] хипервръзка
o разполага се навсякъде в документа, освен в команда
o връзката се асоциира с едно от заданията go, prev, refresh
o атрибутът title на командата се използва за за идентифициращ текст към връзката и не се препоръчва неговата дължина да превишава 6 символа
o използват се вписани команди за инициализиране на променливи, които се предават към обекта от връзката (вж. Лекция 6.)
o тази команда не може да се вписва в командите и - т.е. образи не могат де се ползват като бутони
o задължителни атрибути на командата са alt и src и като опция атрибутите
localsrc, vspace, hspace,align,width и height
o атрибутът alt задава текст, който се изобразява алтернативно от браузера при невъзможнаст да се представи графичното изображение
Стр. 1 от 3
WAP/WML 4
o атрибутът src задава абсолютен или относителен адрес на файла, съдържащ графичното изображение
o атрибутът loclsrc задава алтернативен графичен обект, съхраняван в паметта на мобилния терминал – обикновено икона (съществува списък на 175 стандартни икони за WAP устройствата); ако такъв не бъде открит се зарежда обекта от src
o атрибутите vspace и hspace задават вертикалното и хорозинтално поле около
изображението в брой пиксели или процентно
o атрибутът align може да се задава със стойности top, middle или bottom
o атрибутите width и height задават размера на изображението в пиксели или процентно
o пример
"http://www.wapforum.org/DTD/wml_1.1.xml">
This anchor points to the
another card in the
same document.
This anchor points to the
another document in the same server.
This anchor points to the
title="Zed"> document
in another server.
4. Приложение на атрибутите
o пример за представяне на графика в карта с атрибутите hspace
и vspace:
"http://www.wapforum.org/DTD/wml_1.1.xml">
Стр. 2 от 3
WAP/WML 4
o пример за представяне на графика в карта с атрибут localsrc:
"http://www.wapforum.org/DTD/wml_1.1.xml">
5. Команда
o всяка карта, съдържаща командата , се асоциира с един (и само един) таймер, който се стартира при отварянето й от браузера; ако картата не е затворена след изтичане на определен с период се генерира събитието ontimer
o атрибути на са: задължителен value и name
o атрибутът value има цяла положителна стойност и задава продължителността на броене в единици от 10-1S;
o атрибутът name задава име на променлива, асоциирана със съответния таймер и тази променлива се използва да дефинира престой на съответната карта, различен от определения с value (т.е. тя има по-висок приоритет)
o ако затваряне на картата настъпи преди изтичане на времето от value, променливата от name запазва стойноста си и може да се предава към следващ документ; иначе при изтичане на времето, променливата се нулира
o пример – преход към абсолютен URL адрес след 8 секунди
"http://www.wapforum.org/DTD/wml_1.1.xml">
Hello! Let's go!
V. Асинхронно управление; задания в WML 1. Събития, задания и инструкции в WML
WAP/WML 5
o Събитията са асинхронна промяна в условията на интерпретация на съдържанието от браузера – обикновено реакции на потребителя (превключване между карти и колоди, натискане на бутони, избор на опция ...)
o Заданията са специфицирани процедури, които се изпълняват като резултат от настъпването на дадено събитие
o Инструкциите са стандартни дейности, специфицирани чрез WML команда, които описват съдържанието на заданието
o В WML са дефинирани набор от стандартни събития и съответстващите им задания
2. Обобщено събитие – команда
o Командата има семантиката на обобщено събитие, което се ползва за стартиране на задания. Тя има следните атрибути [и технитe стойности]:
o type [accept, prev, help, reset, options, delete, unknown]
o label
o optional [true, false]
o Съвместимост на командата:
o oтнася се до една карта, когато е вписана в команда
o отнася се до цялата колода, когато е вписана в команда
в този случай се интерпретира като последна команда от съдържанието на всяка карта;
команда , вписана в карта, отменя действието на шаблонната команда
o Значение на атрибутите
o атрибутът type описва интерфейса и интерпретацията на заданието, а стойностите му имат следното значение:
accept – потвърждава изпълнението на инструкциите
prev – избразяване на предходния екран от буферната памет
help – изобразяване на help екран за събитието
reset – прекратява стартираните от командата инструкции
options – задава алтернативни инструкции
delete – заличава стойностите на елементите на командата
unknown – подразбираща се стойност без определена функция
o атрибутът label задава кратък текст (обикн. до 6 символа) за подходящ потребителски интерфейс, описващ характера на заданието
o атрибутът optional при стойност true задава компонент, който може да не се представя на екрана при липса на екранно пространство
o пример:
"http://www.wapforum.org/DTD/wml_1.1.xml">
Choose Forward to access the next card.
This is card 2.
Стр. 1 от 8
WAP/WML 5
3. Събитие ontimer
o това събитие е атрибут на командите и - вж. т. 5., лекция 4.
o стойността му е абсолютен или относителен URL адрес на картата за преход при изтичане на времето, зададено с
o приложението му е най-често за представяне на рекламна информация за определен кратък период от време (лого на фирмата или флаг на спонсора)
o това събитие е атрибут на командите и т.е. може да се отнася за картата, в която е вписано, или за всички карти в колодата
o стойността му е адрес на карта, която се отваря от браузера в случай че текущата карта е отворена в резултат на:
o go задание на предходната карта на браузера
o преход по връзка от предходната карта
o влизане в текущата карта чрез въвеждане на нейния адрес в браузера
o избор на нейния URL от списъка запазени адреси на браузера
o в този случай съдържанието на текущата карта (ако има такова) не се изобразява на екрана
Стр. 2 от 8
WAP/WML 5
o onenterforward не се интерпретира когато съдържащата го (текущата) карта е отворена в резултат на изпълнение на функция prev (навигиране назад в буфера на браузера) и тогава съдържанието на картата се изобразява на екрана
o освен атрибут на команда, събитието onenterforward може да бъде стойност на атрибута type в команда (в която адреса на прехода се задава чрез вписана команда и има възможност за инициализиране и предаване на променлива към следващата карта)
o пример за атрибут
"http://www.wapforum.org/DTD/wml_1.1.xml">
onenterforward="ex3-05_03.wml">
Hello! So you came back!
o пример за стойност
"http://www.wapforum.org/DTD/wml_1.1.xml">
Hello! So you came back!
5. Събитие onеnterforward с обръщение към функция
o като атрибут това събитие може да се използва за обръщение към външна WMLScript функция, при което резултата се предава като променлива
o този механизъм се използва при разработване на интерактивни приложения – напр.
игри
o пример
"http://www.wapforum.org/DTD/wml_1.1.xml">
onenterforward="ex3-05_05.wmls#init()">
You $result
Стр. 3 от 8
WAP/WML 5
o WMLScript код във файла ex3-05_05.wmls:
extern function init() {
WMLBrowser.setVar("result"," WON");
WMLBrowser.refresh();
}
6. Събитие onеnterbackward
o това събитие е атрибут на командите и т.е. може да се отнася за картата, в която е вписано, или за всички карти в колодата
o стойността му е адрес на карта, която се отваря от браузера в случай че текущата карта е отворена в резултат на prev задание на предходната карта на браузера
o съдържанието на текущата карта (ако има такова) не се изобразява на екрана
o когато събитието е стойност на type атрибут в команда, адреса на преход се задава с вписана команда
o пример
събитие - атрибут събитие - стойност
//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/
wml_1.1.xml">
Hello!
Hello! So you came back!
//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/w ml_1.1.xml">
title="Hello!">
Hello!
Hello! So you came back!
7. Събитие onpick
o това събитие е атрибут на командата
o cтойността му е адрес на карта, която се отваря от браузера при съответен избор на потребителя
o пример
"http://www.wapforum.org/DTD/wml_1.1.xml">
Стр. 4 от 8
WAP/WML 5 New document:
8. Събитие onevent
o onevent е обобщено събитие и се задава с команда , чийто атрибут type описва конкретния тип събитие и в която се вписва задание – реакция (напр. go, prev, noop, refresh) – вж. примерите в 4. и 6.
9. Анулиране на събитие
o всъщност може да се анулира задание, което е свързано с дадено събитие. Например събитие на ниво колода (вписано в команда ) може да се отмени с алтернативно задание за това събитие в отделна карта (вписано в съответната команда
)
o най-често в такъв случай се използва заданието
o пример: шаблон за колодата дефинира do събитие с
задание; в карта card1
събитието е анулирано
"http://www.wapforum.org/DTD/wml_1.1.xml">
Card 1
Стр. 5 от 8
WAP/WML 5
Card 2
10. Задания в WML
o заданията представляват предефинирани реакции на събития (обикновено предизвикани от потребителя в интерактивен режим)
o при браузерите за мобилни терминали набора задания включва отваряне на документи и избор в меню
o заданията са go, prev, noop и refresh
o те се свързват със събития като do и onevent в горните примери, а също и с хипервръзки, зададени с команда 11. Заданиe go
o това задание има въвеждаща и закриваща марка ... , но може да се ползва и с еднократна марка ; разширената маркиравка позволява вписване на променлива в заданието с командите
може да се задават двойки променлива-стойност при предаване на данни от браузера към сървера
o заданието специфицира трансфер към нов URL адрес – карта или колода – в резултат от събитие
o заданието има задължителен атрибут href, съдържащ абсолютен (включващ протоколната спецификация!: http://www.wap.com/index.wml) или относителен адрес (в директориите на текущия сървер)
12. Атрибути на заданиeто go
o освен задължителния href (и базовите атрибути id и class!) това задание има следните атрибути sendreferer, method, и accept-charset
o стойностите на sendreferer са true и false, като при true браузера включва URL на текущата колода в заявката към сървера и така могат да се проверят правата за достъп до викания документ; имплицитната стойност на атрибута е false
o стойностите на method са post и get, които задават HTTP-метода за предаване на данни от браузера към сървера; имплицитната стойност на атрибута е get, но при CGI програми се препоръчва ползване на метода post от съображения за защита на информацията и съвместимост (тъй като get метода не винаги поддържа предаване на дълги символни низове от полетата за попълване – вж. лекция 9.)
o accept-charset задава знакогенератора, който трябва да бъде използван от сървера при интерпретацията на изпращаните данни
o пример с ползване на get и post method и формат на заявката/ите към сървера