1

我知道 XSD 是用于验证 XML 的 xml 模式定义语言文件,就像 DTD 所做的那样,但现在我真的怀疑它是 xml 文件还是数据集文件?背后的原因是,我有 c# 项目包含木材数据.xsd,但是当我打开时,我可以看到很多数据表,这意味着那是数据集文件??。但实际上我所知道的 xsd 是用于验证 xml 的模式文件,当我检查我们的数据库时,mydata.xml我可以看到如下所示的条目

<?xml version="1.0" standalone="yes"?>
<timberdataSchema xmlns="http://tempuri.org/timberdata.xsd">

所以这个xml文件是模式文件我的意思是xsd文件还是我在我们的项目“timberdata.xsd”中看到的包含很多数据表所以数据集。

另一个问题是,当我检查属性时,timberdata.xsd我可以看到 Customtool 条目充满了“MSDataSetGenerator”,这是什么意思?我可以看到与“timberdata.xsd”一起,木材数据.xsc 和木材数据.xss 都是 xml 格式,即 xsd 文件?

4

2 回答 2

4

XSD 始终是一个 XML 文件(XML 是一种格式,它没有定义任何关于数据是什么的内容)。

XSD 可以轻松定义父子关系和定义表所需的基本类型限制 - 因此可以用作数据库模式。“MSDataSetGenerator”是“自定义工具”,它在保存 XSD 时从 XSD 构建所需的任何文件/二进制文件。

这是自定义工具的说明 -单文件生成器以及如何在注册单文件生成器中注册MSDataSetGenerator 。

如果你愿意,XSD 也可以定义奇怪和复杂的东西......

于 2012-04-13T16:44:15.290 回答
0

我想您是在询问文件扩展名。Windows 和 Unix 是相当古老的操作系统,没有任何与文件相关的可靠类型信息,因此它们试图从文件名的最后部分(和/或文件的前几个字节)猜测文件中的内容!)。但是文件扩展名只是约定俗成的问题;例如,没有标准的文件扩展名注册表,也没有什么可以阻止任何人创建扩展名为 .xml 且不包含 XML 的文件。因此,扩展名为 .xsd 的文件可以包含任何内容。

事实上,操作系统通常允许用户或系统管理员在文件扩展名和特定程序之间建立关联,因此您可以将 .xsd 扩展名与 XML Schema 处理器相关联。但是其他人可能会将相同的扩展名与“数据集文件处理器”(无论是什么)相关联,这两者都不是对的或错的。

于 2012-04-15T17:16:02.357 回答