XML fundamentals

Document Sample
XML fundamentals Powered By Docstoc
					                                                             Даниела Ременска 8513
XML fundamentals
        Основни градбени блокови за изградба на web сервиси обезбедува баш пакетот
технологии групирани под името XML. XML е од огромно значење за денешниот свет на
компјутерите, особено за web компјутингот, од мрежните протоколи па се до базите на
податоци. Ова поглавје ги дава основите за XML пред да премине на посложени содржини.
        XML како јазик претставува стандард кој се користи за означување на податоци.Од
таму е и името eXtensible Markup Language, и како технологија е целосно поддржана од
W3C, под изговор дека претставува универзален формат за структурирани документи и
податоци на Web. Почетоците на XML се во 1998 година, значи се работи за технологија
која сеуште е во почетна фаза и се усовршува, така што стандардите и моделите се во
развој. Но иако XML е навидум технологија богата со многу спецификации, сепак ја
зачувала својата едноставност, и практично целата XML платформа може да се опише со
неколку точки:

            XML служи за структурирани податоци
           Под структурирани податоци се подразбираат разни табели, телефонски
           именици, адресари, конфигурациски параметри, финансиски трансакции и
           слично. XML е само множество од правила кои се користат за дизајнирање на
           овие текстуални формати кои го водат моделерот кон креирање на
           структурирани податоци. Значи со XML се опишува структура, а не изглед. XML
           не е програмски јазик иако наликува, поради стандардните текстуални ознаки
           кои служат за лесно генерирање и читање на податоците.XML е лесно
           проширлив јазик, платформски независен, поддржува интернационализација и
           локализација.
            XML наликува на HTML
           Како HTML,XML користи тагови за означување на структурирани
           податоци.Тагови се зборови заградени со загради < и > и атрибути од обликот
           име=”вредност”. Но разликата е во тоа што HTML специфицира како се користи
           секој таг, што значи секој атрибут, и како ќе се рендерира содржината во
           браузер, XML користи тагови само за лесно одделување на парчињата
           податоци, додека нивната интерпретација целосно се остава на апликацијата
           каде ќе се вчитуваат таговите.
            XML е лесно читлив за човекот, но не служи за да го читаат луѓе
           Програмите кои произведуваат структурирани податоци, најчесто тие податоци
           ги зачувуваат на диск, и тоа во бинарен или текстуален формат. Предност на
           текстуалниот формат е тоа што тој е лесно читлив за луѓето, во случај кога е
           неопходно да се прегледаат податоците без да се отвара програмата со која се
           генерирани, туку со најобичен текст едитор.XML фајловите се текстуални,
           но,напомена, не треба луѓето да ги отвараат и како такви да ги читаат во
           текстуални едитори, освен кога нема вистинска потреба од тоа. За разлика од
           HTML тука правилата се построги, и никако не се толерира заборавен таг или
           атрибут без вредност, бидејки така XML документот е бескорисен. Кај HTML,
           browser-ите се такви да толерираат и тагови кои не се затворени, и други
           помали синтаксни грешки, и автоматски ги корегираат претпоставувајки дека
           корисникот ги заборавил. Но XML спецификацијата строго забранува
           апликациите да претпоставуваат каква грешка направил креаторот на
           неисправен XML документ, и да се обидуваат да ја исправат грешката!Ако
           документот е неисправен, апликацијата мора да јави грешка.
            XML е преопширен јазик
           Поради фактот дека XML фајловите се текстуални бидејки користат тагови, тие
           скоро секогаш се поголеми од споредливите бинарни формати. Тоа е одлука на
   кој се согласени сите дизајнери на XML. Јасно е кои се предностите на
   текстуалниот формат, а недостатоците може да се компензираат со апликации
   кои имаат различни нива на компресија. Освен тоа трансферот на XML
   документи низ мрежата може да се убрза со комуникациски протоколи како
   оние кои се користат во модемските протоколи и HTTP/1.1, кои потоа ефикасно
   компресираат и на тој начин се штеди бендвит и ефикасноста е споредлива со
   бинарните формати.
    XML е збир од технологии
   XML 1.0 е спецификација која дефинира што претставуваат тагови и атрибути.
   Но зад тоа постои цела фамилија од модули кои нудат различни корисни
   сервиси за да се остварат најчесто бараните задачи.
    XML е модуларен
   Дозволува дефинирање на нов формат на документи преку комбинирање и
   користење на други формати. Треба притоа да се внимава ако елементите или
   атрибутите на повеќето формати имаат исто име.За елиминирање на
   конфузијата со имиња кога се комбинираат формати, XML обезбедува
   namespace механизам кој е поддржан од сите XML-базирани технологии.
    XML не бара лиценца, специфична платформа
   Да се одбере XML како технологија за развој на web сервиси значи автоматски
   да се има пристап кон огромно купче од алатки и техники за развој на бази,
   програми, процедури кои ги манипулираат. За XML не ви е потребна никаква
   лиценца, што веднаш значи елиминација на многу проблеми.

   Па да почнеме со некои од фундаменталните XML концепти.

   XML документи
       XML документите се прават за да се опфатат и опишат структурираните
   податоци, слично како објектите во објектно ориентираното програмирање.
   Документите се структурирани во поголем број на елементи кои се одвоени со
   тагови, кои може но не мора да бидат вгнездени во рамките на некои други
   елементи.
       За оние кои се запознаени со синтаксата на HTML, сето ова звучи познато,
   иако, мора да се напомене дека XML e многу построг во однос на синтаксата од
   HTML. Пред да преминеме на некој конкретен пример, добро е да се запамети
   фундаменталната синтакса на еден XML документ:

       1. Сите тагови мора да имаат соодветни завршни тагови (за затварање),
            освен ако не се дел од поделементи, во кој случај се репрезентираат со
            <element-name…attributes…/>
       2.   Не смее еден елемент да преклопува друг, а вгнездување на елементите
            е дозволено.
       3.   Еден документ може да има само еден root елемент (ова не го вклучува
            кодот за XML декларација <?xml … ?>).
       4.   Во рамките на еден таг, атрибутите на елемент мора да имаат уникатни
            имиња, т.е. да не се повторуваат
       5.   Единствено имиња на елементите и парови атрибут-вредност може да
            се стават во рамките на декларација на таг.

