XSD

✍ dations ◷ 2025-11-12 14:17:16 #XSD
XSD (XML Schema Definition)是W3C于2001年5月发布的推荐标准,指出如何形式描述XML文档的元素。XSD是许多XML Schema 语言中的一支。XSD是首先分离于XML本身的schema语言,故获取W3C的推荐地位。像所有XML Schema 语言一样,XSD用来描述一组规则──一个XML文件必须遵守这些规则,才能根据该schema‘合法(Valid)’。然而,与其他XML Schema 语言不同,XSD意图设计为在确认一个文档的有效性时,将会产生满足特定数据类型的一个信息集合。这种后验证的XML信息集可用来开发XML文件处理软件。因为有其他XML schema 语言存在,故在引用这W3C建议的语言时,使用XML Schema或W3C XML Schema,Schema永远前缀大写。“XML Schema”在2001年5月成为W3C推荐标准。由于“XML Schema”作为一种W3C的推荐标准的名字与广义的XML Schema 语言存在名称上的混淆,用户社区的一部分人采用了“WXS”来称呼它, 用户社区的另一部分人采用“XSD”(XML Schema Definition首字母缩略字)来称呼它。W3C发布的1.1标准采用了“XSD”作为官方称呼。在官方文档的参考附录里,XSD标准承认受到]和其他早期XML schema 语言的影响,如DDML(英语:DDML)、SOX(英语:Schema for Object-Oriented XML)、XML-Data(英语:XML-Data)、以及XDR(英语:XML data reduced)。XSD从中吸收了一些特性,然而也在这些特性中有所折衷。这些早期schema 语言中的XDR与SOX在XML Schema发布后仍继续使用了一段时间。不少微软的产品支持XDR直到2006年十二月MSXML 6.0的发布(MSXML 6.0抛弃了XDR改用XSD) 。Commerce One, Inc支持它自己的SOX schema 语言直到该公司于2004年末破产。2004年十二月,Novell, Inc.购买了该公司,包括那些与SOX相关的专利,据报导是尽力防止被某些不相关的、以打专利相关官司为生的公司剥削图利 。著名的XSD建议的内容但在XML自己的DTD中不可用的特性是名字空间感知(namespace awareness)与数据类型。2012年4月, XSD 1.1成为W3C推荐标准。April 2012技术上说schema是元数据的一个抽象集合,包含一套schema component: 主要是元素与属性的声明、复杂与简单数据类型的定义。这些schema component通常是在处理一批schema document时被创建。schema文档包含着schema component的源语言定义。在日常使用中,一个schema文档常被称作一个schema。Schema文档通过名字空间组织起来:所有的被命名的schema component属于一个目标名字空间;这个目标名字空间是schema文档作为整体的一个属性。schema文档可以包含进来(include)使用同一名字空间的其它schema文档,也可以导入(import)使用不同名字空间的schema文档。当一个实例文档针对一个schema来验证有效性时(这一过程称为assessment),用来验证有效性的schema可以作为参数提供给验证器,也可以在实例文档中作为两种特殊属性之一直接提供:"xsi"是名字空间"http://www.w3.org/2001/XMLSchema-instance"的传统前缀。XML Schema Documents通常有文件扩展名".xsd". XSD还没有专门的互联网媒体类型,因此按照 RFC 3023使用"application/xml"或"text/xml" .主要的schema component有:其它更专门的schema component包括annotations, assertions, notations, 以及包含了schema整体信息的schema component.简单数据类型(simple type)包含了可以出现在元素或属性的文本值。这是XSD与DTD的最大区别。XSD提供了一套19个基本数据类型:可以从这些基本数据类型通过三种机制构建三种数据类型:XSD规范定义了25个导出数据类型。用户可以在schema中进一步定义自己的导出类型。Restriction机制包括指出最大最小值、正则表达式、限制字符串的长度、限制十进制数的位数等。XSD 1.1又增加了assertions, 即通过一个]表达式给出任意约束的能力。复杂数据类型描述了一个元素的许可内容。包括这个元素、属性、子元素的许可内容。复杂类型定义由一套属性使用与一个内容模型组成。内容模型可以是:复杂数据类型可以从别的复杂类型导出:XSD 1.1又增加了assertion方法来约束复杂类型, 即通过一个]表达式必须求值为真基于 Schema 的验证完成后,可以按照 Schema 所隐含的数据模型来表达文档的结构与内容。XML Schema 数据模型包括:这些信息的集合即为 Schema 既验信息集(Post-Schema-Validation Infoset (PSVI))。对于有效的 XML,PSVI 给它赋以特定的“类型”,从而便于以对象方式来处理整个文档,并应用面向对象程序设计(OOP)范式。XML Schema的主要用途是形式描述XML文档,然而最终的schema除了简单验证文档外还有许多其他用途。Schema可用于生成代码,这称作{[tsl|en|XML Data Binding}}。这些代码允许XML文档的内容作为编程环境中的对象。Schema可用于产生人可读的文档来描述一个XML文件的结构。这在作者利用了标记元素(annotation element)时非常有用。虽然XML Schema获取了广泛的成功应用,但也受到了大量严厉的批评,远超出其他W3C推荐标准。下述研究者很好地总结了这些批评:James Clark, Anders Møller与Michael Schwartzbach, Rick Jelliffe,David Webber.一般问题:表达能力的实践限制:技术问题:一个Schema的简易示例,描述某个指定的国家,是这样的:一份遵从这个视图的XML文件:

