XML Schema(译按:XML纲要,业界建议不翻)如W3C建议,发布于2001年五月,是许多XML纲要语言中的一支。它是首先分离的于XML本身的纲要语言,故取得W3C的推荐地位。
像所有XML纲要语言一样,XML Schema有时用来表达一组纲要──一组XML文件必须遵守的规定,这样根据该纲要才‘合法(Valid)’。
然而,不像大部分其他纲要语言一样,XML Schema亦意图设计来确认在一收集来的资料与内附特殊资料型别的结果,它对开发XML文件处理软件有助益,不过同时召来了非议。
目录 |
因为有其他XML纲要语言存在,故在引用这W3C建议的语言时,使用XML Schema或W3C XML Schema,Schema永远字首大写。
一个XML Schema的实例是XML Schema定义(XML Schema Definition: XSD),而且通常它的档名后缀以".xsd"。该语言本身有时在通俗上说成XSD,虽然WXS(对W3C XML Schema来说)是更适当的字头集缩写(initialism)。
在它自己的参考资料附录里,XML Schema承认受到文件类型定义(DTD)和其他早期XML纲要成就如en:DDML、SOX、XML-Data、以及XDR的影响。它看来从每个老大哥都师法一点点,然而它也在这些老大哥标准间妥协。在这些老大哥语言里,XDR与SOX在XML Schema发布后仍继续通行一阵子。不少微软的产品支援XDR直到2001年十月MSXML 4.0的发布(MSXML 4.0抛弃了XDR改用XML Schema)。Commerce One, Inc支援它自己的SOX纲要语言直到该公司于2004年末破产。2004年十二月,Novell, Inc.购买了该公司包括那些与SOX相关的专利,据报道是尽力防止被某些不相关的、以打专利相关官司为生的公司剥削图利[1]。
经过XML Schema为基的验证后,依照验证意含的资料模型表达XML文件结构与内容是可能的。XML Schema资料模型包括:
这些讯息集成又叫后Schema验证资讯集(Post-Schema-Validation Infoset (PSVI))。PSVI赋予合法XML文件它的"型别"并促进以物件般处理文件,如使用面向对象编程(OOP)变化型般操作。
这种对XML资料存取的特别的面向对象编程实现主要为微软──对XML Schema发展的主要贡献者──所倡导。转换一份XML文件到自行资料型别感知物件在某些软件设计部份相当有利。然而批评家争论这同时暗中破坏了开放性──XML的主要特征──并且它偏向于兼容原生于微软偏好的编程语言的资料型别[2]。
另,从XML Schema资料型别继承出去的(以及肇因于XML Schema资料型别的)限制、这些资料型别与其他XML Schema间受限的搭配、以及在其他W3C规格里这些资料型别的相依性,是许多XML软件发展师的争论焦点[3]。
一个描述给定的某个国家,非常简单的Schema范例如下:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="country" type="Country"/> <xs:complexType name="Country"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="population" type="xs:decimal"/> </xs:sequence> </xs:complexType> </xs:schema>
遵照该纲目的XML文件范例:
<country xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="country.xsd"> <name>France</name> <population>59.7</population> </country>
|
查 • 论 • 编 • 历
|
|
|---|---|
| 文档呈现语言 | HTML* - XHTML* - XML* - XForms* - DHTML* |
| 样式格式描述语言 | CSS* - XSL* |
| 动态网页技术 | CGI - ASP - ASP.NET - ColdFusion - JSP - PHP - Ruby on Rails |
| 客户端交互技术 | ActiveX - Java Applet - Flash - Flex - AJAX - XMLHTTP* AIR- Silverlight - JavaFX |
| 客户端脚本语言 | JavaScript - JScript - VBScript - ECMAScript - ActionScript |
| 标识定位语言 | URL - URI - XPath - URL重写 |
| 文档纲要语言 | DTD* - XML Schema* |
stock | retire | vm
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History