Секако дека најдобар начин да се разбере XML е преку пример, па подолу е дадена
една типична структура на XML документи, иако малку пократка од вообичаените
документи кои се користат во Web сервисите
       <?xml version=”1.0” encoding=”utf-8”?>
       <dvd>
              <title>The Phantom Menace</title>
              <year>2001</year>
       </dvd>

       Горниот код е документ кој содржи податоци за ДВД. Секој XML документ почнува
со XML декларација одделена со <? и ?>. Ова им дава на програмите информација како да
го процесираат тој документ. Во конкретниот случај ги информира дека документот е
енкодиран според верзија 1.0 (во моментот 1.0 е прва и единствена XML верзија и се
работи на 1.1), додека текстуалното енкодирање е UTF-8.
       Во останатиот дел од документот се сместени фактичките структурирани
податоци.Во случајот имаме root елемент означен со <dvd> таг,и тој содржи во себе два
поделементи означени со <title> и <year> тагови. Овие тагови содржат податоци во
текстуален облик за кои претпоставуваме дека се однесуваат на името на филмот и
годината кога е издаден (иако можеа таговите да имаат збунувачки имиња, слично како
што можеме да ставиме лоши имиња за променливи кога програмираме).
       Можеме да го усложниме овој документ за да можат и некои програми да извлечат
побогати инофмации од него. НА пример ќе го додадеме атрибутот region=”2” кон тагот
<dvd>, а може и да се додаде коментар со <!--и -->

       <?xml version=”1.0” encoding=”utf-8”?>
       <!—This is the European release of the DVD -->
       <dvd region=”2”>
              <title>The Phantom Menace</title>
              <year>2001</year>
       </dvd>

Додавањето на атрибутот region би бил доста практичен на пример за систем за каталози
кој би го користел овој атрибут за класификација на дискови според географскиот регион.




Основи на XML
Основни градбени блокови за изградба на web сервиси обезбедува баш
пакетот технологии групирани под името
XML
WWW
.NET
netTech
ASP
XML како јазик претставува стандард кој се користи за
Означување на структурирани податоци
Означување на бази на податоци
Задавање на тагови
Развој на интернет сервиси
Означување на хипертекст-документи


XML е програмски јазик кој служи за означување на структурирани податоци
точно
неточно


Следните особини го прават XML стандарден јазик за опишување на
податоци:
проширлив
платформски-зависен
поддржува интернационализација
поддржува локализација
поддржан само од Unix платформи


XML јазикот користи тагови за означување на структурирани податоци:
Точно
Неточно


Дел од XML спецификацијата се однесува на следново:
XML е лесно читлив за човекот, но не служи за да го читаат луѓе
XML строго забранува апликациите да претпоставуваат каква грешка
направил креаторот на неисправен XML документ
XML документот мора да биде во бинарен формат
XML бара лиценца за да може да се користи
XML документи
XML документите се структурирани во поголем број на елементи кои се
одвоени со:
тагови
линкови
атрибути
броеви


Таговите кои постојат како елементиво рамките на XML документите
може но не мора да бидат вгнездени во рамките на некои други елементи
не смеат да бидат вгнездени во рамките на други тагови
не смеат да се преклопуваат со други тагови
може но не мора да се преклопуваат со некои други тагови


Синтаксата која се користи при опишување на податоци во еден XML
документ, наликува на:
HTML
ASP
PASCAL
PHP
не наликува на ниедна друга синтакса
Сите тагови во рамките на еден XML документ мора да имаат соодветни
завршни тагови
да
не мора,апликацијата може сама да претпостави ако недостасува


Фундаменталната синтакса на еден добро формулиран XML документ
подразбира дека се исполнети следниве услови:
Сите тагови во рамките на еден XML документ мора да имаат соодветни
завршни тагови
Еден документ може да има само еден елемент
Во рамките на еден таг, атрибутите на елемент мора да имаат уникатни
имиња, т.е. да не се повторуваат