相关

  • 广泛耐药结核广泛耐药结核(Extensively drug-resistant tuberculosis,即XDR-TB)是结核病的一种,专指对利福平(rifampicin)和异烟肼(isoniazid)具抗药性(对这些一线治疗结核药物具有抗药性的结核称
  • 浓差电池一个浓差电池是一个有限伽凡尼电池,有两个相同化合物但不同浓度的半电池,可使用能斯特方程计算出电池的电压。一个浓差电池的电压在尝试达到化学平衡会不断下降,直至两个半电池
  • 亚美大陆亚美大陆(Asiamerica)是一块由劳亚大陆形成的大陆,而浅海将之分为位于西方的欧亚大陆与位于东方的北美洲。存在于白垩纪晚期到始新世,并在第四纪更新世再次出现。5千万年内,这块
  • 牛顿定律牛顿运动定律(英语:Newton's laws of motion)描述施加于物体的外力与物体所呈现出的运动彼此之间的关系。这定律被誉为经典力学的基础,是英国物理泰斗艾萨克·牛顿所提出的三条
  • 尿嘧啶尿嘧啶(Uracil /ˈjʊərəsɪl/,简写U),是组成RNA的四种碱基之一。在DNA的转录时取代 DNA 中的胸腺嘧啶,与腺嘌呤配对。将尿嘧啶甲基化即得胸腺嘧啶 (T)。
  • 氮-13氮-13符号为13N,是氮的放射性同位素之一,原子核包含7个质子和6个中子,半衰期仅9.965分钟,放射性很强。它可以由质子轰击氧-16的原子核得到:1H + 16O → 13N + 4He由于氮-13衰变会
  • 爱米尔·贝利纳爱米尔·贝利纳(德语:Emile Berliner,1851年5月20日-1929年8月3日),也译作埃米尔·贝林纳、埃米尔·玻里纳、艾米利·伯林纳,德裔美国发明家,以改进电话技术和留声机唱片而知名。贝
  • 齐 康齐康(1931年10月26日-)原名齐毓康,原籍浙江天台,生于江苏南京,建筑学家、建筑教育家,东南大学教授,东南大学建筑设计研究院总顾问,中国科学院院士,法国建筑科学院外籍院士,国家建筑设计
  • 乌德勒支乌得勒支(荷兰语:Utrecht)是荷兰第四大城市和市镇,为荷兰乌得勒支省人口最多的城市,同时也是该省的省会。其为兰斯台德地区最东边的城市,也是荷兰第四大城市,2009年人口超越300,030
  • 道母道母信仰又称“母道教”(越南语:Đạo Mẫu),是越南特有的民间信仰。其根源自于中国道教,属于道教在越南发展衍生的一个分支。道母信仰原自早期道教来自黄巾之乱时期的五斗米道,其