Xml тілі туралы



Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...3
1.тарау. XML тілі туралы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..4
1.1 XML тіліне түсініктеме ... ... ... ... ... ... ... ... ... ... ... ... ... ... .4
1.2 XML тілінің тарихы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..5
1.3 Айрықша белгілері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 6
1.4 Күшті және әлсіз жақтары ... ... ... ... ... ... ... ... ... ... ... ... ... 7

II.тарау. XML тілінде құжаттарды пайдалану ... ... ... ... ... ... ... ..10

2.1 XML.дің дұрыс құрастырылған және қолданыстағы құжаттары ... ..11
2.2 ХML синтаксисі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 10
2.3 XML.дің хабарламалары және элементтері. Сілтемелердің мәні ... .11
2.4 Мәліметтер схемасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .16
2.5 Элементтер сипаттамасы ... ... ... ... ... ... ... ... ... ... ... ... ... ...17
2.6 Элемент мазмұны сипаттамасының ашық және жабық моделі ... ... 20
2.7 XML Schema анықтау. Қарапайым және күрделі типтер ... ... ... ... ..22

III.тарау.XML құжатын JavaScript тілінде өңдеу ... ... ... ... ... ... ... .24

3.1JavaScript тілі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .24
3.2 MSXML.ді пайдаланып құжатты өзгерту ... ... ... ... ... ... ... ... ... 25
3.3 XML.талдаушылары (анализатор) мен түрлендірулері ... ... ... ... ... .26
3.4 XML үшін қарапайым API (SAX) ... ... ... ... ... ... ... ... ... ... ... ...27

Зертханалық жұмыстартар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .29

Қосымша ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .91

Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...94

Пайдаланылған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .95
Интернет технологиясының қарыштап дамуына байланысты, оның ықпалы тек қана адамдардың қызмет және үйрену жақтарында бейнеленіп қана қалмастан, барған сайын өмірдің әр саласына еніп бара жатыр. Интернетті қолдану арқылы адамдар көптеген ақпараттарға дәл әрі тез ие болып, өзара пікір алмастыру орайы барған сайын кеңеюде, сайттар да барған сайын көбеюде. Кейбір сайттардың пайдаланылу мөлшері күніне неше жүзмың ретке жетсе, кейбір сайттар керісінше құлазып тұрады. Мұның себебіне үңілетін болсақ, сайттарда мәлімет көзі мол болуымен қатар, олардың жобалануының әдемілігі де адамдарды өзіне баурайтын маңызды фактор. Сол себепті сайт жобалаудың техникасын игеру үшін бастапқы білімдерден бастап үйрену керек.
Дипломдық жұмыстың мақсаты: XML тілінде құжаттарды өңдеу және жалпы мағлұмат беру.
Дипломдық жұмыстың міндеті: XML құжаттарын JavaScript тілінде өңдей отырып, Web беттерін жасау, яғни XML тілінде электрондық оқулық жасау.
Интеграциялық мәліметер әртүрлі көптеген қиын және үлкен аумақты тапсырмаларды орындау үшін керек. Бірақ XML тілі ықшамдап, әртүрлі мәліметерді қосады және өзгертуге болатын жерді өзгертеді. Серверге түскен мәліметтер қорын басқа арнайы программалық агент ретінде береді, бірақ клиенттік сервер мәліметтер өңдеп өзіне қайтадан қайтарады.
XML – программалау тілі емес, ақпаратты өңдеу, сақтау тілі.
XML (ағылшынша. eXtensible Markup Language — ұлғайтуға болатын белгілеу тілі; [экс-эм-э́л]) деп оқылады—Дүниежүзілік тор консорциумымен ұсынылған белгілеу тілі, іс жүзінде жалпы синтаксистік қағидалар жиынтығы болып табылады. Құрылымдалған деректерді сақтауға, программалар арасында ақпаратпен алмасуға арналған, сондай-ақ соның негізінде, кей кездерде сөздіктер деп аталатын, бұдан да мамандандырылған белгілеу тілдерін (мысалы, XHTML) жасауға арналған XML — мәтіндік формат. XML SGML тілінің қарапайым тілі болып табылады.
1. Алексей Валиков. Технология XSLT. М.: 2004ж.


2. “Изучаем XML” Э. Рей Спб: Символ – Плюс, 2001 г.


3. “Мифы и реальности XML” Сергей Кузнецов – ИСП РАН, Центр информационных технологий


4. “Semantic Web: роли XML и RDF” С. Деккер – журнал “Открытые системы” сентябрь 2001 г.


5. Сергеев Александр Петрович HTML и XML Профессиональная работа – М: “Диалектика”, 2004 г.


6. http://www.w3.org/Graphics/SVG/.


7. http://www.W3 Schools com/svg/


8. "HTML, XHTML и CSS. Библия пользователья" 3-е издание. Брайн Пфаффенбергер, Чак Уайт, Билл Кароу


9. "XML Базавой курс 4-е издание". Дэвид Хантер, Джефф Рафтер, Джо Фаусетт, Эрик ван дер Влист и др.


10. "Создание документов XML для Web" Джесс Либерти, Майк Крейли. 2000 г. Вильямс


11. "XML: разработки Web-приложений (CD-ROM)" Алексей Старыгин BHV-Санкт-Петербург. 2003 г.


12. http://www.w3.org/TR/SVG12/ SVG


13. http://www.w3.org/TR/SVG11/ SVG


14. http://www.w3.org/2000/10/XMLSchema


Мазмұны:

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...3
1-тарау. XML тілі туралы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..4

1.1 XML тіліне түсініктеме ... ... ... ... ... ... ... ... ... ... ... ... ... ... .4

1.2 XML тілінің тарихы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..5

1.3 Айрықша белгілері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 6

1.4 Күшті және әлсіз жақтары ... ... ... ... ... ... ... ... ... ... ... ... ... 7

II-тарау. XML тілінде құжаттарды пайдалану ... ... ... ... ... ... ... ..10

2.1 XML-дің дұрыс құрастырылған және қолданыстағы құжаттары ... ..11
2.2 ХML синтаксисі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 10

2.3 XML-дің хабарламалары және элементтері. Сілтемелердің мәні ... .11
2.4 Мәліметтер схемасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .16
2.5 Элементтер сипаттамасы ... ... ... ... ... ... ... ... ... ... ... ... ... ...17
2.6 Элемент мазмұны сипаттамасының ашық және жабық моделі ... ... 20
2.7 XML Schema анықтау. Қарапайым және күрделі типтер ... ... ... ... ..22

III-тарау.XML құжатын JavaScript тілінде өңдеу ... ... ... ... ... ... ... .24

3.1JavaScript тілі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .24
3.2 MSXML–ді пайдаланып құжатты өзгерту ... ... ... ... ... ... ... ... ... 25
3.3 XML-талдаушылары (анализатор) мен түрлендірулері ... ... ... ... ... .26
3.4 XML үшін қарапайым API (SAX) ... ... ... ... ... ... ... ... ... ... ... ...27

Зертханалық жұмыстартар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .29

Қосымша ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .91

Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...94

Пайдаланылған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..95

Кіріспе

