您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > XMLSchema步步进阶
精通XMLSchema学习要由潜及深,讲究连贯性,整体性,全局性XMLSchema是以XML语言为基础的,它用于可替代DTD。一份XMLschema文件描述了XML文档的结构XMLSchema语言也被称为XMLSchemaDefinition(XSD)(XMLSchema定义).在本章教程你将学习如何读取和建立XMLSchemas,以及为什么XMLSchemas比DTDs的功能更为强大,还有如何在你的程序中使用XMLSchema语言Schema(XSD)介绍XMLSchemaisanXML-basedalternativetoDTD.XMLSchema是基于XML语言的,它是用于替代DTD的。AnXMLschemadescribesthestructureofanXMLdocument.一份XMLschema文件描述了XML文档的结构。TheXMLSchemalanguageisalsoreferredtoasXMLSchemaDefinition(XSD).XMLSchema语言也被称为XMLSchemaDefinition(即:XSD)。WhatYouShouldAlreadyKnow你需要实现具备的知识Beforeyoucontinueyoushouldhaveabasicunderstandingofthefollowing:在继续下面的学习之前,你需要掌握下面的知识:HTML/XHTMLXML和XML名称空间了解DTD的基本知识WhatisanXMLSchema?什么是XMLSchema?ThepurposeofanXMLSchemaistodefinethelegalbuildingblocksofanXMLdocument,justlikeaDTD.XMLSchema的作用是定义一份XML文档的合法组件群,这与DTD的作用类似。AnXMLSchema:一份XMLSchema:defineselementsthatcanappearinadocument定义了可以出现在文档里的元素definesattributesthatcanappearinadocument定义了可以出现在文档里的属性defineswhichelementsarechildelements定义了哪些元素是子元素definestheorderofchildelements定义了子元素的顺序definesthenumberofchildelements定义了子元素的数量defineswhetheranelementisemptyorcanincludetext定义了一个元素应是否为空,或这是否能包含文本definesdatatypesforelementsandattributes定义了元素和属性的数据类型definesdefaultandfixedvaluesforelementsandattributes定义了元素和属性的默认值和固定值XMLSchemasaretheSuccessorsofDTDsXMLSchema是DTD的“接任者”WethinkthatverysoonXMLSchemaswillbeusedinmostWebapplicationsasareplacementforDTDs.Herearesomereasons:我们认为XMLSchema很快就会替代DTD,从而在大多数的网络应用程序中广泛使用。XMLSchemasareextensibletofutureadditionsXMLSchema对将来的附加内容是可扩展的XMLSchemasarericherandmorepowerfulthanDTDsXMLSchema内容比DTD丰富,功能也更强XMLSchemasarewritteninXMLXMLSchema是用XML语言编写而成的XMLSchemassupportdatatypesXMLSchema支持数据类型XMLSchemassupportnamespacesXMLSchema支持命名空间XMLSchemaisaW3CStandardXMLSchema是W3C推荐的标准XMLSchemabecameaW3CRecommendation02.May2001.XMLSchema于2001年5月2日成为W3C推荐使用的标准。为何使用XMLSchemas?XMLSchemasaremuchmorepowerfulthanDTDs.XMLSchema比DTD功能更加强大。XMLSchemasSupportDataTypesXMLSchema支持数据类型OneofthegreateststrengthofXMLSchemasisthesupportfordatatypes.XMLSchema的最强大的功能之一就是它支持数据类型。Withsupportfordatatypes:支持数据类型的好处:Itiseasiertodescribeallowabledocumentcontent更易于描述允许使用的文档内容Itiseasiertovalidatethecorrectnessofdata更易于检验数据的有效性Itiseasiertoworkwithdatafromadatabase更易于与数据库中的数据一起协同工作Itiseasiertodefinedatafacets(restrictionsondata)更易于定义数据面(关于数据的限制)Itiseasiertodefinedatapatterns(dataformats)更易于定义数据样式(数据格式)Itiseasiertoconvertdatabetweendifferentdatatypes更易于将数据在不同的数据类型之间进行转换XMLSchemasuseXMLSyntaxXMLSchema使用XML语法AnothergreatstrengthaboutXMLSchemasisthattheyarewritteninXML.XMLSchema另一个好处就是他们是用XML编写成的。SomebenefitsofthatXMLSchemasarewritteninXML:用XML编写XMLSchema的好处是:Youdon'thavetolearnanewlanguage可以不需要再学习一种全新的语言YoucanuseyourXMLeditortoedityourSchemafiles可以使用XML编辑器来编辑Schema文件YoucanuseyourXMLparsertoparseyourSchemafiles可以使用XML解析器解析Schema文件YoucanmanipulateyourSchemawiththeXMLDOM可以使用XMLDOM处理SchemaYoucantransformyourSchemawithXSLT可以使用XSLT转换SchemaXMLSchemasSecureDataCommunicationXMLSchema安全数据通讯Whensendingdatafromasendertoareceiver,itisessentialthatbothpartshavethesameexpectationsaboutthecontent.当数据由发送者传递给接受者时,双方对“数据内容理解的一致性”就显得非常重要。WithXMLSchemas,thesendercandescribethedatainawaythatthereceiverwillunderstand.在XMLSchema里,发送者可以用接受者能够理解的方式描述数据。Adatelike:03-11-2004will,insomecountries,beinterpretedas3.Novemberandinothercountriesas11.March.像这样格式的日期:03-11-2004,某些国家会解释成11月3日,而某些国家可能会解释成3月11日However,anXMLelementwithadatatypelikethis:datetype=date2004-03-11/dateensuresamutualunderstandingofthecontent,becausetheXMLdatatypedaterequirestheformatYYYY-MM-DD.然而,通过一个包含标准数据类型的XML元素就可以解决这个问题,具体如下:datetype=date2004-03-11/date,这样就确保了双方都能够理解其中的内容。因为XML数据类型的date要求将格式规定为YYYY-MM-DD。XMLSchemasareExtensibleXMLSchema是可扩展的XMLSchemasareextensible,becausetheyarewritteninXML.因为XMLSchema文件是由XML编写的,所以它们是可扩展的。WithanextensibleSchemadefinitionyoucan:Schema的扩展性可以包含下述定义:ReuseyourSchemainotherSchemas在其它的Schema文件中再次再次使用你的SchemaCreateyourowndatatypesderivedfromthestandardtypes从标准的数据类型中派生出你自己的数据类型Referencemultipleschemasinthesamedocument在相同的文档中参考多种SchemaWell-FormedisnotEnough光有“规范”仍然是不够的Awell-formedXMLdocumentisadocumentthatconformstotheXMLsyntaxrules,like:规范的XML文档是符合XML语法规则的文档,具体如下:itmustbeginwiththeXMLdeclaration开头必须包含XML声明itmusthaveoneuniquerootelement必须有一个独立的根目录元素start-tagsmusthavematchingend-tags起始标签必须和结束标签匹配elementsarecasesensitive元素区分字母大小写allelementsmustbeclosed所有元素必须包含结束标签allelementsmustbeproperlynested所有元素必须被合理嵌套allattributevaluesmustbequoted所有属性值必须写在引号内entitiesmustbeusedforspecialcharacters实体必须被用于特定字符Evenifdocumentsarewell-formedtheycanstillcontainerrors,andthoseerrorscanhaveseriousconsequences.即使文档是规范的,它们也可能包含错误;并且,这些错误可能会引起严重的后果。Thinkofthefollowingsituation:youorder5grossoflaserprinters,insteadof5laserprinters.WithXMLSchemas,mostoftheseerrorscanbecaughtbyyourvalidatingsoftware.试着想想下述情况:你预定了5罗(1罗=12打=144台)激光打印机,而不是5台打印机。在XMLSchema文件里,大多数类似这样的错误会由检验软件产生。如何定制XSDXMLdocumentscanhaveareferencetoaDTDortoanXMLSchema.XML文档可以与一份DTD或XMLSchema相关联。ASimpleXMLDocument一份简单的XML文档LookatthissimpleXMLdocumentcallednote.xml:请看下面一份名为note.xml的简易XML文档:
本文标题:XMLSchema步步进阶
链接地址:https://www.777doc.com/doc-4276122 .html