先问个问题,在数据库中使用一个表以前,需要做什么?需要创建一个表的描述,对吗?这个描述规范了这个表各个字段的规格。这个描述就是 Schema.
xsd 就是 XML Schema 文件的后缀。 它用来说明一份符合 schema 规范的数据应该是什么样的,数据中各个节点的属性有哪些,这些属性的取值约束....
当然,你会看到有很多 xml 文档并没有 schema 或者 DTD,但是不可否认,在文档的编制者与使用者之间对 xml 数据还是有一定约束的,只是有时因为懒异或确实很难描述(如 ANT)具体xml数据的规范,所以就没有 schema 的存在。
放大来看,计算机世界里的数据基本是按这种方式来操作的,首先需要一个定义,然后才使用。