М И Н И СТ Е РСТ В О О Б РА ЗО В А Н И Я РО ССИ Й СК О Й Ф Е Д Е РА Ц И И В О РО Н Е Ж СК И Й ГО СУ Д А РСТ В Е Н Н ЫЙ У...
7 downloads
435 Views
210KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
М И Н И СТ Е РСТ В О О Б РА ЗО В А Н И Я РО ССИ Й СК О Й Ф Е Д Е РА Ц И И В О РО Н Е Ж СК И Й ГО СУ Д А РСТ В Е Н Н ЫЙ У Н И В Е РСИ Т Е Т
М А Т Е М А Т И ЧЕ СК И Й Ф А К У ЛЬТ Е Т К А Ф Е ДР А У Р А В Н Е Н И Й В Ч А С Т Н Ы Х П Р О И З В О ДН Ы Х И Т Е О Р И И В Е Р О Я Т Н О С Т Е Й
О снов ы Internet-технологий для математиков В в едениев XML
М Е ТОД И Ч Е СК И Е У К А ЗА Н И Я для ст удент о в5-6 курсо в кафедрально й группы специализации м ат ем ат ич еско го факультет а
Ч а сть1
С о ста ви те л ь: С .Д . М а хо рто в
В о ро не ж 2002
2
С о д е рж а ни е 1. В вед е ни е ....................................................................................................... 3 2. С о зд а ни е XML – д о куме нто в...................................................................... 3 2.1. С о зд а ни е и о то бра ж е ни е про сте йш е го XML – д о куме нта .................. 3 2.2. Пра ви л ьно о ф о рмл е нны е XML – д о куме нты ....................................... 5 2.3. Ко мме нта ри и , и нструкци и и ра зд ел ы си мво л ьны х д а нны х ................ 9 2.4. Д о пусти мы е XML – д о куме нты ............................................................ 9 2.4.1. Объявл е ни е ти па д о куме нта .......................................................... 10 2.4.2. Объявл е ни е ти по в эл е ме нто в......................................................... 11 2.4.3. Объявл е ни е а три буто в ................................................................... 13 2.4.4. И спо л ьзо ва ни е вне ш ни х DTD ....................................................... 15 2.5. Опре д е л е ни е и и спо л ьзо ва ни е сущ но сте й.......................................... 17 3. Ото бра ж е ни е XML – д о куме нто в.............................................................. 19 4. MathML – язы к о пи са ни я ма тема ти че ски х ф о рмул ................................. 20 5. Ли те ратура и ссы л ки в И нтернете............................................................. 22
3
В ве д е ни е Ра сш и ряе мы й язы к ра зме тки Extensible Markup Language (XML) явл яе тся на и бо л е е пе рспе кти вны м язы ко м д л я хра не ни я, о бме на и ви зуа л ьно го пре д ста вл е ни я ко мпьюте рно й и нф о рма ци и , а та кж е публ и ка ци и и нф о рма ци и в И нте рне те . Он и ме е т ги бки й си нта кси с, что по зво л яе т е го и спо л ьзо ва ть д л я о пи са ни я пра кти че ски л юбо го ви д а и нф о рма ци и , о то бы чно го те кста д о сл о ж но й ба зы д а нны х. Кро ме это го , XML - д о куме нты мо гутэф ф е кти вно о то бра ж а ться в Web - бра узе ра х. Та ки м о бра зо м, XML о бе спе чи ва е т и д е а л ьно е ре ш е ни е при о бра бо тке все бо л е е уве л и чи ва ющ е го ся по то ка и нф о рма ци и , ко то ра я ра зме щ а е тся в Web. Ф а кти че ски XML - это не ка ко й-л и бо о пи сы ва е мы й язы к, а ско ре е ме та язы к, ко то ры й и спо л ьзуе тся в ка че стве сре д ства д л я о пи са ни я гра мма ти ки д руги х, пре д ме тны х, язы ко в и ко нтро л я за пра ви л ьно стью со ста вл е ни я д о куме нто в. Пре д ме тны е язы ки ра зме тки , ра зра бо та нны е с по мо щ ью пра ви л XML, на зы ва ются XML-при л о ж е ни ями . Я рки м при ме ро м зд е сь мо ж е т сл уж и ть Mathematical Markup Language (MathML), о сно ва нны й на XML. Э то язы к, с по мо щ ью ко то ро го ма те ма ти че ски е по няти я и ф о рмул ы мо гут не то л ько ко рре ктны м о бра зо м о то бра ж а ться на стра ни ца х Web, но и пе ре д а ва ться ме ж д у про гра мма ми ка к зна ча щ и е эл е ме нты . При л о ж е ни я XML не сл е д уе т пута ть с про гра ммны ми при л о ж е ни ями , о бра ба ты ва ющ и ми XML-д о куме нты . Они на зы ва ются зд е сьXML-про це ссо ра ми . Ц е л ь на сто ящ е й ра бо ты - ука за ть на пра вл е ни е и о бл е гчи ть на ча л ьно е и зуче ни е XML с по мо щ ью на учно -те хни че ско й л и те ра туры (на при ме р, [1, 2]). Она ре ко ме нд уе тся студ е нта м ста рш и х курсо в ма те ма ти че ски х ф а кул ьте то в. В I ча сти ме то д и че ски х ука за ни й (ра зд е л 2) по д ро бно ра ссмо тре ны во про сы л о ги че ско го по стро е ни я д о куме нто в XML. Ра зд е л ы 3-4 л и ш ь а но нси руют ма те ри а л , ко то ры й а вто р пл а ни руе твкл ючи тьво II ча стьме то д и че ски х ука за ни й. 2. С о зд а ни е XML – д о куме нто в 2.1. С о зд а ни е и о то бра ж е ни е про сте йш е го XML – д о куме нта Опи са ни е XML-д о куме нта пре д ста вл яе тсо бо й про сто й те кст, ко то ры й мо ж но на бра ть в л юбо м те ксто во м ре д а кто ре , на при ме р, Notepad. Откро йте в ва ш е м те ксто во м ре д а кто ре но вы й ф а йл . В ве д и те те кст XML-д о куме нта , пре д ста вл е нны й ни ж е , и со хра ни те ф а йл по д и ме не м Inventory.xml.
<TITLE>DHTML: Руко во д ство ра зра бо тчи ка С ти ве н Х о л ьцне р 400 с. 66 руб. <TITLE>XML. Ш а г за ш а го м М а йкл Я нг 384 с. 140 руб. <TITLE>Ра зра бо тка по л ьзо ва те л ьско го и нте рф е йса Те о М а нд е л 416 с. 173 руб.
8
<TITLE>И зуча е м XML Э ри к Рэй 408 с. 180 руб. Ка к ви д но и з те кста , в ка ж д о м эл е ме нте BOOK и нф о рма ци я о ви д е пе ре пл е та пре о бра зо ва на и з со д е рж и мо го (вл о ж е нны й эл е ме нт BINDING) в а три бут с и ме не м Binding. К ка ж д о му эл е ме нту AUTHOR д о ба вл е н а три бутс и ме не м Born, со д е рж а щ и й д а ту ро ж д е ни я а вто ра . С о зд а йте и со хра ни те д л я это го д о куме нта по д и ме не м Inventory02.css сл е д ующ ую та бл и цу сти л е й. /* И мя ф а йл а : Inventory02.css */ BOOK {display:block; margin-top:12pt; font-size:10pt} TITLE {display:block; font-size:12pt; font-weight:bold; font-style:italic} AUTHOR {display:block; margin-left:15pt; font-weight:bold} BINDING {display:block; margin-left:15pt} PAGES {display:none} PRICE {display:block; margin-left:15pt} С д е л а в те пе рь д во йно й щ е л чо к мы ш ью на ф а йл е Inventory02.xml, вы убе д и те сь, что IE5 не о то бра зи л а три буты на экра не .
9
2.3. Ко мме нта ри и , и нструкци и и ра зд е л ы си мво л ьны х д а нны х Од ни м и з при нци по в XML явл яе тся со зд а ни е про сты х д л я по ни ма ни я д о куме нто в. С это й це л ью в д о куме нт мо ж но по ме щ а ть коммент а рии. Ко мме нта ри й на чи на е тся с си мво л о в ] > Mozart Violin Concertos 1, 2 and 3 Telemann Trumpert Consertos Handel Concerti Grossi Op. 3 Э то тпри ме р пре д ста вл яе тсо бо й за ве рш е нны й XML-д о куме нтс д вумя ти па ми эл е ме нто в. Объявл е ни е ти па эл е ме нта Collection ука зы ва е т, что о н мо ж е т со д е рж а ть о д и н и л и не ско л ько эл е ме нто в CD, а о бъявл е ни е ти па эл е ме нта CD ука зы ва е т, что о н мо ж е тсо д е рж а ть то л ько си мво л ьны е д а нны е . В о бщ е м сл уча е сущ е ствуе т5 ра зл и чны х мо д е л е й со д е рж и мо го эл е ме нта . • Пусто е со д е рж и мо е (EMPTY). В это м сл уча е эл е ме нт не мо ж е т и ме ть со д е рж и мо го . Н а при ме р, . • Любо е со д е рж и мо е (ANY). В это м сл уча е эл е ме нтмо ж е тсо д е рж а тьл юбо е д о пусти мо е д л я это го ти па со д е рж и мо е . Э л е ме нт это го ти па мо ж е т со д е рж а ть и л и не со д е рж а ть д о че рни е эл е ме нты в л юбо м по ряд ке и с л юбы м ко л и че ство м вхо ж д е ни й, и ме ть и л и не и ме ть че ре д ующ и е ся си мво л ьны е д а нны е . Э то т ти п по зво л яе т со зд а ва ть ти пы эл е ме нто в бе з о гра ни че ни й на и х со д е рж и мо е . Н а при ме р, . • С и мво л ьны е д а нны е (#PCDATA). Э л е ме нт та ко го ти па мо ж е т со д е рж а ть то л ько си мво л ьны е д а нны е и не мо ж е тсо д е рж а тьд о че рни х эл е ме нто в. Д л я при ме ра см. вы ш е эл е ме нтCD. Кл юче во е сл о во #PCDATA за д а е тти п та к
12
на зы ва е мы х а на лизируемых символьных да нных, т. е . си нта кси че ски про ве ряе мы х XML-про це ссо ро м. • С о д е рж и т то л ько эл е ме нты . При та ко м о пи са ни и ти па эл е ме нт мо ж е т со д е рж а ть д о че рни е эл е ме нты , но не мо ж е т не по сре д стве нно со д е рж а ть си мво л ьны е д а нны е . С м. в при ме ре эл е ме нтКо л л е кци я. • С ме ш а нно е со д е рж и мо е . При это м о пи са ни и ти па эл е ме нтмо ж е тсо д е рж а ть си мво л ьны е д а нны е , че ре д ующ и е ся с д о че рни ми эл е ме нта ми . Общ а я ф о рма за пи си в по сл е д ни х тре х мо д е л ях со д е рж и мо го пре д ста вл яе т со бо й за кл юче нно е в кругл ы е ско бки та к на зы ва е мо е регулярное выра ж ение, о пре д е л яющ е е по ряд о к сл е д о ва ни я и ти пы д о че рни х эл е ме нто в и си мво л ьны х д а нны х в со д е рж и мо м о пи сы ва е мо го эл е ме нта . В ка че стве о пе ра нд о в это го вы ра ж е ни я ф и гури руют и ме на д о че рни х эл е ме нто в и си мво л ьны е д а нны е (#PCDATA), а в ка че стве о пе ра то ро в – сл е д ующ и е си мво л ы : • З а пята я “ , ”. Опи сы ва е т не о бхо д и мую по сл е д о ва те л ьно сть эл е ме нто в. И ме е т смы сл л о ги че ско го о пе ра то ра and. Н а при ме р, A, B о зна ча е т, что пе рвы м д о л ж е н бы ть д о че рни й эл е ме нт ти па A, за ко то ры м д о л ж е н сл е д о ва тьд о че рни й эл е ме нтти па B. • В е рти ка л ьна я че рта “ | ” . Опи сы ва е т а л ьте рна ти вны е ва ри а нты . И ме е т смы сл л о ги че ско го о пе ра то ра or. Н а при ме р, A | B о зна ча е т, что в д а нно м ме сте мо ж е тбы тьл и бо A, л и бо B, при че м д о пуска е тся ро вно о д и н ва ри а нт и з д вух. • Кругл ы е ско бки “ ( ) ”. Объе д и няют по д вы ра ж е ни е та ки м о бра зо м, что сл е д ующ и й д а л е е о пе ра то р при ме няе тся ко все му по д вы ра ж е ни ю. Н а при ме р, (A | B), C о зна ча е т что за A и л и B сл е д уе т C (д о пусти мы е ва ри а нты – A, C и л и B, C). • В о про си те л ьны й зна к “ ? ”. Д е л а е т пре д ш е ствующ и й эл е ме нт не о бяза те л ьны м. • Н а при ме р, A? о зна ча е т, что в д а нно й по зи ци и эл е ме нт ти па A мо ж е т при сутство ва ть, а мо ж е тбы тьо пущ е н по усмо тре ни ю а вто ра д о куме нта . • З на к пл юс “ + “. Д е л а е тпре д ш е ствующ и й эл е ме нтпо вто ряе мы м о то д но го д о не о гра ни че нно го ко л и че ства ра з. Н а при ме р, д л я (A | B)+ д о пусти мы ми ва ри а нта ми буд утA и л и B и л и AA и л и AB и л и BA и л и BB и л и AAA и л и ABA … • З на к зве зд о чка “ * “. Д е л а е т пре д ш е ствующ и й эл е ме нт по вто ряе мы м о т нул я д о не о гра ни че нно го ко л и че ства ра з. Н и ж е при во д ятся во змо ж ны е о бъявл е ни я ти по в эл е ме нто в. По про буйте при ве сти при ме ры со о тве тствующ и х и м д е йстви те л ьны х эл е ме нто в.
13
2.4.3. Объявл е ни е а три буто в В д е йстви те л ьно м XML-д о куме нте не о бхо д и мо та кж е и сче рпы ва ющ е о бъяви ть все а три буты , и спо л ьзуе мы е д л я эл е ме нто в д о куме нта . Д л я это го сущ е ствуе т спе ци а л ьны й ви д DTD-ра зме тки , на зы ва е мы й объявлением списка а т рибут ов. Э то о бъявл е ни е : • Опре д е л яе ти ме на а три буто в, а ссо ци и ро ва нны х с эл е ме нто м. • У ста на вл и ва е тти п д а нны х ка ж д о го а три бута . • З а д а е т не о бхо д и мо сть при сутстви я ка ж д о го а три бута . Е сл и а три бут не о бяза те л е н, мо ж е тука зы ва ться зна че ни е а три бута по умо л ча ни ю. Объявл е ни е спи ска а три буто в и ме е т о бщ и й ви д , гд е И мяЭ лемент а – и мя эл е ме нта , д л я ко то ро го о пи сы ва ются а три буты , А т рибут ы – о д но и л и не ско л ько о пре д е л е ни й а три бута , ра зд е л е нны х про бе л о м. Ка ж д о е о пре д е л е ни е а три бута за пи сы ва е тся в ви д е И мяА три бута Ти п З на че ни е По У мо л ча ни ю, гд е И мяА т рибут а – и мя о пи сы ва е мо го а три бута , Тип – о пи са ни е ти па зна че ни й, ко то ры е мо ж е т при ни ма ть а три бут, Зна чениеП оУ молча нию – о бъявл е ни е зна че ни я по умо л ча ни ю, ко то ро е о пре д е л яе т не о бхо д и мо сть при сутстви я а три бута и мо ж е тза д а ва ть зна че ни е , а вто ма ти че ски при сва и ва е мо е е му при е го о тсутстви и . Пусть, на при ме р, е стьсл е д ующ е е о бъявл е ни е ти па эл е ме нта : . С л е д ующ е е о бъявл е ни е о пи сы ва е т д ва а три бута – Class и Year – д л я эл е ме нта Ф и л ьм: . З на че ни е м а три бута Class мо ж е тбы тьл юба я стро ка в ка вы чка х (кл юче во е сл о во CDATA); е сл и д л я не ко то ро го эл е ме нта это та три бутне за д а н, е му по умо л ча ни ю при сва и ва е тся зна че ни е “ко ме д и я”. А три бут Yaer в ка че стве зна че ни я мо ж е т при ни ма ть л юбую стро ку в ка вы чка х и это та три бутвсе гд а д о л ж е н бы ть за д а н (кл юче во е сл о во #REQUIRED). Ти п а три бута в о бщ е м сл уча е мо ж е тза д а ва ться сл е д ующ и ми 3 спо со ба ми . • С тро ко вы й ти п. А три буту это го ти па в ка че стве зна че ни я мо ж но при сва и ва ть л юбую стро ку в ка вы чка х (л и те ра л ), пра ви л а по стро е ни я ко то ры х ра ссма три ва л и сьв п. 2.2. • М а рке рны й ти п. Э то стро ко вы й ти п с не ко то ры ми д о по л ни те л ьны ми о гра ни че ни ями . • Пе ре чи сл и мы й ти п. Э то а три бут, ко то ры й мо ж е т при ни ма ть стро ко во е зна че ни е и з со ста вл е нно го за ра не е спи ска . Ра ссмо три м бо л е е по д ро бно по сл е д ни е д ва ти па . З на че ни е ма ркерного т ипа д о л ж но уд о вл е тво рять о гра ни че ни ю, за д а нно му в о пи са ни и а три бута с по мо щ ью со о тве тствующ е го кл юче во го сл о ва . Н и ж е при во д и тся по л ны й спи со к эти х кл юче вы х сл о в.
14
• ID. А три бутс та ки м о гра ни че ни е м д о л ж е н и ме тьуни ка л ьно е зна че ни е д л я эл е ме нто в д а нно го ти па в д о куме нте . Д а нны й ти п эл е ме нта мо ж е т и ме ть то л ько о д и н а три бутти па ID. • IDREF. З на че ни е та ко го а три бута д о л ж но со впа д а тьсо зна че ни е м а три бута ти па ID внутри д а нно го д о куме нта . Та ки м о бра зо м, это т ти п а три бута эл е ме нта пре д ста вл яе тсо бо й ссы л ку на уни ка л ьны й и д е нти ф и ка то р д руго го эл е ме нта то го ж е ти па . • IDREFS. Э то т ти п а три бута по хо ж на пре д ы д ущ и й, но мо ж е т со д е рж а ть ссы л ки на не ско л ько и д е нти ф и ка то ро в, ра зд е л е нны х про бе л а ми внутри л и те ра л а . • ENTITY. З на че ни е та ко го а три бута д о л ж но со впа д а ть с и ме не м сущ но сти , о бъявл е нно й в DTD. Э та сущ но сть не о бра ба ты ва е тся си нта кси че ски м а на л и за то ро м и ссы л а е тся на вне ш ни й ф а йл , о бы чно со д е рж а щ и й не XMLд а нны е . С ущ но сти буд утра ссмо тре ны по зд не е . • ENTITIES. Э то т ти п по хо ж на пре д ы д ущ и й, но мо ж е т со д е рж а ть и ме на не ско л ьки х не а на л и зи руе мы х сущ но сте й, ра зд е л е нны х про бе л а ми внутри л и те ра л а . • NMTOKEN. З на че ни е м это го ти па явл яе тся эл е ме нта рно е и мя, по стро е нно е по и зл о ж е нны м ра не е пра ви л а м. • NMTOKENS. Н е ско л ько эл е ме нта рны х и ме н. С л е д ующ и й не бо л ьш о й при ме р и л л юстри руе то пи са ни я а три буто в. ] > М е ха ни че ска я ко ф е мо л ка А три бут перечислимого т ипа мо ж е т при ни ма ть стро ко во е зна че ни е и з о пре д е л е нно го за ра не е спи ска . Э то т спи со к мо ж е т за д а ва ться о д ни м и з сл е д ующ и х д вух спо со бо в. • С пи со к а л ьте рна ти вны х зна че ни й в кругл ы х ско бка х. Н а при ме р, .
15
• С пи со к а л ьте рна ти вны х но та ци й. Пе ре д спи ско м ука зы ва е тся кл юче во е сл о во NOTATION. С пи со к со сто и ти з и ме н но та ци й, о бъявл е нны х в DTD. Н о та ци я о пи сы ва е т ф о рма т д а нны х и л и и д е нти ф и ци руе т про гра мму, при ме няе мую д л я о бра бо тки о пре д е л е нно го ф о рма та . По д ро бне е о но та ци ях буд е тра сска за но по зд не е . Н а при ме р, Объявление зна чения по умолча нию за д а е т, явл яе тся л и а три бут о бяза те л ьны м, и е сл и не т, ука зы ва е т, что д о л ж е н пре д при ни ма ть про це ссо р при е го о тсутстви и . Э то о бъявл е ни е и ме е тсл е д ующ и е 4 ф о рмы . • #REQUIRED. У ка зы ва е т, что а три бутд о л ж е н при сутство ва тьо бяза те л ьно . • #IMPLIED. Та ко й а три бутявл яе тся не о бяза те л ьны м, и е сл и о н не за д а н, то ни ка ко е зна че ни е по умо л ча ни ю е му не при сва и ва е тся. • З на че ни е по умо л ча ни ю. Е сл и о но за д а но , то а три бут явл яе тся не о бяза те л ьны м, а при е го о тсутстви и е му при сва и ва е тся это зна че ни е . • #FIXED З на че ни е по умо л ча ни ю. Та ко й а три бутмо ж е ти ме тьто л ько о д но ука за нно е зна че ни е , ко то ро е при сва и ва е тся е му по умо л ча ни ю при е го о тсутстви и . 2.4.4. И спо л ьзо ва ни е вне ш ни х DTD Ра ссмо тре нны е вы ш е о пи са ни я ти па д о куме нта це л и ко м со д е рж а тся в со ста ве са мо го д о куме нта . Та ко й ти п DTD на зы ва е тся внут ренним. Од на ко о пре д е л е ни е ти па д о куме нта це л и ко м и л и ча сти чно мо ж но ра спо л о ж и тьв о тд е л ьно м ф а йл е , а за те м ссы л а ться на это тф а йл и з внутре нне го DTD. Опре д е л е ни е , ра спо л о ж е нно е в о тд е л ьно м ф а йл е , на зы ва е тся внеш ним, и л и внеш ним подмнож ест вом DTD. При ме не ни е вне ш не го DTD и ме е тсмы сл в сл уча ях, ко гд а о но явл яе тся о бщ и м д л я це л о й группы д о куме нто в. М но ги е и зве стны е XML-при л о ж е ни я (на при ме р, MathML) о сно ва ны на о бщ е м DTD. Ч то бы и спо л ьзо ва ть то л ько вне ш не е DTD, д о ста то чно во внутре нне м DTD за ме ни ть бл о к о бъявл е ни й ра зме тки кл юче вы м сл о во м SYSTEM, за ко то ры м сл е д уе тссы л ка на со о тве тствующ и й ф а йл . Ра ссмо три м, на при ме р, д о куме нт <Simple>Э то кра йне упро щ е нны й XML д о куме нт. Е сл и д л я это го д о куме нта при ме ни ть вне ш не е DTD, о н буд е ти ме ть сл е д ующ и й ви д :
16
Э то кра йне упро щ е нны й XML д о куме нт., а ф а йл Simple.dtd д о л ж е н и ме тьсо д е рж и мо е . Ф а йл , со д е рж а щ и й вне ш не е по д мно ж е ство DTD, мо ж е т вкл юча ть л юбы е о бъявл е ни я ра зме тки , ко то ры е мо гутвкл юча ться во внутре нне е DTD. Опи са ни е ме сто на хо ж д е ни я ф а йл а (в д а нно м при ме ре Simple.dtd) на зы ва е тся си сте мны м л и те ра л о м. Он мо ж е т бы ть за кл юче н в о д и на рны е и л и д во йны е ка вы чки и со д е рж а ть л юбы е си мво л ы , за и скл юче ни е м ка вы че к-о гра ни чи те л е й. С и сте мны й л и те ра л пре д ста вл яе тсо бо й та к на зы ва е мы й униф ицирова нный идент иф ика т ор ресурса (URI) ф а йл а . URI пра кти че ски а на л о ги че н ста нд а ртно му Interner-а д ре су (URL). Н а при ме р, мо ж но ука зы ва тьпо л но стью про пи са нны й URI: , и л и , ка к и вы ш е в при ме ре , ча сти чны й URI, за д а ющ и й ме сто на хо ж д е ни е ф а йл а DTD о тно си те л ьно ра спо л о ж е ни я са мо го XML-д о куме нта . М о ж но и спо л ьзо ва тьвне ш не е и внутре нне е по д мно ж е ства DTD о д но вре ме нно . Н а при ме р, ] > <Title>XML. Ш а г за ш а го м С о д е рж и мо е ф а йл а Book.dtd: Е сл и и спо л ьзуются вне ш не е и внутре нне е по д мно ж е ства DTD, то XMLпро це ссо р д е йствуе тсл е д ующ и м о бра зо м. • Д л я ф о рми ро ва ни я по л но го DTD в о бщ е м сл уча е о сущ е ствл яе тся сл и яни е д вух по д мно ж е ств. • В нутре нне по д мно ж е ство DTD и ме е т вы сш и й при о ри те т по сра вне ни ю с вне ш ни м по д мно ж е ство м. Та ки м о бра зо м, внутре нне е по д мно ж е ство DTD мо ж е т д о ба вл ять эл е ме нты , а три буты и л и сущ но сти (буд ут ра ссмо тре ны ни ж е ), а та кж е и зме нятьи х о пре д е л е ни я, и ме ющ и е ся во вне ш не м DTD. • В сл уча е , е сл и а три бут с о д ни м и те м ж е и ме не м и ти по м эл е ме нта о бъявл яе тся бо л е е о д но го ра за , про це ссо р и спо л ьзуе тпе рво е о бъявл е ни е и
17
и гно ри руе твсе по сл е д ующ и е . Э то пра ви л о при ме няе тся и д л я по вто рны х о бъявл е ни й сущ но сте й. 2.5. Опре д е л е ни е и и спо л ьзо ва ни е сущ но сте й М е ха ни зм сущ но сте й явл яе тся сре д ство м о бл е гчи ть на пи са ни е , чте ни е и со про во ж д е ни е XML. С ущ но сть (entity) явл яе тся за ме сти те л е м со д е рж а ни я. Е е мо ж но о д на ж д ы о бъяви тьи за те м мно го кра тно и спо л ьзо ва тьпо чти в л юбо м ме сте д о куме нта (на при ме р, на и ме но ва ни е ко мпа ни и и л и ста нд а ртную юри д и че скую ф о рмул и ро вку). И ме е тся 2 о сно вны х ти па сущ но сте й – о бщ и е и па ра ме три че ски е . Общ ие сущ ност и явл яются за ме сти те л ями д л я л юбо го ви д а со д е рж и мо го д о куме нта , ко то ро е при сутствуе тна уро вне ко рне во го эл е ме нта д о куме нта XML и л и внутри не го . П а ра мет рические сущ ност и и спо л ьзуются то л ько в DTD и за ме щ а ют ко нструкци и в DTD. С ущ но сть со сто и т и з и ме ни и зна че ни я. Ко гд а XMLпро це ссо р про сма три ва е тд о куме нт, о н на хо д и тссы л ки на сущ но сти и за ме няе т и х зна че ни ями сущ но сте й. С сы л ка на о бщ ую сущ но сть и ме е т сл е д ующ и й ви д : &И мяС ущ но сти ; . В ссы л ке на па ра ме три че скую сущ но сть вме сто зна ка & и спо л ьзуе тся %. З на че ни е м сущ но сти мо ж е тбы тьвсе – о то тд е л ьно го си мво л а д о ф а йл а с ра зме тко й XML. Н а при ме р, сл е д ующ е е DTD о пре д е л яе твне ш ни й ф а йл Topics.xml (это тф а йл со д е рж и тспи со к те м в ста тье , вкл юче нно й в д о куме нт) ка к вне ш нюю сущ но сть с и ме не м topics, а та кж е л и те ра л ка к вне ш нюю сущ но сть с и ме не м title. ] > И ме я это DTD, мо ж но вста ви тьза го л о во к и по л ны й спи со к те м в л юбо е нуж но е ме сто ста тьи : <TitlePage> Title: &title; Author: М а йкл Я нг Э та ста тья о хва ты ва е тсл е д ующ и е те мы : &topics;
18
Кро ме д е л е ни я на о бщ и е и па ра ме три че ски е , сущ но сти бы ва ют та кж е внут ренние (и х зна че ни я со д е рж а тся в стро ке в ка вы чка х) и внеш ние (со д е рж а тся в о тд е л ьно м ф а йл е ); а на лизируемые (по сл е вста вки зна че ни я про ве ряе мы е XMLпро це ссо ро м на пра ви л ьно сть си нта кси са ) и не а на лизируемые (ча щ е все го со д е рж а тне XML-д а нны е , на при ме р, гра ф и че ски е д а нны е и л и и зо бра ж е ни я). В при ве д е нно м вы ш е при ме ре о бе и спо л ьзуе мы е сущ но сти явл яются а на л и зи руе мы ми , при че м topics – вне ш не й, а З а го л о во к – внутре нне й. В се сущ но сти д о л ж ны бы ть о бъявл е ны в DTD д о и х и спо л ьзо ва ни я в д о куме нте . И скл юче ни е со ста вл яют сл е д ующ и е 2 ви д а внутре нни х а на л и зи руе мы х сущ но сте й, явл яющ и хся о д но си мво л ьны ми . • Пре д о пре д е л е нны е сущ но сти . Н е ко то ры е си мво л ы не л ьзя и спо л ьзо ва ть в те ксте д о куме нта XML, по ско л ьку о ни ко нф л и ктуют со спе ци а л ьны ми си мво л а ми ра зме тки . Н а при ме р, угл о вы е ско бки (< >) пре д на зна че ны д л я о гра ни че ни я те го в. Д л я и х вкл юче ни я в ка че стве ча сти те кста мо ж но и спо л ьзо ва ть спе ци а л ьны е ссы л ки : amp, apos, gt, lt, quot (за ме щ а ют со о тве тстве нно си мво л ы &, ‘, >, . При о бъявл е ни и о бщ е й вне ш не й а на л и зи руе мо й сущ но сти д л я ссы л ки на ф а йл и спо л ьзуе тся, ка к о бы чно в та ки х сл уча ях, кл юче во е сл о во SYSTEM: . З д е сьС и сте мЛи те ра л за д а е т URI ф а йл а , со д е рж а щ е го д а нны е сущ но сти . Объявл е ни е о бщ е й вне ш не й неа на лизируемой сущ но сти со д е рж и т д о по л ни те л ьно е кл юче во е сл о во NDATA, со о бщ а ющ е е , что ф а йл со д е рж и т не а на л и зи руе мы е д а нны е , ко то ры е и ме ют о со бы й ф о рма т, и л и но та ци ю (notation): . И мяН о та ци и ука зы ва е т ф о рма т не а на л и зи руе мы х д а нны х и д о л ж но бы ть ра не е о тд е л ьно о бъявл е но в DTD. Н о та ци я о пи сы ва е т спе ци ф и че ски й ф о рма т д а нны х. Объявл е ни е но та ци и за д а е т и мя ф о рма та д а нны х и ука зы ва е т про гра мму, ко то ра я спо со бна о бра ба ты ва ть д а нны е это го ф о рма та и л и про сто о пи са ни е ф о рма та . Оно и ме е т сл е д ующ ую ф о рму за пи си : . При ме р д о куме нта , и спо л ьзующ е го вне ш нюю не а на л и зи руе мую сущ но сть:
19
] > <Title>Dynamic HTML: руко во д ство ра зра бо тчи ка С ти ве н Х о л ьцне р В это м при ме ре а три буту Source эл е ме нта CoverImage при сво е но и мя вне ш не й сущ но сти , со д е рж а щ е й гра ф и че ски е д а нны е д л я о то бра ж е ни я ри сунка о бл о ж ки кни ги . П а ра мет рические сущ ност и бы ва ют внутре нни ми и вне ш ни ми , но то л ько а на л и зи руе мы ми . И х о бъявл е ни я и ме ют ви д : и в о ста л ьно м и ме ют си нта кси с, схо ж и й с о бщ и ми сущ но стями . Г л а вна я и х спе ци ф и ка со сто и тв то м, что о бщ и е сущ но сти вл и яютна со д е рж и мо е д о куме нта , а па ра ме три че ски е сущ но сти на стра и ва ютко нструкци и DTD. Н а при ме р, сл е д ующ е е DTD и спо л ьзуе тпа ра ме три че скую внутре ннюю сущ но сть а вто р, со д е рж а щ ую 3 о бъявл е ни я ра зме тки . ” > %author; ] > 3. Ото бра ж е ни е XML – д о куме нто в Од но й и з ва ж не йш и х о со бе нно сте й XML явл яе тся во змо ж но сть о тд е л е ни я л о ги че ско й структуры д о куме нто в о т и х вне ш не го пре д ста вл е ни я. И ме нно во про са м л о ги че ско го по стро е ни я д о куме нто в бы л по свящ е н пре д ы д ущ и й ра зд е л ра бо ты . Ч то ж е ка са е тся ви зуа л ьно го пре д ста вл е ни я, то сущ е ствуе т не ско л ько ме то д о в упра вл е ни я о то бра ж е ни е м XML -д о куме нто в на экра не ко мпьюте ра . В при ме ра х пре д ы д ущ е го ра зд е л а и спо л ьзо ва л ся пе рвы й, са мы й про сто й и в на сто ящ е е вре мя на и бо л е е ра спро стра не нны й и з ни х – та бл и цы ка ска д ны х сти л е й
20
(CSS). Та бл и ца ка ска д ны х сти л е й пре д ста вл яе т со бо й ф а йл , ко то ры й со д е рж и т и нструкци и WEB-бра узе ру д л я ф о рма ти ро ва ни я эл е ме нто в в XML-д о куме нте д л я о то бра ж е ни я в WEB-стра ни це . Та бл и цы ка ска д ны х сти л е й по д д е рж и ва ются бо л ьш и нство м и зве стны х бра узе ро в, о д на ко это тме то д и ме е тряд сущ е стве нны х о гра ни че ни й. В ча стно сти , CSS не д а е т во змо ж но сти мо д и ф и ци ро ва ть со д е рж и мо е д о куме нта . Она не по зво л яе т та кж е о сущ е ствл ять д о ступ к а три бута м, сущ но стям, и нструкци ям и д руги м ко мпо не нта м XML и со о тве тстве нно не д а е т во змо ж но сти о бра ба ты ва ть и нф о рма ци ю, ко то рую эти ко мпо не нты со д е рж а т. С ущ е ствуе тряд бо л е е сл о ж ны х, но и бо л е е ги бки х те хно л о ги й о то бра ж е ни я XML-д о куме нто в. К ни м о тно сятся связы ва ни е д а нны х, сце на ри и о бъе ктно й мо д е л и д о куме нта (DOM), ра сш и ряе мы й язы к та бл и ц сти л е й (XSL). По д ро бне е о ме то д а х о то бра ж е ни я д о куме нто в а вто р пл а ни руе т ра сска за ть во II ча сти ме то д и че ски х ука за ни й. 4. MathML – язы к о пи са ни я ма те ма ти че ски х ф о рмул Од ни м и з на и бо л е е ярки х при ме ро в при л о ж е ни й XML явл яе тся Mathematical Markup Language (MathML). Д о не д а вне го про ш л о го е д и нстве нны м спо со бо м о то бра ж е ни я ма те ма ти че ски х ф о рмул явл ял и сь ри сунки , со зд а нны е в спе ци а л ьны х гра ф и че ски х ре д а кто ра х. Од на ко это т спо со б ма л о при го д е н д л я ра зви ты х си сте м о бме на на учно й и нф о рма ци е й. MathML пре д на зна че н д л я со д е рж а те л ьно го о пи са ни я ма те ма ти че ски х вы кл а д о к. При нци п MathML (ка к и са мо го XML) та ко в: спе ци а л и зи ро ва нна я и нф о рма ци я ко д и руе тся при по мо щ и эл е ме нто в XML в о бы кно ве нно м те ксто во м д о куме нте , а о то бра ж е ни е м е е в при вы чно й д л я че л о ве ка ф о рме за ни ма е тся уж е спе ци а л ьны й XML-про це ссо р. В со во купно сти с та бл и ца ми сти л е й CSS, но вы й язы к в ко не чно м и то ге по зво л и т бра узе ра м о бра ба ты ва ть ма те ма ти че ски е вы ра ж е ни я. Бл а го д а ря XLink (XML Linking Language) с л юбы м ма те ма ти че ски м вы ра ж е ни е м мо ж но связа тьссы л ки , а эл е ме нты MathML мо гут д о ба вл яться в д о куме нты XHTML (Extensible HTML) че ре з со о тве тствующ и е про стра нства и ме н. Кро ме то го , MathML 2.0 вкл юча е тв се бя мо д е л ьMathML DOM (MathML Document Object Model), ко то ра я по зво л яе т и д е нти ф и ци ро ва ть ко мпо не нты MathML и ма ни пул и ро ва ть и ми с по мо щ ью л юбо го язы ка о пи са ни я сце на ри е в. У ж е се йча с ча сть про и зво д и те л е й ПО пре д л а га е тспе ци а л ьны е на д стро йки , с по мо щ ью ко то ры х ко нструкци и MathML мо гут вы по л няться не по сре д стве нно в са мо м бра узе ре . А в ско ро м буд ущ е м по яви тся про гра ммно е о бе спе че ни е - пе ре во д чи ки и ре д а кто ры ура вне ни й, спо со бны е ге не ри ро ва ть HTML-ко д на о сно ве пре д ста вл е нны х ма те ма ти че ски х д а нны х на MathML. MathML со сто и ти з мно ж е ства XML-те го в, пре д на зна че нны х д л я ра зме тки ма те ма ти че ски х те ксто в. MathML пре по д но си тся ка к и нструме нт упра вл е ни я спе ци а л и зи ро ва нны ми сре д ства ми ра бо ты с а вто рски м ма те ри а л о м (на при ме р, ре д а кто ры ура вне ни й) и вза и мо д е йстви я ме ж д у ра зл и чны ми ма те ма ти че ски ми па ке та ми . Ряд и зве стне йш и х про и зво д и те л е й ма те ма ти че ски х па ке то в, в то м чи сл е Wolfram Research Inc., о бъяви л и о по д д е рж ке MathML (Mathematica 4).
21
MathML пре д о ста вл яе т во змо ж но сть и спо л ьзо ва ни я д вух ти по в ра зме тки – ви зуа л ьно й и се ма нти че ско й, что по зво л яе т по -ра зно му по д хо д и ть к про це ссу со зд а ни я по д о бны х д о куме нто в. В пе рво м сл уча е и спо л ьзуются и нструкци и о пи са ни я вне ш не го ви д а ма те ма ти че ско го вы ра ж е ни я. В о вто ро м ра зме тка пре д на зна че на д л я о пре д е л е ни я структуры вы ра ж е ни я и пре д о ста вл яе т во змо ж но сть е го и нте рпре та ци и про гра ммо й кл и е нта . Ч то бы пре д ста ви ть, ка к с по мо щ ью MathML о бра ба ты ва ются ма те ма ти че ски е вы ра ж е ни я, при ве д е м про сто й при ме р: x 2 + 4x + 4 = 0. Е стьд ва спо со ба за пи си это го ура вне ни я. Пе рвы й и спо л ьзуе тте ги пре д ста вл е ни я, ко то ры е о бы чно на чи на ются с <m>, за те м и д е т д л я о пе ра ци и , д л я пе ре ме нно й, д л я чи сл о во й ко нста нты и т.д . Те г <mrow> ука зы ва е тна группо вую и е ра рхи ю: <mrow> <mrow> <msup> <mi>x <mn>2 <mo>+ <mrow> <mn>4 <mo>&invisibletimes; <mi>x <mo>+ <mn>4 <mo>= <mn>0 Д руго й ва ри а нт- при ме не ни е се ма нти че ски х те го в: <power/> x 2 4 x 4
22
В ка че стве при ме ро в про гра ммно го о бе спе че ни я, по д д е рж и ва ющ е го MathML 2.0, мо ж но на зва ть W3C Amaya browser, DSSSL stylesheets for MathML, IBM techexplorer, MathType и д руги е . 5. Ли те ра тура и ссы л ки в И нте рне те 1. Я нг М . XML. Ш а г за ш а го м: Пра кт. по со би е : Пе р. с а нгл .- M.: И зд -во Э КОМ , 2000 – 384 с. 2. Рэй Э . И зуча е м XML: Пе р. с а нгл . – С Пб: С и мво л -Пл юс, 2001. – 408 с. 3. http://www.w3.org/ . 4. http://www.w3.org/TR/2000/WD-MathML2-20000328/ . 5. http://www.oasis-open.org/cover . С о ста ви те л ь
М а хо рто в С е рге й Д ми три е ви ч
Ре д а кто р
Ти хо ми ро ва О. А .