XML模式文件中xs和xsd的区别?

Posted

技术标签:

【中文标题】XML模式文件中xs和xsd的区别?【英文标题】:Difference between xs and xsd in XML schema file? 【发布时间】:2010-11-14 16:19:39 【问题描述】:

XML 架构文件中的 xsxsd 前缀有什么区别?

【问题讨论】:

它只是 XML 模式命名空间的一个 XML 命名空间前缀,基本上你可以随意选择——xs 和 xsd 只是最常用的一个 【参考方案1】:

来自the XSD 1.0 spec on w3.org:

模式的 XML 表示 组件使用词汇表 由命名空间名称标识 http://www.w3.org/2001/XMLSchema。为了 简洁,本文中的文本和示例 规范使用前缀 xs: 来 代表这个命名空间;在实践中, 可以使用任何前缀。

到底 xsxsd 只是前缀。例如,Microsoft 架构更多地使用 XSD。

重要的是如何声明命名空间。

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  ...
</xs:schema>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  ...
</xsd:schema>

应该是等价的。

【讨论】:

所以简短的回答是,没有区别? 不!我花了一些时间来解决这个问题——不仅仅是xs/xsd——而是一般来说 XML 模式是如何工作的。另外,了解 DTD 和 XSD 之间的区别。【参考方案2】:

没有区别,只是选择问题

【讨论】:

【参考方案3】:

xs:xsd: 被称为命名空间前缀。它们是在根元素中使用xmlns 元素声明的。

按照惯例,人们倾向于选择xs:xsd: 并将其映射到http://www.w3.org/2001/XMLSchema。将两者都放在一个文档中会造成混淆,应该避免。

检查您的 xmlns 声明以确定命名空间是什么。

【讨论】:

以上是关于XML模式文件中xs和xsd的区别?的主要内容,如果未能解决你的问题,请参考以下文章

针对多个模式定义验证 XML 文件

在xml中xsd:schema和xs:schema是一个意思吗

使用 XSD 文件生成 XML 文件

XML的验证模式DTD与XSD的区别

xsd文件怎么引入进xml文档

使用 XSD 文件在 C# 中生成 XML 文件