Интернет технологиясының қарыштап дамуына байланысты, оның ықпалы тек қана
адамдардың қызмет және үйрену жақтарында бейнеленіп қана қалмастан, барған
сайын өмірдің әр саласына еніп бара жатыр. Интернетті қолдану арқылы
адамдар көптеген ақпараттарға дәл әрі тез ие болып, өзара пікір алмастыру
орайы барған сайын кеңеюде, сайттар да барған сайын көбеюде. Кейбір
сайттардың пайдаланылу мөлшері күніне неше жүзмың ретке жетсе, кейбір
сайттар керісінше құлазып тұрады. Мұның себебіне үңілетін болсақ,
сайттарда мәлімет көзі мол болуымен қатар, олардың жобалануының әдемілігі
де адамдарды өзіне баурайтын маңызды фактор. Сол себепті сайт жобалаудың
техникасын игеру үшін бастапқы білімдерден бастап үйрену керек.
Дипломдық жұмыстың мақсаты: XML тілінде құжаттарды өңдеу және жалпы
мағлұмат беру.
Дипломдық жұмыстың міндеті: XML құжаттарын Java Script тілінде өңдей
отырып, Web беттерін жасау, яғни XML тілінде электрондық оқулық жасау.
Интеграциялық мәліметер әртүрлі көптеген қиын және үлкен аумақты
тапсырмаларды орындау үшін керек. Бірақ XML тілі ықшамдап, әртүрлі
мәліметерді қосады және өзгертуге болатын жерді өзгертеді. Серверге түскен
мәліметтер қорын басқа арнайы программалық агент ретінде береді, бірақ
клиенттік сервер мәліметтер өңдеп өзіне қайтадан қайтарады.
XML – программалау тілі емес, ақпаратты өңдеу, сақтау тілі.
XML (ағылшынша. eXtensible Markup Language — ұлғайтуға болатын белгілеу
тілі; [экс-эм-э́л]) деп оқылады—Дүниежүзілік тор консорциумымен ұсынылған
белгілеу тілі, іс жүзінде жалпы синтаксистік қағидалар жиынтығы болып
табылады. Құрылымдалған деректерді сақтауға, программалар арасында
ақпаратпен алмасуға арналған, сондай-ақ соның негізінде, кей кездерде
сөздіктер деп аталатын, бұдан да мамандандырылған белгілеу тілдерін
(мысалы, XHTML) жасауға арналған XML — мәтіндік формат. XML SGML тілінің
қарапайым тілі болып табылады.
XML құрудағы басты мақсат, ақпаратты өңдеудің әртүрлі жүйелері арасында
құрылымдалған деректерді жіберу кезінде үйлестікті қамтамасыз ету болып
табылады, әсіресе осындай деректерді интернет арқылы жіберген кезде. XML
негізделген сөздіктер (мысалы, RDF, RSS, MathML, XHTML, SVG), іс жүзінде
өздігінен бейнеленген, бұл өз кезегінде, олардың семантикасын білмей-ақ,
яғни элементтердің мағыналық мәнін білмей-ақ, құжаттарды осындай сөздіктер
негізінде тексеруге және бағдарламасын өзгертуге мүмкіндік береді.
Атаулар кеңістігі деп аталатындарды қолдану XML басты ерекшелігі болып
табылады. (ағылшынша. namespace).

1-тарау. XML тілі туралы

1.1. XML тіліне түсініктеме.
Қазіргі уақытта көптеген құжаттар HTML кодында жазылып WEB
түрінде сақталады. Көп жағдайларда HTML тілі кеңейтілген дискрипторлық
таңдауға мүмкіндік береді. Қажеттілік жағдайда жаңа дискрипторлық HTML
құжатымызды динамикалық және тартымды жасауға болады. Осындай қажеттілікті
қанағаттандыра отырып, браузерлік өңдеуіш кейбір HTML дискрипторын енгізуді
қабылдауға мүмкіндігін қосады. Мұндай өзгертулер немесе енгізулер WEB
құжаттарының қолданылуын қиындата түсуі және HTML тілін өзгеше түсіндірулер
пайда болады.
XML мета тілдік (мета тіл-бұл басқа тілдерді түсіндіру деген мағананы
білдіреді)-дегеніміз проект жасаушыларға арнайы дискрипторларды HTML-дің
көмегінсіз ойлап табуға мүмкіндік береді.
XML тілі SGML- тіліне өте ұқсас.
SGML (Standart Generalized Markup Language)- стандартты талданған тіл. XML
арнайы WEB құжатын дайындауға арналған
SGML- дегеніміз бұл құжаттың құрылымдық түрін анықтайтын жүйе. SGML тілі
20 жыл бойы стандартты тәуелсіз құрылымдық прогрммалық құжат болып келеді.
Бұл құжаттың екі жолы бар: біріншісі құжат құрылым анықтайды, екіншісі сол
текстен құралады.
Анықталған құрылым дегеніміз- анықталған құжаттың түрі.
SGML тілі кез келген құжатқа жеке анықталған құрылымды бекітеді және
құжат авторына өзінің арнайы структурасын жасауға мүмкіндік береді.
XML тілі басқа тілдерге қарағанда жұмыс жасауға көп мүмкіндіктер береді.
Мысалы: MathML (Mathematics Markup Language –математикалық тілде жазу
немесе қолдану), SMIL (Synchonized Multimedia Integration Language- бұл
тіл мультимедиялық ақпараттарды синхрондау дегенді білдіреді) CML
(Chemisty Markup Language- химиялық тілдердегі заттарды немесе документ
т.б. қолданылады.)
XML тілі 1998 жылдан бастап қолданылып келеді. Бұл тіл көптеген
ақпараттық технологияларды графиктік интерфейс, жүйелік деректер қорын
басқаруға болады. XML тілі барлық деректер қорының схемасын қолдануға
және таңдауға мүмкіндік береді.
Мысалы: СУБД (деректер базасын құру) схемасының деректер қорын, ORACLE
немесе Informix болмаса SYBASE.
Қазіргі кезде XML тілі стандартты деректер қорын аудандардың программасының
жабдықтарының тез электрондық жүйеге ауыстыра алады.
EDI (Electronic Data Interchange деректер қорын электрондық түрде
ауыстыру деген мағынаны білдіреді).

1.2. XML тілінің тарихы.

XML тілінің пайда болу уақыты деп 1996 жылды санауға болады, осы жылдың
соңында тілдің спецификациясының жоба үлгісі пайда болды, немесе осы
спецификация бекітілген 1998 жыл. Ал мұның бәрі 1986 жылы пайда болған
SGML тілінен басталды. SGML (ағылшынша. Standard Generalized Markup
Language — стандартты қорытылған белгілеу тілі) өзін белгілеу тілдерін
жасауға арналған икемді, кешенді және барлығын қамтитын мета-тіл ретінде
танытты. Гипермәтін ұғымы 1945 жылы пайда болуына қарамастан, бұл тілдің
гипермәтіндік үлгісі жоқ. SGML жасауды құшаққа сыймайтынды құшаққа сыйдыру
әрекеті деп сенімді түрде айтуға болады, себебі бәрі бірдей өте сирек
қолданылатын осындай мүмкіндіктерді біріктіреді. Міне, осының өзі оның
басты кемшілігі болып табылады, сонымен қатар оның күрделілігі және де
соның салдарынан, осы тілдің қымбаттылығы, сәйкес бағдарламалық қамтамасыз
етуді және жоғары мамандандырылған және білікті мамандарды жалдауға қалтасы
көтеретін, тек ірі компаниялар ғана жұмысында қолдануымен шектеледі. Міне,
осы оның басты кемшілігі болып табылады. Сонымен қатар, кішігірім
компанияларда SGML көмегімен ғана шешуге болатын, сондай күрделі мәселелер
өте сирек кездеседі.SGML өзге де белгілеу тілдерін жасау үшін кеңінен
қолданылады, тап соның көмегімен, спецификациясы 1992 жылы бекітілген,
HTML— гипермәтіндік құжаттардың белгілеу тілі жасалды. Оның пайда болуы
Интернет жүйесінде тез ұлғайып отырған құжаттар көлемін ұйымдастыру
қажеттілігімен байланысты болды. Интернетке қосылулардың және осыған орай
Web-серверлерге қосылулардың қарқынды өсуі салдарынан электрондық
құжаттарды кодтау қажеттілігі туындады, игерілуі өте күрделі болғандықтан
оған SGML күші жетпеді. HTML — өте қарапайым оқып үйренудегі жеңілдік және
құжаттардың рәсімдеуде қолданылатын құралдардың сан-алуандығы Интернет
пайдаланушылары үшін оны ең танымал және әйгілі тіл деп танытты. Бірақ та
Жүйедегі құжаттар саны өсіп, олардың сапасы да өзгеруіне қарай оларға
қойылатын талаптар да күшейтілді, соның салдарынан HTML қарапайымдылығы
оның басты кемшілігіне айнала бастады. Тегтер санының шектеулі болуы және
құжаттың құрылымына деген талғаусыздығы W3C консорциумы атынан қызмет етіп
жүрген әзірлеушілермен SGML секілді өте күрделі емес және де HTML тәріздес
өте қарапайым емес белгілеу тілін жасап шығаруына себепкер болды. Соның
нәтижесінде, HTML қарапайымдылығын, SGML белгілеуінің қисынын байланыстыра
отырып және де Интернет талаптарын қанағаттандыратын XML тілі пайда болды.

XML тілінің айрықша белгілері

