М И Н И СТ Е РСТ В О О Б РА ЗО В А Н И Я РО ССИ Й СК О Й Ф Е Д Е РА Ц И И В О РО Н Е Ж СК И Й ГО СУ Д А РСТ В Е Н Н ЫЙ У...
21 downloads
336 Views
193KB 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 курсо в кафедрально й группы специализации м ат ем ат ич еско го факульт ет а
Ч а сть2
С о ста ви те л и : С .Д . М а хо рто в, Н .И . Н и к и ф о ро ва
Во ро не ж 2002
2
С о де рж а ни е 1. В ве де ни е ..........................................................................3 2. XML Schema: а л ьте рна ти ва и спо л ьзо ва ни ю DTD ........3 3. Язы к о пре де л е ни ясхе м XML.........................................4 3.1. И спо л ьзо ва ни е про стра нства и ме н XML .................4 3.2. И спо л ьзо ва ни е не ск о л ьк и х схе м...............................7 3.3. А нно та ци и ..................................................................8 3.4. П ро сты е ти пы эл е ме нто в...........................................9 3.4.1. Гра ни XML-схе м..................................................12 3.5. С л о ж ны е ти пы эл е ме нто в..........................................14 3.5.1. В и ды сл о ж ны х эл е ме нто в.....................................16 3.5.2. Огра ни че ни явхо ж де ни й в схе ма х .......................19 3.5.3. П о рядо к сл е до ва ни яэл е ме нто в............................21 3.5.4. А три буты ...............................................................22 4. Ли те ра тура и ссы л к и в И нте рне те .................................23
3
1. В ве де ни е Во вто ро й ча сти ме то ди че ск и х ука за ни й пе рво на ча л ьно пл а ни ро ва л о сь ра ссмо тре тьво про сы , связа нны е с о то бра ж е ни е м XML – до к уме нто в, а та к ж е язы к о пи са ни я ма те ма ти че ск и х ф о рмул – MathML. Н о за про ш е дш е е вре мя про и зо ш л и се рье зны е и зме не ни я в те хно л о ги и со зда ни я до пусти мы х XML – до к уме нто в, по это муа вто ры по счи та л и не о бхо ди мы м о ста но ви ться на это м во про се по дро бне е . В на сто ящ е е вре мя сущ е ствуют уж е два о ф и ци а л ьно при зна нны х спо со ба о пи са ни я структуры да нны х XML: DTD (Document Type Definitions) – о пре де л е ни е ти па до к уме нта и схе мы XML. DTD бы л и по дро бно ра ссмо тре ны в пе рво й ча сти ме то ди че ск и х ука за ни й. В 2002 го ду к о нсо рци умо м W3C (www.w3c.org) бы л и при няты ре к о ме нда ци и о язы к е о пи са ни я схе м XML Schema. Э то т язы к мы и ра ссмо три м в да нно й ча сти ме то ди че ск и х ука за ни й. П ре дл о ж е нны е ж е ра не е к ра ссмо тре ни ю во про сы будут о све щ е ны в сл е дующ и х ча стях ме то ди че ск и х ука за ни й по и зуче ни ю XML. 2. XML Schema: а л ьте рна ти ва и спо л ьзо ва ни ю DTD Язы к DTD по яви л сяо дно вре ме нно с XML, и в не м и спо л ьзо ва л сясво й со бстве нны й си нта к си с дл я о пи са ни я до к уме нто в, что яви л о сь о дни м и з о сно вны х е го не до ста тк о в. В бо л е е но во й к о нце пци и схе м XML и спо л ьзо ва на и де о л о ги яDTD, но пи ш утсяо ни на о сно ве ста нда ртны х пра ви л XML. Е щ е о ди н не до ста то к DTD – о тсутстви е по дде рж к и про стра нства и ме н (namespace), по зво л яющ е го о пре де л ятьк о нте к стдо к уме нта . П ри уве л и че ни и сте пе ни ра спре де л е нно сти и нф о рма ци и XML о тсутстви е про стра нств и ме н в DTD сни ж а е т по л е зно сть та к и х о пи са ни й и со зда е т до по л ни те л ьны е про бл е мы и ме но ва ни й. С л е дующ и й не до ста то к DTD - о гра ни че нно стьпо дде рж к и вы де л е ни я к л а ссо в и на сл е до ва ни я, что ста но ви тся бо л ьш о й про бл е мо й в связи с ра спро стра не ни е м о бъе к тно -о ри е нти ро ва нны х те хно л о ги й. Е щ е о дни м и зо сно вны х не до ста тк о в явл яе тсяо тсутстви е в DTD ти по в да нны х (к ро ме PCDATA и CDATA), что бы л о бы по л е зно при о пи са ни и со де рж и мо го мно ги х эл е ме нто в XML. С хе мы о пи сы ва ютструктуруи со де рж а ни е да нны х в до к уме нте XML. П о до бно DTD, схе мы по зво л яютпро ве ри ть к о рре к тно сть XML. И спо л ьзуя схе мы , при хо ди тся пе ре хо ди ть на двудо к уме нтную мо де л ь, то е сть и ме ть де л о с эк зе мпл яро м до к уме нта , к о то ры й до л ж е н бы ть гра мма ти че ск и пра ви л ьны м, что бы е го смо г о бра бо та ть а на л и за то р XML, и схе мо й до к уме нта . XML Schema пре до ста вл яе тзна чи те л ьно бо л ьш и й к о нтро л ь на д ти па ми да нны х и ш а бл о на ми , о бра зуя бо л е е удо бны й язы к дл я со бл юде ни я стро ги х тре бо ва ни й вво да да нны х.
4
Н е смо тря на все это , и зуча тьDTD по -пре ж не мунуж но , та к к а к мно ги е язы к и ра зме тк и уж е бы л и о пи са ны при по мо щ и DTD, и дл я а да пти ро ва ни я ра зме тк и о че ньпо л е зно уме тьи х чи та ть. 3. Язы к о пре де л е ни ясхе м XML К о рне вы м эл е ме нто м в схе ме XML явл яе тсяэл е ме нтSchema, к о то ры й со де рж и твсе о ста л ьны е эл е ме нты в до к уме нте схе мы . ... ... В ра мк а х к о рне во го эл е ме нта схе мы XSD вы со зда е те про стра нство и ме н. 3.1. И спо л ьзо ва ни е про стра нства и ме н XML П ро стра нства и ме н пре до ста вл яют ра зра бо тчи к упро сто й ме ха ни зм уни к а л ьно й и де нти ф и к а ци и эл е ме нто в и а три буто в с о ди на к о вы ми и ме на ми дл я и збе ж а ни я к о нф л и к то в и ме н. К о нф л и к т и ме н во зни к а е т в то м сл уча е , к о гда в о дно м до к уме нте пре дста вл е ны де ск ри пто ры с о ди на к о вы ми и ме на ми , но о тно сящ и е сяк ра зл и чны м к л а сса м да нны х. В со о тве тстви и с ре к о ме нда ци е й W3C, дл я и де нти ф и к а ци и о бъявл е ни я про стра нства и ме н и спо л ьзуется сл о во xmlns. Зна че ни е м о пре де л яе мо го при это м а три бута явл яе тся и де нти ф и к а то р URI (Unified Resourse Identifier – У ни ф и ци ро ва нны й и де нти ф и к а то р ре сурсо в), о пре де л яющ и й и спо л ьзуемо е про стра нство и ме н. И де нти ф и к а то р URI – это про сто уни к а л ьна я по сл е до ва те л ьно сть си мво л о в, и спо л ьзуема я дл я ра зл и че ни я и ме н. С о ве рш е нно не и гра е тро л и то , на что и ме нно ука зы ва е т и де нти ф и к а то р URI. И де нти ф и к а то р URI все го л и ш ь вы ступа е тв к а че стве «про зви щ а » и ме н эл е ме нто в и а три буто в, к о то ры е о н ха ра к те ри зует. Объявл е ни я про стра нств и ме н мо гутсо де рж а тьURI, на по ми на ющ и е а дре са URL (Unified Resourse Locator – ста нда ртны й Internet-а дре с) и л и уни ве рса л ьны е и ме на ре сурсо в URN (Unified Resourse Name) – это л юбо й и де нти ф и к а то р, к о то ры й не вы гл яди тк а к а дре с URL. URI: xmlns = “http://www.w3.org/1999/XMLSchema” URN: xmlns = “urn:schemas-microsoft-com:xml-data” П о ск о л ьк у о дно й и з о сно вны х це л е й и спо л ьзо ва ни я про стра нства и ме н явл яе тся во змо ж но сть сме ш и ва ть и ме на и з ра зл и чны х ре сурсо в, по л е зно о пре де л ять псе вдо ни м, ука зы ва ющ и й на тре буемую де к л а ра ци ю и
5
и спо л ьзуемы й в до к уме нте . Д л я это го к а три бутуxmlns до ста то чно до ба ви ть дво е то чи е и и мяпсе вдо ни ма . Т а к и м о бра зо м, на ш при ме р при ме тви д: xmlns:xsd = “http://www.w3.org/1999/XMLSchema” Т е пе рь при по мо щ и пре ф и к са xsd мо ж но по к а за ть, и з к а к о го про стра нства и ме н бе ре тсяэл е ме нт. Н а при ме р, эл е ме нт: го во ри тна м, что и мяelement про и схо ди ти зде к л а ра ци и про стра нства и ме н XML Schema. П ре ф и к сы и спо л ьзуютсяк а к с эл е ме нта ми , та к и а три бута ми XML-до к уме нто в. У де к л а ра ци и про стра нства и ме н и ме е тсяо бл а стьде йстви я. Э то ва ж но , та к к а к про стра нства и ме н не все гда де к л а ри руются в на ча л е до к уме нта XML, и но гда это де л а е тся в по сл е дующ и х е го ра зде л а х. Д е к л а ра ци я про стра нства и ме н при ме ни ма к эл е ме нту, в к о то ро м о на по явл яе тся, а та к ж е к по то мк а м это го эл е ме нта , да ж е е сл и о на не о пре де л е на та м явны м о бра зо м. И мя мо ж е т ссы л а ться на про стра нство и ме н, то л ьк о е сл и и спо л ьзуется в о бл а сти де йстви яе го де к л а ра ци и . Н а м та к ж е по тре буетсясме ш и ва тьо бл а сти де йстви я про стра нств и ме н в эл е ме нта х. В связи с эти м о пре де л е ны два спо со ба де к л а ра ци и о бл а сти де йстви я – default (по умо л ча ни ю) и qualified (к ва л и ф и ци ро ва нны й). Ч то бы про стра нство и ме н сде л а ть и спо л ьзуемы м по умо л ча ни ю дл я не к о то ро й о бл а сти до к уме нта , до ста то чно о пусти ть де к л а ра ци ю пре ф и к са . Т а к и м о бра зо м, про стра нство и ме н, о бъявл е нно е по умо л ча ни ю в к о рне во м эл е ме нте , счи та е тся про стра нство м по умо л ча ни ю дл я все го до к уме нта , и мо ж е т бы ть пе ре к ры то то л ьк о бо л е е спе ци ф и че ск и м про стра нство м и ме н, о бъявл е нны м внутри до к уме нта . к ни га о б XML Осво й са мо сто яте л ьно XML Д е ва н Ш е пе рд и л л юстра ци и Е. А нто ни
6
Э л е ме нты , , , и а три бут NUMBER бе рутся и з про стра нства и ме н по умо л ча ни ю, о пре де л е нно го в эл е ме нте . В не м, о дна к о , на хо дятся е щ е вто ро й эл е ме нт со сво и ми по то мк а ми и . Они при на дл е ж а т про стра нству и ме н, о бъявл е нно му в это м эл е ме нте . Обл а сть де йстви я де к л а ра ци и это го про стра нства и ме н за ве рш а е тся, к о гда за к ры ва е тсяэл е ме нтвто ро й эл е ме нт. Опи са нны й ме то д ра бо та е т хо ро ш о , е сл и мо ж но че тк о ра зде л и ть и спо л ьзуемы е про стра нства и ме н. Н о и но гда бы ва е тне о бхо ди мо вк л ючи тьв до к уме нт о тде л ьны е и ме на и з вне ш ни х про стра нств и ме н. В это м сл уча е вме сто де к л а ри ро ва ни я про стра нства и ме н це л о й о бл а сти мо ж но и спо л ьзо ва ть к ва л и ф и ци ро ва нны е и ме на . Объяви те нуж ны е ва м про стра нства и ме н в на ча л е до к уме нта , а за те м к ва л и ф и ци руйте и х в ме сте и спо л ьзо ва ни я. 86 120 20 В к о рне во м эл е ме нте MEASUREMENTS о бъявл е ны три про стра нства и ме н. П ро стра нство и ме н по умо л ча ни ю связа но с эл е ме нта ми , и . Одна к о не о бхо ди мо к ва л и ф и ци ро ва ть не к о то ры е зна че ни я е ди ни ц и зме ре ни я. Э то де л а е тся с при вл е че ни е м про стра нства и ме н units и а три бута units:units и з это го про стра нства и ме н. Во змо ж но стьк ва л и ф и ци ро ва тьэто и мямо ж е тбы ть чре звы ча йно по л е зна , по ск о л ьк уда нны й а три бутне ск о л ьк о ра зпо явл яе тся в до к уме нте . Н а к о не ц, не о бхо ди мо о пре де л и ть ра зл и чи я ме ж дуне к о то ры ми ти па ми и зме ре ни й: prop:VOLUME и prop:TEMPERATURE. Хо тя мо ж но бы л о бы о пре де л и ть про стра нство и ме н prop в эл е ме нте , хо те л о сьбы и ме тьво змо ж но стьмно го к ра тно и спо л ьзо ва тьэто про стра нство , дл я че го до ста то чно о бъяви ть е го в на ча л е до к уме нта и и спо л ьзо ва ть к ва л и ф и ци ро ва нны е и ме на . Э к зе мпл яр до к уме нта XML, к о то ры й про ве ряе тся с по мо щ ью схе мы , та к ж е до л ж е н со де рж а тьо бъявл е ни е про стра нства и ме н. Про стра нство и ме н все гда ука зы ва е тся в к о рне во м эл е ме нте эк зе мпл яра до к уме нта XML с по мо щ ью а три бута xmlns:
7
xmlns:xsi=”http://www.w3.org/2000/10/XMLSchema-instance” Э то про стра нство и ме н со де рж и тэл е ме нты и а три буты XML Schema, к о то ры е мо ж но вк л юча ть в эк зе мпл яр до к уме нта XML. П о о бщ е му со гл а ш е ни ю пре ф и к с xsi и спо л ьзуется дл я это го про стра нства и ме н и до ба вл яе тся в на ча л е и ме н все х эл е ме нто в и а три буто в, при на дл е ж а щ и х про стра нствуи ме н, о тде л яясьо тни х дво е то чи е м. Д л я связи эк зе мпл яра до к уме нта XML со схе мо й ча щ е все го и спо л ьзуются два а три бута – xsi:schemaLocation и xsi:noNamespaceSchemaLocation. Э ти а три буты по зво л яютсвяза ть до к уме нт со ста нда рто м XML Schema к о нсо рци ума W3C. Т а к о е связы ва ни е не буде т стро го о бяза те л ьны м, мо ж но и спо л ьзо ва ть и други е за ви сящ и е о т к о нк ре тны х при л о ж е ни й ме ха ни змы , о дна к о о но по зво л и тпо дде рж и ва ющ и м ста нда рт XML Schema и нструме нта м, та к и м к а к си нта к си че ск и е а на л и за то ры , бы стре е на хо ди тьсхе му. Е сл и до к уме нтXSD связы ва е тся бе з про стра нства и ме н – на при ме р, по л но стью о пре де л е нны й и де нти ф и к а то р URI и л и л о к а л ьны й ф а йл , и спо л ьзуетсяа три бутxsi:noNamespaceSchemaLocation: xsi:noNamespaceSchemaLocation=”и мя_ф а йл а .xsd” С друго й сто ро ны , про стра нство и ме н мо ж е тбы тьо бъявл е но вме сте с и ме не м ф а йл а , то гда и де нти ф и к а то р URI дл я про стра нства и ме н и де нти ф и к а то р URI дл я схе мы ра зде л яются про бе л а ми , о бра зуя зна че ни е о дно го а три бута , к а к по к а за но ни ж е : xsi:schemaLocation=”http://example.org/ns/books/ и мя_ф а йл а .xsd” П ро бе л о м ра зде л е ны та к и е ча сти зна че ни я, к а к про стра нство и ме н (http://example.org/ns/books/) и и мядо к уме нта схе мы (и мя_ф а йл а .xsd) 3.2. И спо л ьзо ва ни е не ск о л ьк и х XML схе м С хе мы и про стра нства и ме н мо ж но к о мби ни ро ва ть. Э то да е т во змо ж но сть по л ьзо ва те л ям со зда ва ть эк зе мпл яры до к уме нта на о сно ве не ск о л ьк и х схе м. П ро е к ти ро вщ и к и мо гутда ж е и спо л ьзо ва ть други е схе мы дл ясо зда ни ясво и х со бстве нны х. С о зда ва я до к уме нт-схе му, мы мо ж е м о пре де л и ть це л е во е про стра нство и ме н targetNamespace, к о то ро е буде т о пи сы ва ть эл е ме нты , со зда ва е мы е по л ьзо ва те л е м (на при ме р, , ). Д и ре к ти ва schemaLocation по зво л яе т и мпо рти ро ва ть (import) и л и вк л ючи ть (include) о дну схе му до к уме нта в другую. Д и ре к ти ва include и спо л ьзуется, к о гда со впа да ют це л е вы е про стра нства и ме н гл а вно го и
8
вк л юче нно го до к уме нта . Е сл и про стра нства при ме няе тсяди ре к ти ва import. Гл а вна ясхе ма (mainSchema.xsd):
и ме н
о тл и ча ются,
то
В к л юча е ма я схе ма (myTypes.xsd) и ме е т то ж е са мо е це л е во е про стра нство и ме н: И мпо рти ро ва нна я XSD (foo.xsd) и спо л ьзуетдруго е це л е во е про стра нство и ме н: 3.3. А нно та ци и С хе мы ра спо л а га ютме ха ни змо м по пре до ста вл е ни ю до по л ни те л ьны х к о мме нта ри е в и л и и нф о рма ци и по о бра бо тк е в эл е ме нте . Э то тэл е ме нтмо ж е тсо де рж а тьэл е ме нты , со сто ящ и е и зси мво л ьны х да нны х, пре дна зна че нны х дл я и спо л ьзо ва ни я че л о ве к о м, и л и эл е ме нты , де л а ющ и е то ж е дл я про це ссо ро в схе м. К а ж ды й и з эти х эл е ме нто в мо ж е тсо де рж а тьа три бутinfoSource со ссы л к о й URI на и сто чни к до по л ни те л ьно й и нф о рма ци и .
9
О де к л а ра ци и эл е ме нто в на до по мни тьсл е дующ е е : 3.4. П ро сты е ти пы эл е ме нто в П ри ве де м при ме р про сто го XML-до к уме нта . М и ш а Д и ма Н а по ми на ни е П ри е зж а ю на эти х вы хо дны х При ве де м при ме р XML-схе мы , к о то ра я за да е т эл е ме нты при ве де нно го вы ш е XML-до к уме нта . В XML-до к уме нтне о бхо ди мо до ба ви тьссы л к уна XML-схе му:
10
М и ш а Д и ма Н а по ми на ни е П ри е зж а ю на эти х вы хо дны х XML-до к уме нт мо ж е т со сто ять и з про сты х и сл о ж ны х эл е ме нто в. П ро сты е ти пы сл уж а то сно во й по стро е ни я бл о к о в схе мы . Э л е ме нтпро сто го ти па – это XML-эл е ме нт, к о то ры й мо ж е т со де рж а ть то л ьк о те к ст, но не мо ж е тсо де рж а ть в се бе други е эл е ме нты и л и а три буты . Т е к стмо ж е тбы ть о дно го и з ти по в, вк л юче нны х в о пре де л е ни е XML-схе м, а мо ж е т при на дл е ж а тьти пу, к о то ры й вы со зда л и са ми . Т а к ж е вы мо ж е те до ба ви тьк ти пу да нны х до по л ни те л ьны е о гра ни че ни я, гра ни (facets), что бы да нны е на хо ди л и сь в о пре де л е нны х пре де л а х. С и нта к си с о пре де л е ни я эл е ме нта про сто го ти па та к о в: , где xxx – и мяэл е ме нта , yyy – ти п эл е ме нта В о тне к о то ры е XML-эл е ме нты : И ва но в 34 1988-03-27 А во тсо о тве тствующ и е и м о пре де л е ни яэл е ме нто в про сто го ти па : Язы к XSD со де рж и тбо л ьш о е к о л и че ство встро е нны х про сты х ти по в да нны х: П р остой тип string boolean float
О п исание стро к а л о ги че ск и й Оди на рна ято чно сть
double
Д во йна ято чно сть
decimal timelnstant
1989-07-17Т 11:30:00.000-05:00
П р имер «это те сто ва ястро к а » true, false, 1, 0 32 ра зряда с пл а ва ющ е й то чк о й 64 ра зряда с пл а ва ющ е й то чк о й -43.21, 0, 123.4, 1500.00 17 и юл я1989 го да 11.30 по е вро пе йск о мувре ме ни
11
timeDuration
Р5Y3M2DT11H30M42.4S
recurringlnstant
-11-302Т 23:30:00
binary uri-reference integer non-positiveinteger negative-integer long От-9223372036854775808 до 9223372036854775807 short От32768 до 32767 byte От-128 до 127 non-negativeinteger unsigned-long М а к с. зна че ни е : 18446744073709551615 unsigned-int М а к с. зна че ни е : 4294967295 unsigned-short М а к с. зна че ни е : 65535 unsigned-byte М а к с. зна че ни е : 255 positive-integer date Д а та time ID IDREF ENTITY NOTATION Language IDREFS ENTITIES NMTOKEN NMTOKENS Name QName
Вре мя Т и п а три бута ID в XML 1.0 Т и п а три бута IDREF в XML 1.0 Т и п а три бута ENTITY в XML 1.0 Т и п а три бута NOTATION в XML 1.0 Д о пусти мы е спе ци ф и к а ци е й XML 1.0 зна че ни яxml:lang Т и п а три бута IDREFS в XML 1.0 Т и п а три бута ENTITIES в XML 1.0 Т и п а три бута NMTOKEN в XML 1.0 Т и п а три бута Name в 1.0 П ро стра нство и ме н XML QName
5 л е т, 3 ме сяца , 2 дня, 11 ча со в, 30 ми нути 42.4 се к унды 2-го но ябряк а ж ды й го дв 23:30 – ф о рма тто тж е , что и в timelnstant 110010100110111 http://www.w3.org/ -123456, -1, 0, 1, 123456 -123456, -1, 0 -123456, -1 -1, 12345654321 -1, 12345 -1, 126 0, 1, 123456 0, 12345654321 0, 12345678 0, 12678 0, 126 1, 126789 1983-06-03 (3 и юня1983 г.) 15:25:57.000
12
NCName
П ро стра нство и ме н XML NCName, т.е . Qname бе з пре ф и к са и дво е то чи я
В язы к е XSD сущ е ствует к о нце пци я им ен о ван н ых типо в. Н а при ме р, мо ж но со зда тьо пре де л е ни е эл е ме нта про сто го ти па simpleType и при сво и ть е му им я. В ре зульта те по л учи тся им ен о ван н о е о гр ан ичен ие. П о сл е это го мо ж но при ме нять это о гра ни че ни е и к други м эл е ме нта м схе мы . В о тк а к в это м сл уча е вы гл яди то пи са ни е эл е ме нто в и зна ш е го XML-до к уме нта . К о гда в XML-до к уме нте за да ны ти пы , это на к л а ды ва е то гра ни че ни е на со де рж и мо е эл е ме нто в. Е сл и эл е ме нт ти па date со де рж и т стро к у “П ри ве т”, это т эл е ме нт вы зо ве т о ш и бк у при ва л и да ци и . С по мо щ ью о пре де л е ни й в XML-схе ма х мо ж но до ба вл ятьсво и со бстве нны е о гра ни че ни я на со де рж и мо е XML-эл е ме нто в. Э ти о гра ни че ни я на зы ва ются гра нями (facets). 3.4.1. Гра ни XML-схе м С ущ е ствующ и е ти пы гра не й: Э лемент enumeration length minlength maxlength minExclusive maxExclusive minInclusive maxInclusive fractionDigits totalDigits pattern whiteSpace
О п исание За да е тспи со к зна че ни й За да е тдл и ну За да е тми ни ма л ьную дл и ну За да е тма к си ма л ьную дл и ну За да е тми ни ма л ьно е зна че ни е За да е тма к си ма л ьно е зна че ни е За да е тми ни ма л ьно е зна че ни е вк л ючи те л ьно За да е тма к си ма л ьно е зна че ни е вк л ючи те л ьно За да е тчи сл о ци ф р в дро би За да е тчи сл о ци ф р За да е тш а бл о н дл ясо де рж и мо го эл е ме нто в За да е тзна че ни е про бе л о в в со де рж и мо м эл е ме нто в
П ри и спо л ьзо ва ни и гра не й не о бхо ди мо до ба ви ть эл е ме нт , к о то ры й ука зы ва е т на то , что буде т про и зво ди ться
13
о гра ни че ни е ба зо во го ти па эл е ме нта , к о то ры й в сво ю о че ре дьука зы ва е тся в а три буте base. П ри ве де м не ск о л ьк о про сты х при ме ро в и спо л ьзо ва ни ягра не й. В это м при ме ре о пре де л яе тся эл е ме нт , на е го зна че ни е на к л а ды ва е тсяо гра ни че ни е : В это м при ме ре о пре де л яе тся эл е ме нт , на е го зна че ни е на к л а ды ва е тсяо гра ни че ни е : В это м при ме ре о пре де л яе тсяэл е ме нт:
14
Э л е ме нт о пре де л яе тсяк а к при на дл е ж а щ и й про сто мути пу. Н а со де рж а ни е это го эл е ме нта на л о ж е но о гра ни че ни е , о сно вы ва ющ е е ся на встро е нно м в XML-схе мы ти пе да нны х string, зна че ни е эл е ме нта мо ж е т при ни ма ть то л ьк о не ск о л ьк о зна че ни й и з при ве де нно го спи ск а : Audi, Mercedes, Volvo. Ч а щ е все го пе ре чи сл е ни е при ме няе тся в ви де гра ни дл я стро к о во го ти па , но мо ж но и спо л ьзо ва тьи чи сл о вы е эл е ме нты . П о сути де л а , пе ре чи сл и мы й ти п мо ж но о пре де л и ть на о сно ве л юбо го про сто го ти па , за и ск л юче ни е м Boolean (где пе ре чи сл ять не че го , по ск о л ьк усущ е ствуетвсе го два л о ги че ск и х зна че ни я). Ва ж ны м сво йство м гра не й явл яе тся и спо л ьзо ва ни е ре гулярны х вы ра ж е ни й (regular expression) дл яф о рми ро ва ни яма со к да нны х. С по мо щ ью эти х ма со к мо ж но о пре де л ять ти пы да нны х дл я те л е ф о нны х но ме ро в, по что вы х к о до в, к о то ры е не во змо ж но и л и не це л е со о бра зно пре дста вл ять це л ы ми чи сл а ми (на при ме р, со де рж а щ и х сме сь ци ф р и букв). Ре гулярно е вы ра ж е ни е - это си мво л ьно е пре дста вл е ни е ш а бл о на , о пи сы ва ющ е го те к ст. П о до бно а ри ф ме ти че ск и м вы ра ж е ни ям, в ре гулярны х вы ра ж е ни ях о тде л ьны е ме л к и е ча сти о бъе ди няются в сл о ж ную к о нструкци ю (к а к (x + y) в а ри ф ме ти к е ). П ро сто й при ме р и спо л ьзо ва ни яш а бл о на : Э л е ме нт стро и тсяпо ш а бл о ну: о дна про пи сна я буква (в ве рхне м ре ги стре ), о ди н де ф и с, две ци ф ры . 3.5. С л о ж ны е ти пы эл е ме нто в С л о ж ны й ти п (complex type) сл уж и то сно вны м к о нте йне ро м дл я до пусти мы х в схе ме эл е ме нто в. Он мо ж е тсо де рж а тьэл е ме нты и а три буты . С л о ж ны е ти пы стро ятсяна о сно ве эл е ме нта complexType. Т а к вы гл яди тэл е ме нтсл о ж но го ти па в XML-до к уме нте Пе тр П е тро в
15
С о о тве тствующ е е е муо пи са ни е в схе ме мо ж е твы гл яде тьта к и м о бра зо м: Е сл и вы буде те и спо л ьзо ва тьме то д, пре дл о ж е нны й вы ш е , то то л ьк о эл е ме нт смо ж е ти спо л ьзо ва тьо пи са ни е это го сл о ж но го ти па . (Об эл е ме нте вы узна е те в ра зде л е - 3.5.3. П о рядо к сл е до ва ни я эл е ме нто в). Э л е ме нт мо ж е ти ме тьа три бутtype дл яссы л к и на и мя сл о ж но го ти па , к о то ро муэто тэл е ме нтдо л ж е н со о тве тство ва ть. И мя сл о ж но го ти па за да е тсяв а три буте name эл е ме нта . Е сл и вы по л ьзуете сьэти м ме то до м, то о пи са в сл о ж ны й ти п о ди н ра з, во змо ж но е го не о дно к ра тно е и спо л ьзо ва ни е в о бъявл е ни ях. С л о ж ны й эл е ме нтмо ж е тссы л а тьсяна до че рни е эл е ме нты с и спо л ьзо ва ни е м а три бута ref. Д о че рни е эл е ме нты при это м о бъявл яются о ди н ра з.
16
3.5.1. Ви ды сл о ж ны х эл е ме нто в Ра зл и ча ютне ск о л ьк о ви до в сл о ж ны х эл е ме нто в: - empty – не до л ж е н и ме тьсо де рж и мо го - elementOnly – мо ж е тсо де рж а тьто л ьк о эл е ме нты - textOnly – мо ж е тсо де рж а тьто л ьк о те к ст - mixed – мо ж е твк л юча тьв се бяте к сти эл е ме нты . П усто й XML-эл е ме нтвы гл яди тта к , а со о тве тствующ е е е муо пи са ни е в схе ме XSD ,буде тта к и м: И л и вы мо ж е те о пре де л и тьзна че ни е а три бута type эл е ме нта , при сво и в е музна че ни е а три бутуname эл е ме нта :
17
Т а к вы гл яди тсл о ж ны й эл е ме нт, к о то ры й со де рж и тто л ьк о други е эл е ме нты : John Smith С о о тве тствующ е е е муо пи са ни е в XML-схе ме и ме е тви д: П ри и спо л ьзо ва ни и друго го ме то да , о пи са ни е при ме тви д: П ри ме р XML-эл е ме нта со де рж а щ е го то л ьк о те к ст: 35 Т а к и е эл е ме нты со де рж а тто л ьк о те к сти а три буты (в на ш е м при ме ре эл е ме нтсо де рж и тце л о чи сл е нны е да нны е и а три бутс и ме не м country). П о это мудл яо пи са ни ята к и х эл е ме нто в мы до ба ви м эл е ме нт и о пре де л и м ра сш и ре ни е (extension) и л и о гра ни че ни е (restriction) ба зо во го ти па эл е ме нта , внутри эл е ме нта .
18
.... .... И ЛИ .... .... Н и ж е при ме р о пи са ни яэл е ме нта , при ве де нно го вы ш е , с по мо щ ью схе мы : и ли
19
Т а к мо ж е твы гл яде тьXML-эл е ме нта со сме ш а нны м со де рж а ни е м: Д о ро го й П е тр С и до ро в. Н о ме р ва ш е го за к а за 1032 Он буде то тгруж е н 2001-07-13. А во тк а к с по мо щ ью схе мы мо ж но о пи са тьэто тэл е ме нт: и ли Ч то бы и ме тьво змо ж но стьсо е ди ни тьте к сти до че рни е эл е ме нты , в ро ди те л ьск о м эл е ме нте а три бутуmixed не о бхо ди мо при сво и тьзна че ни е “true”. 3.5.2. Огра ни че ни явхо ж де ни й в схе ма х Язы к о пи са ни ясхе м по зво л яе тва м о пре де л и тьк о л и че ство вхо ж де ни й эл е ме нта с о пре де л е нно й то чно стью. Вы мо ж е те за да тьми ни ма л ьно е и ма к си ма л ьно е к о л и че ство вхо ж де ни й эл е ме нта с по мо щ ью а три буто в minOccur и maxOccur эл е ме нта xs:element. Е сл и ни че го друго го не ука за но , то зна че ни япо умо л ча ни ю эти х а три буто в ра вны “1”. А три бутmaxOccur та к ж е мо ж е тпри ни ма тьзна че ни е “unbounded” (эл е ме нтмо ж е тпо явл яться не о гра ни че нно е к о л и че ство ра з).
20
Ра ссмо три м до к уме нтXML, в к о то ро м к о рне во й эл е ме нтnote со де рж и т два эл е ме нта notes, к а ж ды й и зк о то ры х со де рж и тпо пусто муэл е ме нту number, по сл е к о то ро го сл е дуютэл е ме нты message. Н е за будьк упи тьмо л о к о по пути до мо й К упи тьж и дк о стьдл ямы тьясте к о л За йти в ба нк К упи тьл а мпу Пре дпо л о ж и м, ва м не о бхо ди мо на л о ж и тьна это тдо к уме нто гра ни че ни я: - В до к уме нте до пуск а е тсяне бо л ьш е двух эл е ме нто в ; - В хо ж де ни е эл е ме нто в не о бяза те л ьно ; - Э л е ме нт до л ж е н пре дш е ство ва тьэл е ме нту; - Д о л ж е н сущ е ство ва тьк а к ми ни мум о ди н эл е ме нт; Т а к вы гл яди тво змо ж ны й ва ри а нтсхе мы XSD, о тра ж а ющ е й пе ре чи сл е нны е о гра ни че ни я:
21
В стро к е о пре де л яютсяо гра ни че ни явхо ж де ни й дл ядо че рне го эл е ме нта к о рне во го эл е ме нта . П ро ве ряе мы й эл е ме нтдо л ж е н со де рж а тьо т нуля(minOccurs=”0”) до двух (maxOccurs=”2”) до че рни х эл е ме нто в . Т а к к а к в к а че стве ми ни ма л ьно го зна че ни яука за н 0, до че рни й эл е ме нт не о бяза те л е н. В стро к а х ука за но , что к а к ми ни мум о ди н эл е ме нт до л ж е н сл е до ва ть по сл е эл е ме нта в по сл е до ва те л ьно сти , со де рж а щ е йсяв к а ж до м ро ди те л ьск о м эл е ме нте . Э то за да е тсяс по мо щ ью эл е ме нта к о нте йне ра (о б это м мы по го во ри м в сл е дующ е м ра зде л е ). Одна к о зна че ни е maxOccurs=”unbounded” ука зы ва е тна то , что к о л и че ство эл е ме нто в не о гра ни че нно . 3.5.3. П о рядо к сл е до ва ни яэл е ме нто в П о рядо к сл е до ва ни ядо че рни х эл е ме нто в в ро ди те л ьск о м эл е ме нте о пре де л яе тсяс по мо щ ью эл е ме нто в: К о гда пре дпо л а га е тся, что в эк зе мпл яр до к уме нта до л ж ны по па да тьвсе эл е ме нты группы , но в про и зво л ьно м по рядк е и спо л ьзуетсяэл е ме нт. С л е дуетучи ты ва тьрядо гра ни че ни й на и спо л ьзо ва ни е эл е ме нта , дл ял юбо го эл е ме нта группы не о бхо ди мо minOccurs=”0” и л и “1”, а maxOccurs=”1”. К о гда пре дпо л а га е тся, что в эк зе мпл яр до к уме нта до л ж е н по па да ть то л ьк о о ди н эл е ме нтгруппы , и спо л ьзуетсяэл е ме нт.
22
К о гда пре дпо л а га е тся, что к а ж ды й и зпе ре чи сл е нны х в схе ме эл е ме нто в все гда сущ е ство ва л в эк зе мпл яре до к уме нта (к ро ме сл уча яminOccurs=”0”), нуж но и спо л ьзо ва тьэл е ме нт. 3.5.4. А три буты В XML а три буты ча сто и спо л ьзуются, что бы ра зъясни тьо тде л ьны е а спе к ты эл е ме нто в. Объявл яютсяа три буты в схе ма х XSD с по мо щ ью о бъявл е ни й attribute. А три буты не чувстви те л ьны к по рядк усл е до ва ни я. К ро ме то го , а три буты не мо гутсо де рж а тьв се бе эл е ме нты и л и са ми и ме ть а три буты . Объявл е ни яа три буто в со де рж а тсято л ьк о в о пре де л е ни ях сл о ж ны х ти по в да нны х. Н а при ме р, в XML-до к уме нте и ме е тсяэл е ме нт Т о гда о бъявл е ни яа три буто в будутвы гл яде тьсл е дующ и м о бра зо м: К а ж ды й эл е ме нтattribute в это м при ме ре о бъявл яе тсяс по мо щ ью а три буто в name (со о тве тствуети ме ни эл е ме нта в до к уме нте XML), type (о бъявл е ни е ти па да нны х) и use (о пре де л е ни е то го о бяза те л ьны й а три бути л и не т). В се
23
а три буты по умо л ча ни ю не о бяза те л ьны е , но е сл и вы о бъявл яе те а три буты к а к о бяза те л ьны е , ва м не о бхо ди мо ука за тьа три бут use=”required”. А три буты мо гути ме тьзна че ни е по умо л ча ни ю (default) и л и ф и к си ро ва нно е зна че ни е (fixed) в о пи са ни и . Зна че ни е по умо л ча ни ю при сва и ва е тсявсе гда , к о гда не тдруго го зна че ни ядл яэто го а три бута . Ф и к си ро ва нно е зна че ни е та к ж е а вто ма ти че ск и при сва и ва е тсяа три буту, то л ьк о в это м сл уча е вы не смо ж е те при сво и тьк а к о е -л и бо друго е зна че ни е это муа три буту.
24
4. Ли те ра тура и ссы л к и в И нте рне те 1. Д . Хе ф л и н, Т . Н е й Ра зра бо тк а Web – ск ри пто в. Б и бл и о те к а про гра мми ста . – С П б.: 2001. – 496 с. 2. М а рк Б а ртси , Ри ча рдБ л эр, Лука Б о л о ньи , Д и на р Д а л ви , С ти ве н Ха н, К о ри Ха йнс, А л е к с Го ме р, Б и л л К ро по г, Б ра е н Ло е сги н, С те ф е н М о р, Д ж о н С л е йте р, К е ви н Ви л ьямс, М а ри о Зукк а ASP XML дл япро ф е сси о на л о в – И зда те л ьство «ЛОРИ » , 2001 – 704 с. 3. Д и дье М а рти н, М а рк Б и рбе к , М а йк л К эй, Б ра йн Ло зге н, Д ж о н П и нно к , С ти ве н Ли ви нгсто н, П и те р С та рк , К е ви н В и л ьямс, Ри ча рд А нде рсо н, С те ф е н М о р, Д е ви дБ а л и л е с, Б рюс П и т, Н и к о л а Озу XML дл япро ф е сси о на л о в – И зда те л ьство «ЛОРИ » , 2001 – 864 с. 4. Рэй. Э . И зуча е м XML: П е р. с а нгл . – С П б: С и мво л – П л юс, 2001 – 408 с. 5. Ш е пе рдД . Осво й са мо сто яте л ьно XML за 21 де нь, 2-е и зда ни е .: П е р. с а нгл . – М .: И зда те л ьск и й до м «Ви л ьямс» , 2002. – 432 с. 6. http://xml.nsu.ru 7. http://www.w3.org/ 8. http://www.w3schools.com/schema