XML тілі ол қарапайым тіл. Стандартты түрде 50 беттен кем болмауы
керек. Бұл тіл сапалы пайдалануға арналған тіл.
XML тілі платформаға тәуелді емес және программаларға жабдықталған. Бұл тіл
көп жағдайларда SGML тіліне тәуелді және ISO стандартты түрде
анықталған. XML тілі Unicode тілінде теріледі. Өйткені ол барлық алфабиттық
тексті тани береді.
Кеңейту тәсілдері. HTML тіліне қарағанда XML тілі кеңейтілген тіл.
Бұл тіл қолданушының жеке дискрипторларын қай талапқа немесе жазған
элементтің қайсысы нақтырақ керек болса, сол элементтің нақты жауабын
қарастырады
Қайталану және пайдаланудың мүмкіндіктері. Кеңейтілген XML тілі
дискрипторлық библиотекалардың жасалуын XML-де қайталанатын көп түрлерін
береді.
Бөлінген ақпараттарды толықтыру. XML тілі құжаттарды сақтап және бұл
жазылған құжаттар броузерде сақталады. Мұндай мүмкіндіктер арнайы түрде
тиімді мәліметтерді жасайды. Бұл көптеген қолданушылардың көмегімен
броузерде ішкі түзетулер таңдалған орнына конфигурациялық қолданушы ретінде
сақтайды.
XML тілі мәліметтер броузер жіберіп яғни (клиенттік компьютерге) көптеген
есептеулердің орнына серверді есептеуден босатып, жүктеу бөлігін
теңестіреді.
Интеграциялық мәліметтерді қолдану. Интеграциялық мәліметер әртүрлі
қиын және үлкен аумақты тапсырмаларды орындау үшін керек. Бірақ XML тілі
ықшамдап, әртүрлі мәліметерді қосады және өзгертуге болатын жерді
өзгертеді. Серверге түскен мәліметтер қорын басқа арнайы программалық
агент ретінде береді, бірақ клиенттік сервер мәліметтер өңдеп өзіне
қайтадан қайтарады.
Әртүрлі мәліметтер типтік ретінде жазылады. XML тілі кез келген
кеңейтілген мәліметтердің құжатын жазғанда, ол мәліметтерді әртүрлі
форматтарға өзгертіп құрады және құрған мәліметтерді өзі жазады, соңында
өңдеп қосымша керек мәліметтерін қосады.
Іздеу механизмдері жақсарту және кеңейту. Қазіргі уақытта іздеу процес
машинасы ақпараттарды қолданып оларды метадискрипторлық HTML аналитикалық
кілт ретінде орналастырады және жазылады. XML іздеу машинасы жай
интепретациялық дискриптор ретінде жазылады.
Жаңа мүмкіндіктер. XML тіліне көптеген әртүрлі шексіз мүмкіндіктер жаңа
технологияларда ашылады және жазылады.

XML құжатының құрылымдық формасының жазылуы түрі:
p ?xml version=”1.0”?p
p list_of_itemsp
pitem id=”1”p
pfirstПервыйitem p
pitem id=”2”Второй sub_item1sub_itemitemp
pitem id=”3”Второйitem p
pitem id=”4”lastПоследнийitemp
Бұл құжат HTML беттеріне жазылуына өте ұқсас. HTML инструкциясында
басында және соңында да бұрыштық жақша ашылып, жабылады, ортасында тегтер
атрибуттар текстік мәліметтер жазылады. XML құжатының жазылуы мына
элементтен тұрады.
Markup – құжатты береді, ал Content – мәліметті береді. XML элементтері
құжаттары анықталады және басқа аттрибуттың конструкциясылық тілдерді
түсінеді.
Мысалы, HTML, Java Script, т.с.с. тілдер.
Кез келген XML құжаты инструкция бойынша бұрыштық жақшада сұрақ белгісі
қойылып жазылады.
Мысалы: ?xml? ішінде жазылған “ хml” тілдің номерін версиясын береді.
XML құжатының келесі талаптарды орындау керек:
XML құжатының хабарламасы, тілдің номерін, ақпараттық версиясын
толтыру керек.
Ашылған тегтер, мәліметтерді анықтайтын облысын жазып және міндетті түрде
тегтер жабылу керек.
XML регистрлік символдар болу керек.
Атрибуттардың анықтау тегтері тырнақшамен аяқталуы керек. XML
мәліметтер символдарды форматтап яғни ( пробел, аудару бағаны, табуляция,
т.б.) HTML түрінде жазыла береді.

1.4. Күшті және әлсіз жақтары
1.Мүмкіншіліктері:
• XML — адам оқитын және компьютермен талданатын, мәтінге қосарлы
деректерді бейнелеуге мүмкіндік беретін, белгілеу тілі;
• XML-ді Юникод қолдайды .XML форматында жазбалар, тізімдер және
кескіндер секілді деректердің құрылымдары келтірілуі мүмкін;
• XML — дегеніміз құрылымды және жиектердің атауын, сондай-ақ жиектердің
мәнін бейнелейтін өздігінен құжатталатын формат;
• XML-де оған қарапайым, тиімді және қарама қайшылықсыздық болуына
мүмкіндік беретін, қатаң белгіленген синтаксисі мен талдау талаптары бар.
Сонымен қатар, әртүрлі әзірлеушілер экпрессивті әдістемелерді таңдауына шек
қойылмайды (Мәселен, мәндерді тега параметрлеріне немесе тега тәніне
орналастырып, мәліметтерді модельдеуге, тега атаулары үшін әртүрлі тілдерді
және нотацияларды пайдалануға болады және т.б.);
• XML — халықаралық стандарттарға негізделген формат;
•XML-ның иерархиялық құрылымы, аудио және видео мультимедиялық ағындардан,
растр бейнелерінен, мәліметтердің жүйелі құрылымдары мен қосарлы
деректерден басқа, кез келген құжаттарды бейнелеуге ыңғайлы;

•XML лицензияланудан және де басқа қандай болмасын шектеулерден еркін
қарапайым мәтін болып табылады;
• XML платформаға тәуелді емес;
• XML SGML-ның тәуелді жиынтығы (1986 жылдан бері пайдаланып келген)
болып табылады. Бүгінгі таңда тілмен жұмыс істеудің орасан тәжірибесі
жинақталып, мамандандырылған қосымшалар құрылды;
• XML жолдағы символдардың орналасуына талаптар қоймайды;
• Бинарлы форматтарға қарағанда, қосымша белгісіз құрылымдағы құжатты өңдей
алатын, XML-да бейнеленетін объектілердің атаулары, түрлері және
сыныптамасы туралы метадеректер болады (мысалы, интерфейстердің серпінді
құрылуы үшін);
• XML барлық осы замандағы бағдарлама жасау тілдеріне арналған парсерлерді
іске асыру функциясы бар;
•XML заманалық аппараттық шешімдердегі төменгі аппараттық,
микробағдарламалық және бағдарламалық деңгейлерде сүйемелденеді.

2.Кемшіліктері :
• XML синтаксисі артық..
• XML құжатының көлемі тап сол деректердің бинарлық көрінісінен едәуір
артық. Осы фактордың мөлшерін топшылайтын болсақ, оны 1 реттік (10 рет)
деп есептейді.
• XML құжатының көлемі деректер таратудың баламалы мәтіндік
форматтарындағы құжаттан едәуір үлкен (мысалы JSON,YAML) және де ерекше
нақты пайдалану жағдайына оңтайландырылған деректер форматтарында.
• XML артықтығы қосымшаның тиімділігіне ықпал етуі мүмкін. Деректерді
сақтау, өңдеу және тарату құны өсіп кетеді.
• XML мета-деректер бар (жолдар, сыныптамалар атаулары, құрылымдар
енгізулері туралы), және сонымен қатар, XML қол жетімді системалардың өзара
қатынас тілі ретіндегі жайғасымы бар. Бір үлгідегі (бір құрылымдағы)
объектілердің үлкен мөлшерін системалар арасында жөнелту кезінде, олардың
XML бейнелеудің әрбір данасында болуына қарамастан, метадеректерді қайталап
жолдаудың мағынасы жоқ.
• Көптеген мақсаттар санына XML синтаксисінің барлық қуаты қажет емес
және бұдан да жеңіл және де оңтайлы шешімдерді қолдануға болады.
• Үлгілеудің бір мәнді еместігі.
• XML-де деректерді үлгілеуге арналған жалпыға ортақ әдістеме жоқ,
сонымен бірге, реляциондық және объектіге бағдарланған үлгілер үшін осындай
құралдар әзірленген және олар реляциондық алгебраға, жүйелі тәсілдемеге
және жүйелі талдамаға негізделген.
• Табиғатта деректердің (жүйелі, реляциондық, иерархиялық (сатылық)
әртүрлі құрылымдарын бейнелеуге арналған табиғи болып табылатын көптеген
объектілер мен құбылыстар бар және объектіні оның табиғатына сай емес
үлгіде көрсету, оның мәніне ауыр тиеді. Реляциондық және иерархиялық
(сатылық) үлгілер жағдайында салыстырмалы бір мәнділікті қамтамасыз ететін,
декомпозия үлгісі белгіленген, жүйелі үлгісінде декомпозия белгіленбеген.

• Тілдің үлкен икемділігінің және қатаң шектеулер жоқтығының нәтижесінде,
бір құрылым көптеген әдіспен (әртүрлі әзірлеушілермен) берілуі мүмкін,
мысалы, мән тег атрибуты ретінде немесе тег аумағы ретінде де жазылуы
мүмкін және т.б. Мысалы: немесе немесе 11 немесе немесе және т.б.
• Тегтер атауларында көптеген тілдерді сүйемелдеу салмағы деген сөзді
орыс сөзімен атауға мүмкіндік береді, осындай жағдайда компьютер бұл жолдың
бағдарламаның ағылшын тіліндегі версиясындағы weight жолына, және де
объекті үлгісінің көптеген өзге тілдердегі версиясындағы жолдарымен
сәйкестігін анықтай алмайды.
• XML-да тілге кіріктірмелі деректер түрлерінің сүйемелдеуі жоқ. Онда
қатаң түрлендіру жоқ, яғни толық сандар, жолдар, даталар, бул
мәндері және т.б. ұғымдары көзделмеген.
• XML ұсынған иерархиялық деректер үлгісі реляциялық үлгімен және
объектіге бағдарланған графалармен және де жүйелі үлгімен салыстырғанда
қатаң шектеулі болып табылады.
• Иерархиялық деректерді көрсету (мысалы графалар) қосымша іс-әрекеттерді
қажет етеді.
• Кристофер Дейт, реляциялық деректер қоры саласының маманы, An
Introduction to Database Systems классикалық оқулығының авторы, былай деп
атап өткен: ...XML иерархиялық деректер қорын қайтадан ойлап табу әрекеті
болып табылады ... (1980-ші жылдары иерархиялық деректер қоры реляциондық
деректер қорымен шегеріліп тасталды).
• XML атаулары кеңістігін қолдану күрделі және оларды XML парсерлерде
іске асыру оңай емес.
• XML мүмкіндіктеріне ұқсас, адамның оқуына өте ыңғайлы, өзге де мәтіндік
деректер форматтары бар (YAML, JSON,SweetXML, XF).

II-тарау. XML тілінде құжаттарды пайдалану

XML-дің дұрыс құрастырылған және қолданыстағы құжаттары

Стандартпен XML құжаты дұрыстығының екі деңгейі белгіленген:
• Дұрыс құрастырылған (Well-formed). Дұрыс құрастырылған құжат, кез
келген XML-құжатқа қолдануға болатын, XML синтаксисінің барлық жалпы
қағидаларына сәйкес болады. Мәселен, бастапқы тегтің өзіне сәйкес соңғы
тегі болмаса, онда ол дұрыс құрастырылмаған XML құжаты. Дұрыс
құрастырылмаған құжат, XML құжаты деп саналмайды; XML-процессор (парсер)
оны әдеттегі тәсілмен өңдей алмайды және бұл жағдайды тұрпайы жіберілген
қате деп сыныптауға міндетті болады.
• Қолданыстағы (Valid). Қолданыстағы құжат қосымшаның кейбір семантикалық
қағидаларына сәйкес болады. Бұл құжаттың дұрыстығын осыдан бұрын
белгіленген, бірақ та, қателер санын азайту мақсатында, сыртқы
қағидаларға сәйкестігіне қосымша бұдан да қатаң тексеру жүргізу, мысалы,
деректің құрылымы мен құрамын, нақты бір құжатты немесе құжаттар
тұқымдастығын тексеру. Бұл қағидаларды пайдаланушының тап өзі әзірлеп алуы
мүмкін немесе өзге әзірлеме жасаушылар да әзірлеуі мүмкін, мысалы
сөздіктерді немесе деректермен айырбас жүргізу стандарттарын
әзірлеушілермен.Әдетте, осы тәріздес қағидалар арнайы файлдарда —құжаттың
құрылымы, барлық элеметтердің, атрибуттардың мүмкінді атаулары және
көптеген басқа қағидарлар егжей-тегжейлі баяндалған схемаларда сақталады.
Және де егер құжатта, мысалы, схемада бұдан бұрын белгіленген элемент атауы
бар болса, онда XML-құжат жарамсыз деп танылады; тексеруші XML-процессор
(валидатор) қағидалар мен схемаларға (пайдаланушының таңдауы бойынша)
сәйкестігін тексеру кезінде қате кеткені жөнінде хабарлауға міндетті.
Осы екі ұғымның орыс тіліндегі тұрақты стандартталған аудармасы жоқ,
әсіресе, күшіне енген, лайықты, сенімді, жарамды деп тәржімалауға, немесе
қағидаларға, стандарттарға, заңдарға сәйкестігі тексерілген деп аударуға
да болатын valid ұғымы. Кейбір программистер күнделікті тірлігінде
тұрақтандырылған Валидті калькасын қолданады.

2.2. ХML синтаксисі
Бұл бөлімде XML құжаттарының тек дұрыс құрылуы ғана қарастыралады, яғни
синтаксис. XML — бұл, кез келген деректерді сақтауға арналған иерархиялық
құрылым, құрылым көзге кескін ретінде көрінуі мүмкін. Ең маңызды міндетті
түрде орындалуы тиіс синтаксистік талабы — ол, құжатта тек бір түбірлі
элемент бар (ағылшынша. root element) (баламалы түрде құжат элементі деп
аталады (ағылшынша. document element)). Бұл мәтін мен бүкіл құжаттың өзге
де деректері жалғыз бастапқы түбірлі тег және оған сәйкес соңғы тег
арасында орналасуы тиіс екендігін түсіндіреді.
Келесі ең қарапайым мысал — XML дұрыс құрылған құжаты:
Бұл кітап: "Кітапша"
XML-құжатының бірінші жолы XML хабарландыруы деп аталады (ағылшынша. XML
declaration) — бұл XML стандартының версиясын көрсететін міндетті емес жол
(әдетте ол, 1.0) сондай-ақ, бұл жерде символдарды кодтандыру және сыртқы
тәуелділіктер көрсетілуі мүмкін.
Ерекшелігі, XML процессорларының міндетті түрде UTF-8 және UTF-16 Юникод-
кодтарына (UTF-32 міндетті емес) сүйенуін қажет етеді. ISOIEC 8859
стандартына негізделген басқа да кодтар ұйғарылып, сондай-ақ өзге де
кодтар, мәселен, орысша Windows-1251, KOI-8 кодтарын да пайдалануға
болады.
Стандартқа негізделген өзге де кодировкалар танылып, сүйемелденеді және
кеңінен қолданылады (бірақ міндетті емес), сондай-ақ өзге де
кодировкаларды қолдануға болады, мысалы орыс кодировкалары.
Спецификация XML процессорларымен UTF-8 және UTF-16 (UTF-32 міндетті
емес) Юникод -кодировкаларын сүйемелденуін қажет етеді. ISOIEC 8859
стандартына негізделген өзге де кодировкалар танылып, сүйемелденеді және
кеңінен қолданылады (бірақ міндетті емес), сондай-ақ өзге де
кодировкаларды қолдануға болады, мысалы Windows-1251, KOI-8 орыс
кодировкалары.
Комментарийлар шежіренің кез келген жерінде орналасуы мүмкін. XML
комментариялары !-- и -- қос тегінің ішінде орналасады. Дефис (--) қос
белгісі комментарийдің ешбір бөлігінің ішінде қолданыла алмайды.
Төменде, XML көмегімен белгіленген қарапайым аспаздық рецептінің мысалы
келтірілген:
p ?xml version="1.0" encoding="UTF-8"?p
precipe name="нан" preptime="5" cooktime="180" p
ptitle жай нан title p
p ingredient amount="3" unit="стакан" ұн ingredientp
p ingredient amount="0.25" unit="грамм" ашытқы ingredientp
p ingredient amount="1.5" unit="стакан"жылы суingredientp
p ingredient amount="1" unit="шәй қасық"тұзingredientp
p Instructions
stepбарлық ингредиенттерді араластырып, жақсылап илеңіз.step
p
pstepматамен жауып, бір сағатқа жылы бөлмеге қойыңыз.step p
pstepТағы бір рет илеп, қалыпқа салып, пешке салыңыз.

2.3. XML-дің хабарламалары және элементтері. Сілтемелердің мәні.
Тілдің құрылымы.
Осы XML-құжаттың қалған бөлігі, кейбіреулерінің құрамында атрибуттары
мен мазмұны бар, саптастырылған элементтерден тұрады. Әдетте, элемент,
мәтін мен өзге элементтерді жан жағынан қоршап тұратын, ашылатын және
жабылатын тегтен тұрады. Ашылатын тег бұрыштама жақшалардағы элементтің
атауынан тұрады, мысалы, step; жабылатын тег те бұрыштама жақшалардығы
атаудан тұрады, алайда, атаудың алдына орақ сызық қосылады, мысалы,
step. Элеметтің мазмұны (ағылшынша. content) деп ашылатын және
жабылатын тег арасындағының бәрін атайды, соның ішінде, мәтін және басқа
(қосылған) элементтер. Төменде ашылатын тег, жабылатын тег және элементтің
мазмұны бар, XML-элементінің мысалын келтіреміз:
stepТағы да бір рет илеп,қалыпқа салып, пешке қойямыз.step
p
Элементтің мазмұнынан басқа атрибуттары да болуы мүмкін — олар, элементтің
атауынан кейін ашылатын тегке қосылатын, атауы-мәні жұбы. Атрибуттардың
мәні әрқашанда тырнақшаға алынады, (бір немесе қосарлы), атрибуттың бірден
бір ұқсас атауы бір элементте екі рет жазылуы мүмкін емес. Бір тег
атрибуттарының мәні үшін тырнақшалардың әртүрлі түрін қолдануға болмайды.
pingredient amount="3" unit="стакан"ұнingredientp
Келтірілген мысалда ingredient элементінің екі атрибуты бар: 3
мәні бар amount, және стакан мәні бар unit. XML-белгілеу тарапынан
алып қарағанда, келтірілген атрибуттардың ешбір мағынасы жоқ, жәй символдар
жиынтығы болып табылады.
Мәтіннен басқа, элемент құрамында басқа да элеметтер болуы мүмкін:
p Instructionsp
p stepбарлық ингредиенттерді араластырып, жақсылап илеңіз.step
p
p stepматамен жауып, бір сағатқа жылы бөлмеге қойыңыз.stepp
pstepТағы бір рет илеп, қалыпқа салып, пешке салыңыз. step p
p Instructionsp
precipep
Бұл жерде, Instructions элементінің құрамында үш step элементі бар.
XML бір бірін жабатын элеметтерге жол бермейді. Мысалы, төменде
келтірілген фрагмент дұрыс емес, себебі em және strong элементтері
бірін бір жауып тұр.
p !— НАЗАР АУДАРЫҢЫЗ! XML дұрыс емес! --
pӘдеттегі em акцент қойылған strongатап көрсетілген және акцент
қойылған em атап көрсетілгенstrongp
p
Әрбір XML-құжатта нақты бір түбірлі элемент болуы тиіс (ағылшынша. root
element немесе document element), сондықтан, келесі фрагмент дұрыс XML-
құжат деп санала алмайды.
p!—НАЗАР АУДАРЫҢЫЗ! XML дұрыс емес! -- p
p thing№1 мәніthingp
p thing№2 мәніthingp
Мағынасыз элемент деп аталатын, мағынасы жоқ элементті белгілеу үшін
элементтің атауынан кейін қисық сызық қойылатын, бір тегтен тұратын,
жазбаның ереше үлгісін қолдану қажет. Егер DTD-да элемент мағынасы жоқ
деп жарияланбаса, бірақ та оның құжатта ешбір мәні жоқ болса, онда оған
мынадай үлгідегі жазбаны қолдануға болады. Мысалы:
p foofoo
foo
foo
p
XML-да арнайы символдардың жазулуының екі әдісі белгіленген: мәніне
сілтеме жасау және символдың нөмірі бойынша сілтеме жасау. Мәні
(ағылшынша. entity) деп XML-да атауы бар деректерді атайды, әдетте олар
мәтіндік, жекешелеп алғанда арнайы символдар. Мәніне сілтеме (ағылшынша.
entity references) мәні болуы тиіс жерде жасалады және амперсандтан (&),
мәннің атауы мен нүктелі үтірден (;) тұрады. XML-да бірнеше алдын ала
белгіленген мәндер бар, олар сол жақтағы жақшаға lt ( < жазып,
сілтеме жасауға болады) және амперсанд үшін amp (& — сілтемесі),
сондай-ақ өзіндік мәндерді де белгілеуге болады. Жеке символдардың мәнінің
көмегі арқылы жазумен қатар, оларды жиі кездесетін мәтін бөліктерін жазу
үшін қолдануға болады. Төменде, атауында амперсанд белгісін қолданудан бас
тарту үшін алдын ала белгіленген мәнді пайдаланудың мысалын келтірейік:

pcompany-nameAT&Tcompany- namep
Алдын ала белгіленген мәндердің толық тізімі & (&), < (),
> (), ' ('), и " (") тұрады, соңғы екеуі атрибуттар
мәндерінің ішінде бөлектеушілерді жазуға тиімді. DTD-құжатта өзіндік
мәндерді анықтауға болады.
Кей кездерде, HTML жиі пайдаланылатын және   деп белгіленетін
бөлінбейтін бос аралықты белгілеу қажет болады; XML-да осы тәріздес алдын
ала белгіленген мән жоқ, оны   деп жазып,   деп қолдану қате.
Көптеген бағдарлама әзірлеушілерде осы тәріздес кеңінен таралған мәннің
болмауы, көбінесе таңғалдырады және бұл өзінің HTML-әзірлемелерін XML-ге
көшіру кезінде кейбір қиындықтарға соқтығуын туындатады;
Символ нөмірі бойынша сілтеме жасау (ағылшынша. numeric character
reference) мәнге сілтеме жасау сияқты болады, бірақ та мәннің атауының
орнына Юникод кодтық кестесінде символдың нөмірі болып табылатын, # символы
және сан (он реттік немесе он алты реттік жазуда) көрсетіледі. Бұл әдетте,
тікелей кодтауға болмайтын, символдар, мысалы, ASCII-кодталған құжаттағы
араб алфавитінің әріпі. Амперсанд келесі үлгіде берілуі мүмкін:
p company-nameAT&Tcompany-nam ep
Дұрыс XML-құжатты түзу құрастыруға қатысты тағы да көптеген қағидалар
бар, бірақ та біздің қысқаша шолуымыздың басты мақсаты XML-құжаттың
құрылымын түсінуге қажетті негіздерді көрсету болып табылады.
Мәліметтер элементі.
Элемент бұл XML-дің құрылымдық документі Rose сөзі flower flower
тегіне қосу
Аталған flower Rose сөзіне аты болып табылады. Кез келген бос элемент
бастапқы мәні соңғы тегтен тұрады.
Мысалы: flower Rose flowerp
p CitySaratov Cityp
Барлық жинақталған элементтер кез келген құжатта болса, және құрылымдықта
(структура) анықталса оларды иерархиялық қатынаста болады. Жазық модельді
элементтер ауысу кезінде қолданатын иерархиялық жүйе көптеген элементтердің
арасында байланыс тудыратын мүмкіндік береді. Іздеу кезінде клиенттің
программасы ақпаратқа тіреледі, оның құрылымына қолданылған документтер
элементі кіреді.
XML құжатта ереже бойынша ең болмаса бір элемент анықталса сол элементтің
түбірі программалық анализаторлар құжатты қарай бастайды. Кейбір
жағдайларда тегтерді өзгертуі мүмкін. Басқа фрагменттік документтерді
әртүрлі анықтайды немесе ақпаратты анализатор құжаттың ішіне қолдану арқылы
жазылған мәліметтер табылады.
Мысалы: фрагментті оқыған кезде City holliwood City бұл құжатта
қала туралы айтылғанын білеміз. Restaurant Holliwood Restaurant
Коментарий.
Коментарий мәліметтердің кез келген аумағы болып есептеледі. Коментарий
анализаторды өткізеді, сол үшін құжаттың құрылымын қарайды немесе
ақпаратты қарастырады.
Аттрибуттар.
Егер элементтерді анықтау үшін қандайда бір параметрлер беру керек, оның
атрибут элементтерімен қолданылады.
Атрибут дегеніміз- атын мәнін беретін және анықтайтын элементтердің
тегін немесе жиынын айтамыз. “аты”=”мәні”
Мысалы: color RGB=”true”#ff08ffcolor
color RGB=”false”whitecolor
немесе
author id=0Ivan Petrov author
Арнайы символдар: Құжатқа символ қосу үшін арнайы конструтивті
символдарды қолданып (мысалы: жақша, бұрыштық жақша т.б) және процесте қате
кеткен құжаттарды қарап, оларды арнайы символдарды болмаса, сандық
идентификатормен түзету керек.
Мысалы: < > &guot: немесе # 036 (ондық санақ жүйесі) &#xla
(оналтылық санақ жүйесі) т.б.
Директивті анализаторлар
XML тілінде құжаттарды немесе құжаттарға арнайы тегтер қолданылады.
Клиенттің программасын қолдану үшін осы мағлұматты игеру процесі құжатты
талдау жасайды. Аумақты құжатты құру үшін анализдік талдау жасағанда
кәдімгі жай текст сияқты жасайды. Кез келген құрылымдық және арнайы
символдарды қарамайды. Оның комментарийге байланысты мүмкіндігін ескеруге
қолдану үшін, арнайы тегтерді қолдану қажет . Блоктың ішінде кез келген
ақпарат кедергі жасауы мүмкін, клиенттік-программасын орындау үшін,
қандайда бір қиынын қажет ететін программа ол: (кедергі жасайтын
программа, мысалы: Java Script) құрылымы.
XML ең күшті қасиеттерінің бірі болып өзінің тілін анықтау болып
табылады. Бұларды элементтермен атрибуттар анықтайды. Аз қолданылатын
тілдермен шақырылатын шектікті алады. Бірақ әлі тілді формальды түрде
анықтауға болмайды, сөздік элементтік атрибуттары болмайды.
XML формальды түрде тілді анықтау процессі құжатты модельдеу деп аталады.
Қазіргі кезде модельдеудің екі түрі бар: біріншісі, құжат түрін анықтау
(DTD), екіншісі, XML SCHEMA схемасы. Модель тіл көмегімен анықтауға
болатын құжаттарды анықтайды немесе XML терминалогия шегінулердің және қай
құжаттар тілімен байланысатынын көрсетеді. Құжат модельдері элементте
“загаловок” боладыма? немесе осы элементтер бағасы көрсетілсе деген
сұрақтарға жауап береді. Байланысатын құжаттар нақты басқа құжаттар нақты
емес деп аталады. Құжат модем ауыр болуы мүмкін оны кейбір жеңілдіктер
жасауға болады.
1. Құжатты адамдар құрады және ол компьютерде болады.
2. Құжатта міндетті түрде жол болу керек
3. Сіз құжатты XML-ді білмейтін адамдардан сұрайсыз, себебі құжаттың өзі
модель болып саналады.
4. Модель құрушыға сенімді бағыт керек. Құжат моделі қарапайым
стандартты құруды көрсетеді. Мысалы: HTML- BERSION 4.0
Кейбір модель құжаттары (DTD) аттарымен дұрыс жасамауы мүмкін. Бұл
проблема құруы мүмкін. Егер DTD автордың элементтерін жіктейді .

DOKYMENT TYPE DEFINITIONS
XML құжаттарында DTD оң элементерінің жиынын анықтайды, элементтердің
идентификациясын жасауды, қандай өзге элементерде тұра алады және олардың
әр біреуіне оң атрибуттарды анықтайды. DTD-ның синтаксисы ерекше және
құрастырушы автордан осындай құжаттарды қарастыру үшін қосымша күш керек
болады. Айтып кеткендей XML –де DTD-ны қолдану міндетті емес. Осы ережесіз
құрылған құжаттар анализатор программасымен дұрыс анықтайды. Егер олар XML
синтаксисының негізгі ережесіне сай болса, да DTD-да XML үшін келесі
ережелер қолданылады: элементтер және атрибуттар үшін категориясын
түсіндіру. Олардың бәрі конструкция тілін түсіндіреді – элементтер
атрибуттар.
DTD-ны құжатты қолдану үшін сыртқы құжатты сипаттауға және DTD-ны сипаттау
кезінде осы құжатқа аймақты ерекшелеу керек. Біріншісінде құжаттың аты
көрсетіледі.
p?xml version="1.0" standalone="yes" ? p
p ! DOCTYPE team SYSTEM "team.dtd"p
p ...p
p ішкі документ DTD- декларациясын қосу образы: p
p ...p
p! DOCTYPE team [p
p! ELEMENT team (coach, player, assistant)p
p... p
p]p
p ...p
pbЭлементті анықтау.b p
DTD- элементі дискриптор көмегімен анықталады. ELEMENT –онда элемент
атымен пішіні көрсетіледі. Мысалы: coach элементіне келесі ережені
анықтауға болады. !ELEMENT coach PCDATA!
ELEMENT кілтті сөзі осы негізбен XML элементі сипатталатынын көрсетеді.
Осының ішінде элементтің аты coach және оның түрі көрсетеді. Осы кезде
Name элемент мазмұны көмекші маркер PCDATA көмегімен анықталады. Бұдан
басқа және екі EMPTY, ANY ережелері бар. 1-ші элементтің бос болуын
көрсетеді, 2-сі элементтің мазмұны сипатталатынын көрсетеді. Бұлардың
кезектілігі үтірмен бөлінген элементтер атымен беріледі. Осы элементтердің
қайталану санын көрсету үшін +,*,? Символдары қолданылады.
!ELEMENT team (coach+,player*, assistant)!
Егер элементтер мазмұны анықтауға басқа нұсқалар болса, оларды
символмен көрсету керек.
!ELEMENT flower (PCDATA title)*!

Сыртқы макроанықтау.
Сыртқы макроанықтау – сыртқы файлдың мағынасын түсіндіреді, текстік қордың
базасын қарастырады.

2.4. Мәліметтер схемасы.
XML құжаттарын құрудағы альтернативті әдісі болып мәлімет схемасы
саналады. DTD-мен салыстырғанда, мәліметтер схемасының күрделі құрылымын
анықтаудағы қуатты құрылғыға ие және түсінікті әдіспен тілдің граматикалық
жазылуын қамтамасыз етеді, тез модернизацияланып және кеңейе алады.
Схемалардың ең басты дәрежесі, олардың XML құжаттарына сол XML құрылғылары
арқылы ережелерді сипаттау болып табылады. Бірақ схемалар DTD-анықтаманы
ауыстыра алады деуге болмайды; бұл тіл грамматикасын анықтау әдісі қазіргі
XML верифицирлі анализаторлардың бәрінде қолдануда, сонымен қатар
схемалардың өздері кәдімгі XML-элементтері сияқты DTD-ны сипаттайды.
Қазіргі кезде W3 консорциумде мәліметтер схемасының бірінші
спецификациясында жұмыс жүріп жатыр. Мәліметтер схемасының негізгі
мүмкіндіктерін қарастырамыз, оларды XML- құжаттарында жазылған
қателіктерді қадағалауға тырысамыз. Сыртқы келбеті бойынша құжаттар кәдімгі
XML құжаттарынан ешқандай айырмашылығы жоқ. Құжатты схемадағы нұсқау ролін
атқаратын арнайы элементтер арқылы ажыратуға болады. Бұл нұсқаулар негізгі
ережелер жинағын құрайды, яғни программа-тұтынушы құжаттың қате немесе қате
емес екндігіне қорытынды жасайды. Мәліметтер схемасы келесідей түрде болуы
мүмкін. Егер біз XML-құжатының ішіне көрсетілген ережелерді енгізетін
болсақ, онда программа-тұтынушы оларды тексеруге қолданады және анықтай
алады, яғни дұрысы келесі фрагмент екендігін:
p team title=Celtics
player number="1" type=goalkeepernameJohn Ree name player
player number="2" type=backnamePeter Loyd name player
player number="2" type=forwardnameEmil McGeer name player
team
p
Схема тілінің барлық конструкциялары "XML DTD for XML-Data-Schema"
ережелері арқылы сипатталады.
Мәліметтер схемасының облысы
Мәліметтер схемасын құру барысында біз құжаттағы schema арнайы
элементін анықтаймыз; schema арнайы элементінің ішінде төмендегідей
ережелер жазылған:
pschema id="OurSchema"
!-- последовательность инструкций --
schema
p
Егер жеке есімдер кеңістігін қолдансақ, мәліметтер схемасы бар толық XML-
құжаты келесі түрде болады:
p ?XML version='1.0' ?
?xml:namespace
href="http:www.mrcpk.nstu.rusche mas" as="s"?
s:schema id="OurSchema"
!-- последовательность инструкций --
s:schema
p

2.5. Элементтер сипаттамасы
Құрамы мен структурасын сипаттайтын нұсқауларды қолданатын элементтердің
класын анықтау үшін арнайы elementType элемент схемасын қолданады.
Элементтің аталуы id артрибутымен қойылады. Анықталатын класқа жататын
барлық келесі нұсқаулар ішкі блокта орналасқан elementType және
elementType тегтар арқылы оның ішкі құрылымын және жіберілетін
мәліметтер жинағын анықтайды. Элементтің класын анықтағанда оларға
комментарий беруге болады, яғни descriptdescript тегтерінде
қорытындыланған.
ЭЛЕМЕНТТЕР АТРИБУТЫ
Элементке сипаттама жасағанда оның артрибуттарын анықтау үшін және осы
артрибуттардың құрамын сипаттау үшін attribute элементін қолдану керек:
pelementType id="player"
attribute name="number"
...
elementType
p
Мұндағы player элементі number артрибутын анықтайды; мағынасы әртүрлі
рұқсат етілген символдар реті болуы мүмкін:
p player number="0"
player number="some text"
p
Мәліметтер схемасы DTD-ға ұқсас, артрибуттардың мағынасы мен оны
қолдануына шек қоюын қамтамасыз етеді. Ол үшін attribute дескрипторында
attype параметрін қолдану қажет. Мысалы, егер біз артрибуттың мағынасын
(мәнін) анализатор-программасында керемет идентификатор ретінде көрсеткіміз
келсе, онда келесі ережені құруымыз керек:
pelementType id="player"
attribute name="number" atttype="ID"
elementType
p
Егер артрибуттың мүмкін мәндерінің тізімін жасайтын болсақ, онда ол
келесідей болуы қажет:
pattribute name="type" atttype="ENUMERATION"
values="goalkeeper back halfback forward"
p
Элемент мазмұнының моделі
Мәліметтер схемасы мазмұнының моделі деп -XML-құжатындағы барлық рұқсат
етілген объектілердің сипаттамасы, яғни сол элементтің ішінде қолданылуы
дұрыстау болып табылуы. elementType ішкі блокта орналасқан нұсқаулармен
модельдің мазмұны анықталады. Енгізілген элементтер element нұсқауының
көмегімен сипатталады, мұндағы type параметрінде объектінің класы
көрсетіледі – оның анықталуына жолдама:
p elementType id="player"
element type="#name"
element type="#nationality"
elementType
p
Егер енгізілген элементтің қолдану режимін көрсету керек болса, онда
occurs параметрін анықтау керек:
p elementType id="player"
element type="#name" occurs="REQUIRED"
element type="#nationality" occurs="OPTIONAL"
element type="#clubs" occurs="ONEORMORE"
elementType
p
Осы параметр мәндерінің мүмкіндігі мынадай;
REQUIRED - элемент міндетті түрде анықталуы керек;
OPTIONAL - элементті қолдану міндетті емес;
ZEROORMORE - енгізілген элемент бірнеше рет кездесуі және бір ретте
кездеспеуі мүмкін;
ONEORMORE - элемент бір рет болса да кездесуі мүмкін;
Элементтер топтамасы
Group элементін енгізілген объектінің ретін көрсету үшін қолданады:
p elementType id="team"
element type="#title" occurs="REQUIRED"
group occurs="OPTIONAL"
element type="#player"
element type="#assistant"
group
elementType
p
Объектілер топтамасы сол объекті ішінде болуы мүмкін әртүрлі типті объект
тобын анықтауға көмектеседі. Көрсетілген мысалдарда біз conteam типті
объект ішінде title, player, және assistant элементтері болуы мүмкіндігін,
сонымен occurs артрибутының элементтері топта болуы қажет емес екендігін
көрсеттік. Мұндай схемаларды дұрыстау үшін келесі құжаттардың фрагменті
болуы тиіс:
p team
titleCelticstel
player ... player
assistant ... assistant
team
...
team
titleCelticstel
team
...
team
titleCelticstel
player ... player
team
p
groupOrder артрибутының көмегімен топтастырылған элементтерді қолдану
режимін сұрауға болады. OR мәнінің болуы барлық элемент тобын қолдану емес,
ал тек кейбіреулерін ғана қолдану. Егер AND мәні берілсе, онда элементтер
белгілі бір тәртіппен орналасуы керек. Мысалы, келесі топ үшін ережелер:
p elementType id="team"
element type="#title" occurs="REQUIRED"
group groupOrder="AND" occurs="OPTIONAL"
element type="#player"
element type="#assistant"
group
elementType
p
Келесі нұсқалар ғана дұрыс деп есептеледі:
pteam
titleCelticstel
player ... player
assistant ... assistant
team
Және
team
titleCelticstel
player ... player
team
p

2.6. Элемент мазмұны сипаттамасының ашық және жабық моделі. Кластар
иерархиясы. Белгіленуіне шектеу.Сыртқы схемалардың ережелерін қолдану.
Схемалар компоненттері. Мәліметтер типтері.
Элемент мазмұны сипаттамасының ашық және жабық моделі.
Элемент мазмұны сипаттамасын анықтау кезінде рұқсат етілетін элементтер
тізімі ережемен шектелмейді, ол шексіз бос кеңейе алады. Мысалы, жоғарыда
көрсетілген ережедегі title,player және assistant белгіленген
элементтен басқа ережеде жазылмаған қосымша элементтер қолдануы
мүмкін,мысалы, coach
Бірақ, егер біз өзіміз құрастырған ережелерге басқа қосымша элементтердің
кіруіне шектеу қоятын болсақ, онда біз content артрибутын қолданып және
оған арнайы CLOSED белгісін қондыру қажет:
p elementType id="team" content="CLOSED"
element type="#title"
element type="#player"
element type="#assistant"
elementType
p
Енді XML-құжатында келтірілген фрагмент дұрысталынбайтын болып
есептеледі, себебі content параметрі арқылы team элементінің ішінде
ережеде көрсетілген элементтен басқа обьектілерді қолдануға болмайды.
Кластар Иерархиясы
Класқа сипаттама берген кезде сол элементке ата-аналық болатын
обьектілер тізіміне шектеу қою үшін domain элементінің схемасын қолдану
қажет. domain қолданылуы келесі объектінің сол тегпен берілген элементтің
ішінде қатаң анықталуын көрсетеді. Мысалы, келесі фрагментте player
элементі тек қана team тегінің ішінде анықталуын көрсетеді:
pelementType id="player"
element type="#name"
domain type="#article"
elementType
p

Белгіленуіне шектеу
Элементтердің белгіленуі min жәнеmax тегтері арқылы шектелуі мүмкін;
p elementType id="team"
element type="#player"min11minmax25 max
elementType
p
Схемалар компоненттері
Компоненттер немесе макроанықтауыштар схемада DTD-дағы сияқты
қолданылады. Оларды анықтау үшін intEntityDcl және extEntityDcl
тегтері арналған:
pintEntityDcl name="gk"
goalkeeper
intEntityDcl
extEntityDcl name="logo" notation="#gif"
systemId="logo.gif"
p
Мәліметтер типтері
Схемаларда сол не басқа мәліметтердің типін сұрауға мүмкіндік бар, ол үшін
элементті анықтау кезінде datatype директивасында нақты типті көрсету
керек.
p elementType id="counter"
datatype dt="int"
elementType
p
DTD-да біз fixed деп анықталынған, мәліметтердің форматы мен белгіленуіне
арналған операцияларды анықтайтын, нақты атауы бар артрибут жасауымыз
керек. datatype элементін қолдану мұны автоматты түрде көрсете алады,
бірақ программалық тәуелсіздікті қамтамасыз ету үшін алдымен мәліметтер
типінің белгіленуімен (белгіленуі datatype элементі dt параметріне берілуі
тиіс) келісіп алу керек; яғни , мысалы, URI ресурсына универсалды
идентификатор ретінде қолдануы мүмкін. Бәрібірде, бұрынғыдай құжатта
сақталынатын мәліметтердің нақты интерпретациясымен байланысты барлық қажет
әрекеттер программа-клиентімен жүзеге асады және оның жұмысының логикасымен
анықталады. DTD-ға арналған бөлімде біздің мүмкіндігімізді сипаттауды
жүзеге асыратын XML-құжатының мысалын қарастырдық.

2.7. XML Schema анықтау. Қарапайым және күрделі типтер. Кардиналдылық.
Сілтеме. Жаңа типтерді анықтау. Топтар.
XML 1.0 спецификасында ақпараттар толтыру моделін анықтау үшін, сонымен
қатар XML құжатының артрибут мәліметтер типіне DTD механизмін қолдану
көрсетілген, бірақ бұл механизмнің көптеген кемшіліктері де бар:
- XML-ден өте жақсы, DTD анықталуы синтаксистің көмегімен жүреді;
-Оларда есімдердің кеңістігін қолдау көрсетілмейді;
-Олар тек өте шектеулі мәліметтер типінің жинағын анықтауға рұқсат етеді;
XML құжатының ақпараттық толтыру моделін толық және қатаң әдістермен
анықтау қажет етіледі. W3C құрастырған XML Schema спецификациясында
көрсетілген кемшіліктер жоқ және DTD анықтауға қарағанда өте үлкен анық
қуатқа ие. Мәліметтерді көрсететін қосымша мүмкіндіктер XML мен Web
арасындағы мәліметтердің ауыстырылымы өте тиімді болуын қамтамасыз етеді.
XML схемасы XML нақты структурасын анықтайды. XML Schema тілі схемадағы
элементтің әр типін анықтау әдісін сипаттайды және әр элементпен байланысты
мәліметтер типін көрсетеді. Схеманың өзі XML құжаты болып табылады, яғни
онда схема семантикасын көрсететін элементтер мен артрибуттар қолданылады.
Сондықтан схема XML құжаты болғандықтан, оны XML құжаты сипаттамасын
өңдеуге қолданылатын инструментті құралдар көмегімен өзгертуге және өңдеуге
болады. Бұл бөлімде XML құжатына арналған XML схемасын құру мысал ретінде
көрсетілген.
Қарапайым және күрделі типтер
XML схемасын құрудағы ең қарапайым әдіс құжат структурасын қадағалау және
табылуына байланысты әр элементті анықтау болып табылады. Басқа
элементтерді құрайтын элементтер complexType типті күрделі элементтерге
жатады. Мысалы, STAFFLIST түбірлі элементін тауып алса, онда оның
complexType типі екенін анықтайды. STAFPLIST элементіндегі дочерних элемент
тізімі sequence. Элементі көмегімен сипатталады. Ол compositor элемент-
құрастырушы типіне жатады, яғни субэлементтердің көрсетілген ретін
анықтайтын.:
pxsd:element name = "STAFFLIST"
xsd:complexType
xsd:sequence
!-- Здесь должны находиться определения дочерних элементов --
xsd:sequence
xsd:complexType
xsd:element
p
W3C XML есімдер кеңістігімен байланысты, схемадағы әр элемент xsd
префиксті типпен белгіленген. Schema xmlns:xsd =
"http:www.w3.org200010XMLSchem a" хабарландыру көмегімен ( бұл
хабарландыру schema элементінде орналасқан ). STAFF және NAME элементтері
субэлементтерді құрайды және аналогтық болып анықталуы мүмкін. Субэлемент
немесе артрибуты жоқ элементтер simpleType қарапайым типіне жатады. Мысалы,
STAFFNO, DOB және SALARY элементтерін келесі түрде көрсетуге болады:
p xsd:element name = "STAFFNO type = "xsd:string"
xsd:element name = "DOB" type = "xsd:date"
xsd:element name = "SALARY" type = "xsd:decimal"
p
Бұл элементтер W3C XML Schema, яғни string, date және decimal алдын-ала
анықталынған типтер көмегімен хабарландырылған, ал оның XML Schema
сөздігіне белгіленуі үшін xsd префиксі енгізілген. Сонымен қатар,
әрқашанда соңғы позицияда болатын branchNo артрибуты келесі түрде
хабарлануы мүмкін:
p xsd:attribute name="branchNo" type="xsd:string" p
XML Schema тілі кейбір элементтің кардинатасын minOccurs және maxOccurs
артрибуты көмегімен көрсете алады. MinOccurs атрибутындағы аса қажет емес
элемент 0 белгісімен белгіленеді, ал maxOccurs артрибутына unbounded
белгісі жалғануы мүмкін. Кез-келген берілмеген артрибут белгісі ретінде 1
қабылданылады. Мысалы, DOB элементі аса қажет болмағандықтан оның
белгіленуіне келесі конструкция көрсетіледі:
pxsd:element name="DOB" type="xsd:date" minOccurs="0"p

III-тарау.XML құжаттарын JavaScript тілінде өңдеу

3.1. JavaScript тілі
JavaScript – браузерге түсінікті программалау тілі. Браузер бұл тілдегі
командаларды орындай алады, яғни оның ішкі интерпретаторы бар.
JavaScript – динамикалық парақтар құратын мүмкіндік болып табылады.
JavaScript программасы скрипт немесе сценарий деп аталады, ол HTML-
программасы ішінде орналаса береді не жеке файлға да жазылады. Ондай
файлды да браузер оқып алады (арнайы команда бойынша).
JavaScript тілінің тегі VBScript деп аталады, SUN корпорациясы әйгілі
Java тілін шығарған соң Netscapt корпорациясы SUN корпорациясының Java
туралы ұғымдарын енгізіп, өздерінің әуелгі LiveScript тілін қайталай
жобалап, оның атын JavaScript деп өзгертті.
JavaScript тілі объектіге негізделген (object - based) және оқиға
қозғағыш (Event Driven) тіл. Сценариялық тіл деп атаудағы себебіміз, ол
әдеттегі программалау тілдеріне ұқсамайды. Оны алдын-ала компиляцияға
жіберудің керегі жоқ, тек HTML текстіне кірістіріп, клиенттік браузермен
интерпретация жүргізсе болғаны, сондықтан оны өңдеу, өзгерту аса қолайлы.
HTML құжатын тікелей ашып, ондағы JavaScript кодтарына өңдеу жүргізіп,
өзгерістен кейінгі жаңа нәтижені браузер арқылы көруге болады. Қазіргі
кезде ең көп қолданылатын браузерлер, яғни Internet Explorer және Navigator
түгелімен JavaScript тілін қолдайды.
JavaScript тілінің ерекшелігі
1)JavaScript тілі - cценариялық тіл
Жоғарыда ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
PHP тілі. PHP-мен бірге жұмыс істейтін құралдар
PHP- мен бірге жұмыс істейтін сервердің классикалық құралы- APACHE +PHP+MySQL
Интернеттің іздеу технологиялары
«қазақ тілінен ағылшын тіліне машиналық аударудың лингвистикалық сөздіктерін apertium платформасының негізінде жасау»
Интернет желісінде сайтты тестілеу және орналастыру
«Креатив» мерекелерді ұйымдастыру агенттігінің сайтын жобалау
HTML тілінде телефон анықтамасын құру
Web - беттерде мәтінді ұсыну
WEB-порталдың мобильді қосымшасын құру
Сайт жасау
Пәндер